最近项目在调用微信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
还望不吝赐教
看你上面代码应该是nonceStr的问题,nonceStr是一个随机的字符串,你上面是写死的,nonceStr应该由后台提供,应为生成signature时对应的nonceStr