单页应用「SPA」下微信 JSSDK 签名失败

最近在用 React 撸一个微信上的 SPA
因为组件是 Antd Antd-Mobile 结合来用,所以框架上是采用的 Dva
Dva 默认使用的是hashHistory 路由,但是我改成了 browserHistory
然后给自己挖了个天坑!

browserHistory 下,微信的 wx.config() 方法会取第一个页面的路由来校验签名
比如,你访问的是
http://www.demo.com/index
多次操作后路由变成了
http://www.demo.com/list
这时候你如果在 http://www.demo.com/list 进行签名,实际上微信校验签名的时候用的 urlhttp://www.demo.com/index
所以这个时候你会收到温馨提示 config:invalid signature
改回来 hashHistory 就好

这个问题只在 iOS 上才会出现  
猜测应该是 iOS 系统下微信的浏览器内核不兼容 browserHistory 导致的
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容