首先:开发版本的测试,我发现onShareAppMessage回调 return 的 {title,path,imageUrl}貌似都没起到作用,但明明回调已经执行了!
其次:我发现,这种被分享的情况进入小程序的,都是有点奇葩,它是直接进入到对应的页面,我本来做了统一入口page,来处理以下的问题的!
问题是什么?我需要保证新用户从分享进来的时候进行一次自动登录!后面才能够正常的浏览被分享的内容!
为什么开发板测试,onShareAppMessage回调处理return自定义的内容不生效。这个不符合逻辑啊!
哈哈哈哈哈哈哈哈哈!
我终于知道原因了,是async function 导致背锅!async 要不得。
试问官方,你们会把这个程序编译成什么目标代码?难道没有处理成如下的代码??
let customShare = __await __pageFrame.onShareAppMessage(obj)
而你们的代码是:
let customShare = pageFrame.onShareAppMessage(obj)
理所当然的,后面的代码当然会有问题,因为返回了个Promise,解析不了啊!
如果做如下的改进则可以支持两种情况:
let result = pageFrame.onShareAppMessage(obj)
let customShare = result instanceof Promise ? await result : result
// call wechat show share…
又可以提需求给官方了。