小程序页面分享到聊天之后的消息被他用户点击进入小程序是怎么个执行过程?
发布于 5 年前 作者 wfeng 14800 次浏览 来自 官方Issues

首先:开发版本的测试,我发现onShareAppMessage回调 return 的 {title,path,imageUrl}貌似都没起到作用,但明明回调已经执行了!

其次:我发现,这种被分享的情况进入小程序的,都是有点奇葩,它是直接进入到对应的页面,我本来做了统一入口page,来处理以下的问题的!

问题是什么?我需要保证新用户从分享进来的时候进行一次自动登录!后面才能够正常的浏览被分享的内容!

为什么开发板测试,onShareAppMessage回调处理return自定义的内容不生效。这个不符合逻辑啊!

3 回复

哈哈哈哈哈哈哈哈哈!

我终于知道原因了,是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…

又可以提需求给官方了。

测试第一步:打印”origin“和”path“这两个值。

测试第二步:把打印的path值复制到添加编译模式中,在onLauch或onLoad打印参数。

虽然没有解决问题,但至少有思路。

你不贴代码 我又得靠猜了。代码写错了

回到顶部