我在访问下面接口之前已经在后台获得了正确的access_token,ticket。后台是java实现。并且确认了签名算法sha1是对的.
对照了https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/JS-SDK.html#62
的附录5,JS接口安全域名也已经设置(我也试过不要url这个参数,也是不成功),每一步应该都没什么问题了。实在不知道该怎么办了
http.postJson(com.serverurl+"/getWXData",
{
access_token:com.wxData.access_token,
ticket:com.wxData.ticket,
nonceStr:com.wxData.nonceStr,
timestamp:com.wxData.timestamp,
url:"https://www.tallen.cn/tlyl?roomNum="+com.roomNum
},
function(flag, res) {
console.log("getWXData res",res)
if(res.code === 20000 && res.data != null){
let wxData = res.data
console.log("get wxData",wxData)
com.wxData = wxData
wx.config({
debug: true, // 开启调试模式,调用的所有 api 的返回值会在客户端 alert 出来,若要查看传入的参数,可以在 pc 端打开,参数信息会通过 log 打出,仅在 pc 端时才会打印。
appId: com.appId, // 必填,公众号的唯一标识
timestamp: com.wxData.timestamp, // 必填,生成签名的时间戳
nonceStr: com.wxData.nonceStr, // 必填,生成签名的随机串
signature: com.wxData.signature,// 必填,签名
url:com.wxData.url,
jsApiList: ["updateAppMessageShareData","shareAppMessage"] // 必填,需要使用的 JS 接口列表
});
}
}
);
get wxData的日志数据:
access_token: "64_68TSUY7Z37upZ2ZQYgkC_OFAnrkyI_GlSTzwexbhaL8Y9m7zy-x-9ZPSHiq8SPrsswkxFk3TLoczlI73it8iq51_6oKINBurf28nFmJdZN_x2hgllUYruLqOcPEIGUfAEAQOC"
nonceStr: "Wm3WZYTPz0wzccnW"
signature: "415063a1fb2440e60a10e98ebea063a0c3243913"
ticket: "LIKLckvwlJT9cWIhEQTwfD5LY1SqD5rvlknBDG18Ezp4WBstc0dizTuTQwFygboqswsYq2URYgy48EQCunplDg"
timestamp: 1414587457
url: "https://www.tallen.cn/tlyl?roomNum=24"
截图一下代码片段。上面格式不好看
这是设置域名的。不知道是否有问题,但是我不放url参数也是签名失败,从官方文档上的例子它是没有url参数的我想我不要应该没事才对。反正不管要不要都不成功