微信jssdk签名

只有也有做过微信公众号相关的开发,也做过微信签名和微信支付.但是一直没有总结问题,这次开发公众号又掉进了微信签名的坑,所以再此总结一下,以此为鉴.

首先我们的项目是 spa 单页应用,如果是传统的服务器渲染模板则不回遇到签名的相关问题.

先上官方文档说明:

所有需要使用 JS-SDK 的页面必须先注入配置信息,否则将无法调用(同一个 url 仅需调用一次,对于变化 url 的 SPA 的 web app 可在每次 url 变化时进行调用

我们按照微信官方文档的 demo 进行配置,基本上是没有什么问题的,android 上一切正常,但是 ios 却频繁出错.后来查阅资料后发现,ios 上只有第一次进入应用的 url 才会签名成功,具体原因如下:

那既然知道了产生的原因,那就好办了,我们根据不同的浏览器来配置不同的签名 url.这样基本解决了我们的问题.但是出现了一个新问题,因为我们是在每次路由跳转结束后进行签名,但由于网络原因,签名不能保证 100%成功.暂时所想到的解决方案是本地签名.

[越努力,越幸运!]