h5调用微信扫一扫返回成功的结果

因为项目里有个扫描快递单直接得到快递单号的需求,就顺便研究了一下wxjdk

关键代码如下:

1.提前获取扫一扫获取权限   先调用后台的接口成功之后根据后台返回的值获取授权 wx.config 

2.调用微信wx.scanQRCode  成功的回调得到结果(res.resultStr)然后做自己页面的逻辑

// 扫一扫获取授权
    author_WX() {
      getWeix({
        url: window.location.href
      }).then(function(data) {
        console.log(data);
        if (data.code == "100") {
          var getWeixData = data.extend.jsArr;
          wx.config({
            debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
            appId: getWeixData[0], // 必填,公众号的唯一标识
            timestamp: getWeixData[2], // 必填,生成签名的时间戳
            nonceStr: getWeixData[1], // 必填,生成签名的随机串
            signature: getWeixData[4], // 必填,签名,见附录1
            jsApiList: ["scanQRCode"] // 必填,需要使用的JS接口列表,这里只说扫描,例如分享等都可以,只要写在数组里面就可以调用
          });
          //权限验证出错
          wx.error(function(res) {
            alert("出错了:" + res.errMsg);
          });
        }
      });

      
    },

    //扫码得到快递单号
    scan() {
      let that=this;
      console.log("扫码");
      wx.ready(function() {
        wx.checkJsApi({
          jsApiList: ["scanQRCode"],
          success: function(res) {
            wx.scanQRCode({
              needResult: 1,  // 默认为0,扫描结果由微信处理,1则直接返回扫描结果,
              scanType: ["qrCode", "barCode"], // 可以指定扫二维码还是一维码,默认二者都有
              success: function(res) {
                var result=res.resultStr.split(",");
                that.order_no=result[1];
                // Toast({
                //   message: result,
                //   position: "middle",
                //   duration: 5000
                // });
              },
              error: function(err) {
                alert("扫描失败::扫描码=" + err);
              }
            });
          }
        });
      });
    }

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值