H5调微信扫一扫功能


移动端的h5项目调用微信扫一扫功能,可参考微信官方文档“微信开发文档—公众号”中,调用扫一扫接口后 测试,这个是必须在手机上测试的。

微信授权

微信授权
(后端) 写一个接口给给前端,获取使用扫一扫功能的当前页url, 通过access_token获取jsapi_ticket,然后生成JS-SDK权限验证的签名

后端返回一下参数

appId: ‘公众号appid’,     
timestamp: ‘ 时间戳 ’   
nonceStr: ‘ 生成签名的随机串 ’        
signature :‘签名’      

调 “ 扫一扫 “

前端拿到以上参数,调用wx.config

wx.config({
  debug: wxConfig.debug,
  appId: wxConfig.appId,
  timestamp: wxConfig.timestamp,
  nonceStr: wxConfig.nonceStr,
  signature: wxConfig.signature,
  jsApiList: ['scanQRCode'],
});
wx.ready(() => { //通过ready接口处理成功验证
  wx.scanQRCode({
    needResult: 1, // 默认为0,扫描结果由微信处理,1则直接返回扫描结果,
    scanType: ["qrCode", "barCode"], // 可以指定扫二维码还是一维码,默认二者都有
    success: function (res) {
      var result = res.resultStr; // 当needResult 为 1 时,扫码返回的结果
      result = result.split(',')[1];    //处理返回的upcCode码
      Toast.info(`扫码${result}`);
    },
    error: function (error) {
      Toast.fail(error) }
  })
});
wx.error(function (res) {
  console.error(JSON.stringify(res));
  Toast.fail('微信发生了错误!', 3);
});

文章作者: yinol
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 yinol !
  目录