微信分享功能踩坑(异步数据)

技术栈: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)
})
阅读 7.7k
2 个回答

最终问题还是解决了,但我还不是特别清楚原因,我是这样解决的:
在需要分享的页面重新请求签名即wx.config
参考:vue2实现微信分享坑点

我之前的做法是wx.config放在main.js里执行,然后存相应的数据到Vuex,反正这样做微信支付是没什么问题的。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题