调用微信扫一扫


前言

提示:vue2项目下在公众号实现扫一扫功能


提示:以下是本篇文章正文内容,下面案例可供参考

一、前往微信公众平台-配置

微信公众平台

二、页面引入脚本

 

1.引入库

代码如下(示例):

  <script src="http://res.wx.qq.com/open/js/jweixin-1.6.0.js"></script>

若一直报错可尝试更换版本、下载至本地引用、调整引入顺序,还不能解决用下面方法

vue2项目(示例):

 npm install weixin-js-sdk --save 安装weixin-js-sdk    

import wx from "weixin-js-sdk"

三、代码展示

    // start
    codeClick() { //调用 扫一扫 
      this.scanQRCode();
    },
    
    wxConfig(callback) {
      axios
        .get( "https://gtck.jxlssh.com/api/index/getWxJssdk?token=b17e961e3250c4d5e555a18c922d552a",{params:{}}).then(res => {
          let configData = res.data;
          wx.config({
            debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
            appId: configData.appid, // 必填,公众号的唯一标识
            timestamp: configData.timestamp, // 必填,生成签名的时间戳
            nonceStr: configData.nonceStr, // 必填,生成签名的随机串
            signature: configData.sign, // 必填,签名
            jsApiList: ["scanQRCode"] // 必填,需要使用的JS接口列表(扫一扫接口)
          });
          wx.ready(function() {
            wx.checkJsApi({
              jsApiList: ["scanQRCode"], 
              success: function(res) {
                callback(res.checkResult);// 如:{"checkResult":{"chooseImage":true},"errMsg":"checkJsApi:ok"}
              }
            });
          });
          wx.error(function(res) {
            // config信息验证失败会执行error函数,如签名过期导致验证失败,具体错误信息可以打开config的debug模式查看,也可以在返回的res参数中查看,对于SPA可以在这里更新签名。
            console.info(res);
          });
        }).catch(err => {
          Toast(err);
        });
    },

    wxScanQRCode(callback) {
      wx.scanQRCode({
        needResult: 0, // 默认为0,扫描结果由微信处理,1则直接返回扫描结果,
        scanType: ["qrCode", "barCode"], // 可以指定扫二维码还是一维码,默认二者都有
        success(res) {
          if (callback) {
            let result = res.resultStr; // 当needResult 为 1 时,扫码返回的结果
            callback(result);
          }
        },
        error(err) {
          console.info(err);
        }
      });
    },
    scanQRCode() {
      if (!this.scanQRCodeIsSupport) {
        Toast("该功能仅在微信应用内打开的页面受支持");
        return;
      }
      this.wxScanQRCode(result => {
        if (result) {
          window.location.href = result;
        }
      });
    }

    // end

总结

debug: true,可以调试时开启  

进入微信环境调试时 重点看微信公众平台配置地址与前端地址是否一致.

要在HTML页面中调用微信扫一扫功能,需要使用微信提供的JS-SDK。具体步骤如下: 1. 在HTML页面中引入微信JS-SDK的代码库,可以通过以下方式引入: ```html <script src="https://res.wx.qq.com/open/js/jweixin-1.6.0.js"></script> ``` 2. 在微信开放平台上申请开通JS-SDK权限,并获取到appId、timestamp、nonceStr、signature等参数。 3. 在HTML页面中准备一个按钮或者其他元素,用于触发扫一扫功能。例如: ```html <button id="scanQRCodeBtn">扫一扫</button> ``` 4. 在JS代码中调用微信JS-SDK提供的`wx.scanQRCode`方法,打开扫一扫界面。例如: ```javascript wx.config({ // 配置参数 appId: '你的appId', timestamp: '生成签名的时间戳', nonceStr: '生成签名的随机字符串', signature: '签名', jsApiList: ['scanQRCode'] // 需要使用的JS接口列表 }); wx.ready(function() { // 配置成功后执行的回调函数 document.querySelector('#scanQRCodeBtn').onclick = function() { wx.scanQRCode({ needResult: 1, scanType: ['qrCode', 'barCode'], success: function(res) { // 扫描成功后的回调函数,res.resultStr为扫描结果 console.log(res.resultStr); }, fail: function(res) { // 扫描失败后的回调函数 console.log(res); } }); }; }); ``` 以上代码中,`wx.config`方法用于配置参数,`wx.ready`方法用于在配置成功后执行的回调函数中调用`wx.scanQRCode`方法。`needResult`参数表示是否需要返回扫描结果,`scanType`参数表示扫描的类型,`success`和`fail`参数分别表示扫描成功和扫描失败后的回调函数。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值