确认一下微信公众号的appId是否对应 jsapi_ticket是否过期 url传的是否有问题,先urlencode一下再给后端
微信公众号开发调用jssdk,配置时总是 invalid signature ,提示非法签名?首先贴上必要信息: 开发者ID(AppID):wx3806a4c78e7bf173 原始ID:gh_2314fcde77a4 [图片] [图片] 以上是公众号本身的配置 接下来放一下,我这边的config代码 [代码]const modeList = [[代码][代码] [代码][代码]'updateAppMessageShareData'[代码][代码],[代码][代码] [代码][代码]'updateTimelineShareData'[代码][代码],[代码][代码] [代码][代码]'onMenuShareAppMessage'[代码][代码],[代码][代码] [代码][代码]'onMenuShareTimeline'[代码][代码],[代码][代码]];[代码] [代码]const initConfig = async (res) => {[代码][代码] [代码][代码]const options = {[代码][代码] [代码][代码]debug: !isProd,[代码][代码] [代码][代码]appId: res.appId, [代码][代码]// 必填,公众号的唯一标识[代码][代码] [代码][代码]timestamp: res.timestamp, [代码][代码]// 必填,生成签名的时间戳[代码][代码] [代码][代码]nonceStr: res.nonceStr, [代码][代码]// 必填,生成签名的随机串[代码][代码] [代码][代码]signature: res.signature, [代码][代码]// 必填,签名,见附录1[代码][代码] [代码][代码]jsApiList: modeList,[代码][代码] [代码][代码]}[代码][代码] [代码][代码]console.log([代码][代码]'config options::----------------------------'[代码][代码], options);[代码][代码] [代码][代码]wx.config(options);[代码][代码] [代码][代码]// ready[代码][代码] [代码][代码]wx.ready(() => {[代码][代码] [代码][代码]console.log([代码][代码]'config success::----------------------------'[代码][代码]);[代码][代码] [代码][代码]// 分享到朋友圈[代码][代码] [代码][代码]wx.updateTimelineShareData({[代码][代码] [代码][代码]title: [代码][代码]''[代码][代码], [代码][代码]// 分享标题[代码][代码] [代码][代码]link: [代码][代码]''[代码][代码], // 分享链接[代码][代码] [代码][代码]imgUrl: [代码][代码]''[代码][代码], [代码][代码]// 分享图标[代码][代码] [代码][代码]success: [代码][代码]function[代码] [代码]() {[代码][代码] [代码][代码]// 用户确认分享后执行的回调函数[代码][代码] [代码][代码]},[代码][代码] [代码][代码]cancel: [代码][代码]function[代码] [代码]() {[代码][代码] [代码][代码]// 用户取消分享后执行的回调函数[代码][代码] [代码][代码]},[代码][代码] [代码][代码]});[代码][代码] [代码][代码]// 分享给朋友[代码][代码] [代码][代码]wx.updateAppMessageShareData({[代码][代码] [代码][代码]title: [代码][代码]''[代码][代码], [代码][代码]// 分享标题[代码][代码] [代码][代码]link: [代码][代码]''[代码][代码], // 分享链接[代码][代码] [代码][代码]imgUrl: [代码][代码]''[代码][代码], [代码][代码]// 分享图标[代码][代码] [代码][代码]desc: [代码][代码]''[代码][代码], [代码][代码]// 分享描述[代码][代码] [代码][代码]success: [代码][代码]function[代码] [代码]() {[代码][代码] [代码][代码]// 用户确认分享后执行的回调函数[代码][代码] [代码][代码]},[代码][代码] [代码][代码]cancel: [代码][代码]function[代码] [代码]() {[代码][代码] [代码][代码]// 用户取消分享后执行的回调函数[代码][代码] [代码][代码]},[代码][代码] [代码][代码]});[代码][代码] [代码][代码]})[代码][代码] [代码][代码]// error[代码][代码] [代码][代码]wx.error((res) => {[代码][代码] [代码][代码]console.log([代码][代码]'catch config error :: =============== ::'[代码][代码], res);[代码][代码] [代码][代码]})[代码][代码]}[代码]以上代码执行之后出现如下问题 [代码]{[代码][代码] errMsg: [代码][代码]"config:fail,Error: 系统错误,错误码:63002,invalid signature [20190919 17:06:41][]"[代码][代码] jsApiList: [][代码][代码]}[代码]差了错误代码之后,发现是非法签名,好了,我先去了https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=jsapisign这个校验网站校验了,signature 没有问题两边一致,但是config一直提示非法。 然后我去了https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/JS-SDK.html这边看常见解决办法。试了个遍。然而并没有效果,另外,恕我直言这个文档真实辣鸡。可能你们的核心已经是小程序了,但是小程序的BUG也一堆没修。 [图片] 然后吐槽一下,这个错误码的返回,之前有返回过config:fail,Error: 系统错误,错误码:63002,invalid signature [20190919 17:06:41][undefind] 这样的格式,还不容易变成 config:fail,Error: 系统错误,错误码:63002,invalid signature [20190919 17:06:41][] 这样我也不知道啥问题,就这几个参数,咱写写明白行不,URL错就提示URL错,就一个签名错误???wtf,这里太笼统了! 好了说到URL错,好网上说99%的错误都是URL导致的,好的尝试了各种办法,并没有什么用,已经调试了不知道几天了,最后只能哀求官方帮我解决一下,帮我看看问题到底在哪里,头发都要秃了。 我用的是SPA (vue) HASH模式(https://xxx.com/#/)取得地址为 https://xxx.com/ 单凡我有一点办法都不会来这请教 综上,请赐教!求快速反馈! 顺便吐槽,标题为什么一定要问号,我就是个陈述句,阐述问题而已!
2019-09-19你先把这个接口每次请求的原始信息全打印出来看看再说
第三方平台授权,接收不到 ticket ?第三方平台授权,接收不到 ticket 时间 2019/09/19 16:25:21 没拿到ticket 平台appid wxfaeadc4af9c39d21 授权地址 : http://2655qz7543.wicp.vip/api/WeiXinService/Open/Notice
2019-09-19是不是返回的是xml 你解析不到参数,打印一下回调请求的原始内容
app支付成功了 也唤起了回调,但回调里面什么数据都没有!!!!!!!支付成功了后我的回调也访问到了,但回调里什么都没有 空的 这个这么搞 啊啊啊 要掀桌子了啊
2019-09-19可能传给后端要验签的url有问题,建议传给后端的时候用URL编码一下再传过去,让他自己解码一下
签名校验工具得到的结果正确,但是接口返回错误签名校验工具得到的结果正确,但是接口返回错误
2019-09-19