前端JS调用微信扫一扫二维码

 来源:前端

  最近作一个项目,H5页面,在微信中打开,里面有个功能,就是  点击按钮弹出微信二维码扫一扫。java

项目截图:jquery

  暂时没有图,下次再补上。就是页面点击按钮,弹出扫二维码的窗口ajax

我只负责前端,因此只上前端代码,后端代码是java。后端

HTML代码(以下):我用的是jQuery WeUI 框架快速开发(jQuery WeUI地址:http://jqweui.com/),因此a标签有样式api

1 <a class="weui-btn weui-btn_primary submit-btn" id="scanQRCode" type="button">扫一扫</a>

JS代码(以下):代码直接复制拷贝就可使用,红色字体就是本身根据本身的项目要求更改就能够。这样写有个缺点,页面加载进去后,得缓个几秒,按钮点击才有效。由于须要请求数据配置wx.config。但后台能够有另外的作法避免这种缺点。就是后台请求好数据,咱们配置成功后,再跳进这个页面。微信

<script src="../../../js/plugins/jquery-2.1.4/jquery.min.js"></script>
//如下是微信JS-SDK的文件,必须引入
<script src="../../../js/plugins/jweixin-1.0.0.js"></script>



<script>
    $.ajax({
        type:"post",
        url:"",//本身填写请求地址
        data:{},
        success:function(result){
            wx.config({
            // 开启调试模式,调用的全部api的返回值会在客户端alert出来,若要查看传入的参数,能够在pc端打开,参数信息会经过log打出,仅在pc端时才会打印。
            debug: false,
            // 必填,公众号的惟一标识
            appId: result.appId,
            // 必填,生成签名的时间戳
            timestamp:""+result.timestamp,
            // 必填,生成签名的随机串
            nonceStr:result.noncestr,
             // 必填,签名,见附录1
             signature:result.signature,
             // 必填,须要使用的JS接口列表,全部JS接口列表见附录2
             jsApiList : [ 'checkJsApi', 'scanQRCode' ]
             });
          }
    })

    wx.error(function(res) {
        alert("出错了:" + res.errMsg);//这个地方的好处就是wx.config配置错误,会弹出窗口哪里错误,而后根据微信文档查询便可。
    });

    wx.ready(function() {
        wx.checkJsApi({
             jsApiList : ['scanQRCode'],
             success : function(res) {

             }
        });

        //点击按钮扫描二维码
        document.querySelector('#scanQRCode').onclick = function() {
            wx.scanQRCode({
                needResult : 1, // 默认为0,扫描结果由微信处理,1则直接返回扫描结果,
                scanType : [ "qrCode"], // 能够指定扫二维码仍是一维码,默认两者都有
                success : function(res) {
                var result = res.resultStr; // 当needResult 为 1 时,扫码返回的结果
                 window.location.href = result;//由于我这边是扫描后有个连接,而后跳转到该页面
                }
            });
        };

    });
</script>

 

报错:由于页面加载会先请求ajax,因此wx.config配置错误,就会弹出错误。根据错误查找相应解决方案,通常状况都是后台请求参数错误致使的。(最后面会附上连接)app

 

 

传送门: https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141115框架

若是要继续了解,能够看上面的连接。官方文档最可靠。不看的话上面代码直接复制粘贴就能够实现效果。post

通常进入页面,就看以下几个图就能够:

相关文章
相关标签/搜索