小程序onShareAppMessage有点迷

小程序遇到的问题

起因

目前项目需求是分享时携带参数去进行裂变,但是在查看微信文档后发现有onShareAppMessage这个页面处理事件可以使用。事件可以使用return一个Object,用于自定义转发内容。

文档对return出去的Object对象是有要求的,并且写到可以在里面返回promise,并将以promise返回的内容为准。但是在这里使用官方的例子怎么都获取不到id。

于是我突发其想,他的意思该不会是存在promise的时候,return出去的其他选项是不生效的吧???

img

实验:

这里通过开启一个node服务,让同事按入我的转发链接来进行测试,在微信官方的onLoad生命周期中发送网络请求的方式来查看是否是获取到官方例子中的id:

img

 

结果:

删掉官方例子中的promise,成功获取到id

img

没删掉官方的pormise,不能获取到id

img

 

结论:

官方在文档中定义了一个promise,并且promise返回的内容中的title内容跟return出去的内容是相同就算了,更奇幻的是,所说的以promise返回的结果为准的真实理解应该是,如果return对象存在promise,则return出去的只是promise返回的对象,所以他官方return出去的例子应该是这样的:

img

 

最后:

你可能说我是不看文档,但是我觉如果我只是单纯想通过网络请求或者其他异步方式来获取转发出去的title,并不想更改path的内容时,这样的文档不是很误导人吗?

 

 

posted @ 2021-12-08 14:09  公吧菜腿  阅读(3333)  评论(1编辑  收藏  举报