微信分享功能踩坑(异步数据)
技术栈:vue + vue-router + vuex
问题描述:
分享某个页面是总是显示的:页面title + url链接 + 默认的图片
但我想要的是自定义title,desc,img,shareData里面的数据都是后台获取的,我想可能是因为数据是异步的,还没有初始化完成的时候wx.onMenuShareAppMessage就执行了,因为我在控制台看到wx.ready()里的代码比数据get的代码更先执行,就怀疑这个是这个原因
======================原来的问题
我用的vue框架,这种情况改怎么处理,wx.onMenuShareAppMessage没有传入正确的参数会默认用原始的方式分享,我想用我传入的参数,怎么让 wx.onMenuShareAppMessage等shareData初始化完毕
wx.ready(()=>{
shareData = { //异步获取
title: '',
desc: '',
imgUrl: '',
link: '',
};
wx.onMenuShareAppMessage(shareData)
})
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
最终问题还是解决了,但我还不是特别清楚原因,我是这样解决的:
在需要分享的页面重新请求签名即wx.config
参考:vue2实现微信分享坑点
我之前的做法是
wx.config
放在main.js
里执行,然后存相应的数据到Vuex
,反正这样做微信支付是没什么问题的。