微信JS-SDK中遇到的的坑

567 阅读1分钟

一. “invalid signature”

  • 问题

在安卓上可以正常获取位置,就只是在ios上一直“invalid signature”,打印出来的当前url跟签名的url也明明是一致的,为什么还是签名有问题呢!!???

  • 原因

IOS:微信IOS版,每次切换路由,SPA的url是不会变的,发起签名请求的url参数必须是当前页面的url就是最初进入页面时的url;

Android:微信安卓版,每次切换路由,SPA的url是会变的,发起签名请求的url参数必须是当前页面的url(不是最初进入页面时的)

  • 解决方案:

全局存储进入SPA的url(window.entryUrl),

Android,依旧是获取当前页面的url;

IOS,就使用window.entryUrl,然后签名。