网页加载完后加载微信 jssdk,从 a 页面点击进入 b 页面,报 config:invalid signature,但是刷新一下 b 页面就可以了,应该不是签名问题,我把参数写死,链接进入还是会失败,只要刷新当前页面就没问题,请问有遇到这种情况的吗?
下面几点反复测试是没有问题的:
jsapi_ticket 和 access_token 获取和缓存
url 去掉#号后面的东西
config 中的 nonceStr 是大写 S
签名用微信官方提供的工具验证经没问题( http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=jsapisign )
ip 加入白名单
1
pubby 2019-03-25 15:19:40 +08:00 via Android
spa ?
ios 下始终用进入页的 url 签名就行 |
2
wangwenfan OP @pubby 不是 spa
|
3
zhea55 2019-03-25 15:35:35 +08:00
会不会是触发时机,早于微信 sdk 初始化。
可以做成按钮,点按钮再触发 wx 的方法。排除时机的问题。 |
4
zw1234 2019-03-25 18:43:21 +08:00
签名的 url、分享的 url 要和当前页面域名一模一样
|
5
chinvo 2019-03-25 18:46:47 +08:00
你用 js 把要签名的 url ( window.location.href )发给后端,后端生成签名之后然后 json,然后生成的 json 传递给 wx.init 试试看
|
6
johnniang 2019-03-25 21:50:04 +08:00
建议在签名算法部分打出详细的日志,或者直接断点调试。看看签名时各个参数的值是否为预期值。
|
7
yushiro 2019-03-25 22:01:26 +08:00 via iPhone
用微信的开发工具啊,会显示当前 config 的具体错误信息
|
8
waveless 2019-03-25 23:28:28 +08:00
IP 白名单
|
9
waveless 2019-03-25 23:29:50 +08:00
没看全,最近刚遇到一个,阿里云主机有公有和私有 IP,原先只设置了公有 IP,把私有 IP 加进去就好了。
|
10
brickyang 2019-03-25 23:38:25 +08:00 via iPhone
页面加载完就签名,然后从 a 页面进 b 页面签名失败,听起来不像是签名用的 a 页面的 url 然后在 b 页面报错嘛?
|
11
liuzhedash 2019-03-26 09:15:40 +08:00
感觉仍然是 url 的问题:微信 jssdk 拿到的 url 和你认为的 url 不同
|