前端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

通常進入頁面,就看以下幾個圖就能夠:

相關文章
相關標籤/搜索