公众号分享兼容IOS——签名失效

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
喜欢就支持一下吧
点赞0 分享