wx.config调用成功,但jsApiList['scanQRCode']不起作用
https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/JS-SDK.html#4
公众号使用的是测试公众号,
公众号appid:wx5590aec82cd92ccb
公众号secret:d74afcd7e8f89d44af2419eb2f2cff55
后台代码:
//获取token
GET https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=wx5590aec82cd92ccb&secret=d74afcd7e8f89d44af2419eb2f2cff55
//获取ticket,通过上面api获取到ACCESS_TOKEN
https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=ACCESS_TOKEN&type=jsapi
//通过上面api获取到ticket,url通过前端传入 然后go语言生成签名
keys := []string{"noncestr", "jsapi_ticket", "timestamp", "url"}
sort.StringSlice.Sort(keys)
obj := map[string]string{
"noncestr": uuid.New(),
"jsapi_ticket": ticket,
"timestamp": strconv.FormatInt(now, 10),
"url": url,
}
for index, v := range keys {
keys[index] = utils.Join(v, "=", obj[v])
}
string1 := strings.Join(keys, "&")
string1 = utils.Sha1(string1)
//生成签名后台返回给前端结果:
{
"appId": "wx5590aec82cd92ccb" , // 必填,公众号的唯一标识
"timestamp": obj["timestamp"], // 必填,生成签名的时间戳
"nonceStr": obj["noncestr"], // 必填,生成签名的随机串
"signature": string1, // 必填,签名
}
前端代码
//前端拿到后台签名
wx.config({
debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
appId: appId, // 必填,公众号的唯一标识
timestamp: timestamp, // 必填,生成签名的时间戳
nonceStr:nonceStr, // 必填,生成签名的随机串
signature: signature,// 必填,签名
jsApiList: ["scanQRCode","getLocalImgData"] // 必填,需要使用的JS接口列表
});
//结果如下:scanQRCode不能初始化