单页应用「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 导致的

你可能感兴趣的:(单页应用「SPA」下微信 JSSDK 签名失败)