第一个坑:路由跳转到当前分享页面打开debug测试环境,提示我当前页面是上一个页面的路由,这样会导致生成的签名signature不匹配,后面我使用window.location.href方式进行跳转当前页面解决了这个问题...大家如果有更好的方式请告诉我
第二个坑:当时测试qq分享没问题,但是微信分享一直以链接形式进行分享,啊呀真的急死我了,后面才知道,因为我测试是以链接形式点进去进行测试,微信内部机制不支持这样,从网上生成一个二维码扫码进入进行测试就没问题了,公众号进入也没问题哈。
updateAppMessageShareData分享的具体代码
// 先判断是否是微信浏览器
const ua = navigator.userAgent.toLowerCase()
if (ua.match(/MicroMessenger/i) == 'micromessenger') {
wx.config({
debug: false,
appId: '123456789',
timestamp: data.timestamp,
nonceStr: data.noncestr,
signature: data.signature,
jsApiList: ['updateAppMessageShareData']
});
wx.ready(function () {
wx.updateAppMessageShareData({
title: '电子保单.pdf',
desc: '电子保单预览',
link: 'https://aaa.pdf,
imgUrl: 'https://placehold.it/200x200',
});
});
}
插句嘴:如果是其他浏览器想分享可以参考nativeshare