Question:
在分享朋友(朋友圈),在安卓上可以分享,在IOS上报:签名失效。
Why:
IOS: 每次切换路由,SPA的url是不变的,【是最初进入页面时的url】
Android: 每次切换路由,SPA的url是会变的。【不是最初进入页面时的】
Answer:
由于,发起签名请求的url参数必须是当前页面的url。
所以,在路由初始化或路由切换的钩子中对地址进行存储,在分享时通过设备类型,判断发起签名时要使用的Url。
// 切换路由前
const routerOnChange = () => {
if(!window.wxSignatureUrl) window.wxSigntureUrl = window.location.href;
}
// 调用签名接口前
if(!!navigator.userAgent.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/){
signatureUrl = window.wxSignatureUrl
}
signatureUrl = window.location.href;
复制代码
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END