vue中使用微信 jssdk 包签名错误但签名验证通过了嗷

微信公众号 绑定连接 ,使用公众号中的 定位 不得不用 微信的 jssdk

然后 npm install weixin-js-sdk
再所需要的页面中 import wx from 'weixin-js-sdk'

然后 在

 created() {
    let url = window.location.host.split('#')[0]
    R.a.a({
      local: url
    }).then(resp =>{
      if(resp.ok){
        wx.config({
          debug: true, // 开启调试模式,调用的api的返回值 若要查看传入的参数,可以在pc端打开,参数自动Log出来
          appId: resp.data.appId, // 公众号的唯一标识
          timestamp: resp.data.timestamp, // 生成签名的时间戳
          nonceStr: resp.data.nonceStr, // 生成签名的随机串
          signature: resp.data.signature,// 签名
          jsApiList: ['getLocation'] // 必填,需要使用的 位置服务 JS接口列表,各项JS接口 参照 微信JSSDK文档附录1
        });
        wx.ready(function () {
          // 检测是否支持微信Js接口
          wx.checkJsApi({
            jsApiList: [
              'getLocation'
            ],
            success: function (res) {
              console.log('success',res);
              if (res.checkResult.getLocation == false) {
                this.$toast('你的微信版本太低,请升级到最新的微信版本!');
                return;
              }
            }
          });
          wx.getLocation({
            // 获取 当前位置信息(经纬度,如需转换实际地址,需引用第三方转换)
            success: function (res) {
              console.log('定位信息',res)
              var latitude = res.latitude; // 纬度,浮点数,范围为90 ~ -90
              var longitude = res.longitude; // 经度,浮点数,范围为180 ~ -180。
            },
            cancel: function (res) {
              Message("用户拒绝授权获取地理位置");
            }
          });
        })
        wx.error(function(res){
          console.log('error',res);
        });
      }
    })
  },

然后就报错
clipboard.png
但是 后端验证 签名 验证是对的 w
网上搜问题, 很多说解决了 但也不说是怎么解决的 好烦啊 (┬_┬) 有没有大神给解答解答哇

阅读 3.5k
1 个回答

让后端给你jsapi_ticket和appid
自己上http://mp.weixin.qq.com/debug...
生成一个签名 然后放到代码里试试。
如果可以成功,那就是后台的问题了(十有八九就是后台签名不对)。

我之前也是这样,服务器死活说自己签名是对的,和校验工具里面的一样,但是到我这里就是签不成功。
我就找他要了jsapi_ticket自己去工具上生成签名,然后就通过了。
但是服务器还说自己签名没错。
最后是技术总监来看他代码,发现他代码有问题。
白白浪费我一个小时。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进