wx.config调用成功,但jsApiList['scanQRCode']不起作用
发布于 5 年前 作者 xiaming 4340 次浏览 来自 官方Issues

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不能初始化


1 回复

检查后台配置的安全域名,打印当前页面域名

回到顶部