问题描述:
1、请求后台获取了微信配置参数并配置了微信参数后
2、在ios手机上显示验签失败,功能无法使用。
3、在微信开发者工具、安卓端验签成功,功能正常。
4、经测试,ios端刷新页面后,验签即正常,所以,配置参数没有问题。
造成问题原因:
因为用的是vue单页spa,在单页spa方面vue的history在iOS中页面地址会始终为第一次进入的链接地址。而这里的授权会有一个获取openId的过程,所以就会有在iOS中授权失败的问题。
解决办法:
// 进行签名的时候 Android 不用使用之前的链接, ios 需要首次进入的地址链接
let u = navigator.userAgent
let isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1; //android终端
router.afterEach(async (to, from) => {
if (!isAndroid) { // IOS
if (window.entryUrl == '' || window.entryUrl == undefined) {
var url = location.href.split('#')[0]
window.entryUrl = url
} else {
console.log('IOS2', window.entryUrl)
}
} else { // 安卓
window.entryUrl = location.href.split('#')[0]
}
})
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)