最近在做微信网页开发,用的是 wechat 这个 gem。iOS 上,目前生成的网页,首页没问题,一旦点击一次链接就会出现 invalid signature 错误。
搜索了很多相关关键词,甚至关于 React 的微信网页开发的。都没找到什么可以利用的资料。 很想用 turbolinks,但是现在看来只能关闭了。奇怪的是为什么 Android 正常 iOS 不正常,按理说 iOS 的浏览器应该更稳定才对。
最近在做微信网页开发,用的是 wechat 这个 gem。iOS 上,目前生成的网页,首页没问题,一旦点击一次链接就会出现 invalid signature 错误。
搜索了很多相关关键词,甚至关于 React 的微信网页开发的。都没找到什么可以利用的资料。 很想用 turbolinks,但是现在看来只能关闭了。奇怪的是为什么 Android 正常 iOS 不正常,按理说 iOS 的浏览器应该更稳定才对。
1
liuzhedash Jun 20, 2017
android 下微信浏览器使用的是 x5 内核,ios 下是 safari,这两者在 weixinjs 校验签名的时候相同页面的 URL 是有差别的
|
2
oott123 Jun 20, 2017
这个坑严格地说是 pushState 引起的。你搜索的方向偏了一点,所以没找到……
|
4
WildCat OP @liuzhedash 检查过签名用的 URL 了,没问题
|
6
icedx Jun 20, 2017 via Android
按理说 iOS 的浏览器应该更稳定才对
|
7
hiro0729 Jun 20, 2017
要你点击链接后输出下当前的浏览器的 url 是否改变, 微信签名需要后台签名的 url 和当前调用 jssdk 的页面的 url 一致, 才能生效的
http://qydev.weixin.qq.com/wiki/index.php?title=%E5%BE%AE%E4%BF%A1JS-SDK%E6%8E%A5%E5%8F%A3#.E9.99.84.E5.BD.956-.E5.B8.B8.E8.A7.81.E9.94.99.E8.AF.AF.E5.8F.8A.E8.A7.A3.E5.86.B3.E6.96.B9.E6.B3.95 一般 url 后面的#后的内容改变是无所谓的, 如果 url 的?后面的 querystring 变化了, 微信就不认原签名了 |
8
momocraft Aug 31, 2018
这个问题在最新版微信仍然存在,仍然没有看到阳光 lol
|
10
momocraft Aug 31, 2018
@WildCat 这个坑应该不止存在于 rails/turbolinks。SPA 开发者中也有讨论,如 https://github.com/Chooin/wechat-spa#%E5%BE%AE%E4%BF%A1%E5%88%86%E4%BA%AB
|
11
WildCat OP |
12
WildCat OP |