IOS 配置 微信 JS SDK 报 invalid signature签名错误

项目背景:Vue单页面 路由模式为hash 微信获取共享地址

遇到问题:见标题

解决方法:在给后端传当前url获取微信config的时候,要去掉hash路由#后面的内容,所以取url的方法为location.href.split(’#’)[0]。

补充:由于在ios和android中,location.href在spa页面的机制不同(不同在于ios是只要不刷新页面,href就不会改变),所以你要对相应的系统做适配。

最终解决方案:

var u = navigator.userAgent;
var isAndroid = u.indexOf(‘Android’) > -1 || u.indexOf(‘Linux’) > -1; //g
var isIOS = !!u.match(/(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端
let url=’’
if (isAndroid) {
url=location.href
}
if (isIOS) {
url=location.href.split(’#’)[0] //hash后面的部分如果带上ios中config会不对
}

你可能感兴趣的:(微信开发,前端,vue)