config:fail,Error: 系统错误错误码63002,invalid signature
这个报错官网其实有专门的目录解答 如下 [图片] 很多小伙伴 都说全部核查过了 没有问题,还是报错了。 一、首先先说第一种引发的问题 这也是我第一次遇到的问题 ,首先看使用微信jssdk的第一步[图片] 绑定域名,到底怎么绑定? [图片] 这里绑定域名 我开始绑定了ajax请求接口的域名 但是 我h5部署的时候并没有部署在绑定该域名的服务器上 假设我的h5部署在服务器A 而我的ajax请求的是服务器B的接口,会产生跨域,当时的办法就是让后端设置允许跨域访问 h5部署到服务器A后 比如访问首页是这样的 http://A域名/index.html 那么你的微信公众号绑定的安全接口域名就应该A域名 而不是B域名 。 一开始在这里搞了好久,然后,排查到该问题的方式就是,config 设置degug模式后 打包h5部署到服务器A中 利用公众号打开http://A域名/index.html 请求后端拿到签名后 校验签名 wx.config({
debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
appId: '', // 必填,公众号的唯一标识
timestamp: , // 必填,生成签名的时间戳
nonceStr: '', // 必填,生成签名的随机串
signature: '',// 必填,签名
jsApiList: [] // 必填,需要使用的JS接口列表
});
校验后 会弹窗出你的问题所在,如果签名没问题就会显示ok 如果有问题则会显示对应的问题 我第一次显示的是绑定url无效 才发现问题原来在第一步就错了。 二、生成秘钥的url 不能写死一开始我是参照这边文章 https://blog.csdn.net/qq_37802298/article/details/81945309 给后端参照的 后端直接copy 。 文章里面是写死的url 实际上 url不应该是写死的,应该由前端传给后端 三、access_token有效期问题我们先看看官方怎么说的 https://developers.weixin.qq.com/doc/offiaccount/Basic_Information/Get_access_token.html [图片] 只看第一段话即可 那要怎么做 可参考https://blog.csdn.net/u011062867/article/details/107014917的做法 对比上次生成签名时间,来决定是否重新获取access_token 来生成新的签名 以上就是两个会 触发系统错误码63002的场景 不一定符合所有 另外 如果是在微信开发工具上面是本地调试(就是html文件在本地) 那永远都会报63002的,除非你传给后端的url是写死的http://A域名/index.html, 而不是通过 window.location.href.split('#')[0] 获取传给后端