JSSDK 版本: 1.4.0
系统版本:iOS 15.0
问题:一直使用的项目在 iOS 15 中微信分享无法正常使用,打开 debug 报 config:invalid signature
详细信息:
公司项目中微信分享由 updateAppMessageShareData 配置,之前一直正常使用,但最近发现 iOS 15 中分享丢失标题、描述、图标。
打开 wx.config 的 debug 后发现 config:invalid signature。仅在 iOS 15 中复现,安卓、非 iOS 15 测试机、同事非 iOS 15手机均正常。
按照文档 https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/JS-SDK.html#66 排查过,6个排查点
1、2、4、5 iOS 15 和非 iOS 15 使用同样的代码,一直未更改过,可以确认无问题
3、6 涉及到 URL 不好修改线上代码,专门弄了个复现该问题的 demo 确认过,iOS 15 中 URL 中无 #、URL 无跳转&变更,但还是会 config:invalid signature
可以用这个 demo https://wow.liepin.com/preview/t1005883/20211011155812/share.html 查看。在 iOS 15 上就会显示签名无效
上图中,有标题图标的是非 iOS 15 手机,丢失标题的是 iOS 15
请问一下这个是什么问题,应该如何解决?
问题解决了吗?我也是类似的问题
webview里 config 报签名无效,又遇到过吗
可以用微信扫码查看 demo
是否有二次确认弹窗,如果有微信的二次确认弹窗 那么JSSDK就会失效。
扫码、点击分享的链接进入,没有这个拦截,但是还是报 config:invalid signature
await getScript('https://res.wx.qq.com/open/js/jweixin-1.4.0.js');
await getScript(
`https://open.${baseDomain}/weixinJs/getSignatureStr?accountType=1&ver=` +
time +
'&var=weixinConfigInfo'
);
let wx = window.wx;
let wxConfigInfo = window.weixinConfigInfo;
wx.config({
debug: true,
appId: wxConfigInfo.appId, // 企业号的唯一标识
timestamp: wxConfigInfo.timestamp, // 生成签名的时间戳
nonceStr: wxConfigInfo.nonceStr, // 生成签名的随机串
signature: wxConfigInfo.signature, // 签名
jsApiList: [
// 需要使用的JS接口列表
'hideAllNonBaseMenuItem',
'showMenuItems',
'onMenuShareTimeline',
'onMenuShareAppMessage',
'updateAppMessageShareData'
]
});
var shareConfig = {
title, // 分享标题
desc,
link,
imgUrl,
success, // 用户确认分享后执行的回调函数
cancel // 用户取消分享后执行的回调函数
};
wx.ready(function () {
wx.onMenuShareTimeline(shareConfig); // 分享到朋友圈
wx.onMenuShareAppMessage(shareConfig); // 分享给朋友
log('wx ready');
log(`UA: ${navigator.userAgent}`);
log(`url: ${window.location.href}`);
log(`ver: ${time}`);
log(`weixinConfigInfo: ${JSON.stringify(wxConfigInfo)}`);
window.wx.updateAppMessageShareData && window.wx.updateAppMessageShareData({
title: shareConfig.title, // 分享标题
desc: shareConfig.desc, // 分享描述
link: shareConfig.link, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
imgUrl: shareConfig.imgUrl, // 分享图标
success: function () {
log(`设置成功`);
}
});
});