vue-cli构建的前端项目下,调用js-sdk问题

最近项目在调用微信js-sdk时,wx.config总是错误提示:invalid signature
经过错误排查,确定了问题应该是出在了前端路由这一块
请问要配置js-sdk的话,vue-router的模式应该是history模式还是hash模式?js-sdk是路由每切换一次的时候获取一次,还是在app.vue里获取,然后其他组件调用?

下面是我配置的代码

var data = {
  url: window.location.href.split('#')[0],
  jsApiList: ['chooseWXPay']
}

get_jssdk(data)
  .then((res) => {
    wx.config({
      debug: true,
      appId: res.data.appId,
      timestamp: res.data.timestamp, // 必填,生成签名的时间戳
      nonceStr: res.data.noncestr, // 必填,生成签名的随机串
      signature: res.data.signature, // 必填,签名,见附录1
      jsApiList: data.jsApiList // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
    });

配置在微信js-sdk调试工具中也是正确的,但在微信web开发者工具中就是报config:invalid signature

还望不吝赐教

阅读 3k
1 个回答

看你上面代码应该是nonceStr的问题,nonceStr是一个随机的字符串,你上面是写死的,nonceStr应该由后台提供,应为生成signature时对应的nonceStr

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