网络中常见的问题,都有提到这里就不说了,我只提一下自己出现invalid signature签名错误的解决方法
在我解决了一系列参数值的获取问题后,在传入配置的时候还是出现了invalid signature签名错误
这时我就尝试将数值直接带入到config中,发现可以通过,所以考虑到config传入参数类型的严谨性,在每个字符类型的传入参数后面加上没有内容的字符(例如如appid+''),保证了传入参数类型的正确,这样子配置就通过了
function wxconfig(jsapi_ticket,noncestr,timestamp,appid){
var url=location.href.split('#')[0];
var string1='jsapi_ticket='+jsapi_ticket+'&noncestr='+noncestr+'×tamp='+timestamp+'&url='+url;
var str = CryptoJS.SHA1(string1, { asString: true });
wx.config({
debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
appId: appid+'', // 必填,公众号的唯一标识
timestamp:timestamp, // 必填,生成签名的时间戳
nonceStr: noncestr+'', // 必填,生成签名的随机串
signature: str+'',// 必填,签名,见附录1
jsApiList: ['checkJsApi',
'onMenuShareTimeline'
] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
});
}