微信公衆號調用掃一掃

如今咱們有個需求,識別二位碼,並將掃碼結果保存,傳遞到另外的網頁。下面是方法。php

另外注意!這是微信公衆號調用。須要微信配置信息。須要引入前置JS。http協議網站引入「http://res.wx.qq.com/open/js/jweixin-1.0.0.js」,https協議網站引入「https://res.wx.qq.com/open/js/jweixin-1.0.0.js」.html

有錯誤跟我說一聲。api

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width,initial-scale=1.0,user-scalable=no">
    <title>調用掃一掃</title>
</head>
<body>
    <div>點我調用掃一掃</div>
</body>
<script src='https://res.wx.qq.com/open/js/jweixin-1.0.0.js'></script>
<script>
    var div=document.querySelector('div');
    var data;//接受配置信息,後臺給的
    var getWxConfig=function(){
        var xhr=null;
        if(window.XMLHttpRequest){
            xhr=new XMLHttpRequest();
        } else if(window.ActiveXObject){
            xhr=new ActiveXObject("Microsoft.XMLHTTP");
        }
        xhr.open('post','getWxConfig.php');
        xhr.onreadystatechange=function(){
            if(xhr.readyState==4&&xhr.status==200){
                data=(xhr.responseText);
            }
        };
        xhr.send(openID); 
    }
    getWxConfig();
    div.onclick=function(){
        wx.config({
            debug : false, // 開啓調試模式,調用的全部api的返回值會在客戶端alert出來,若要查看傳入的參數,能夠在pc端打開,參數信息會經過log打出,僅在pc端時纔會打印。
            //                                debug : true, // 開啓調試模式,調用的全部api的返回值會在客戶端alert出來,若要查看傳入的參數,能夠在pc端打開,參數信息會經過log打出,僅在pc端時纔會打印。
            appId : data.appId, // 必填,公衆號的惟一標識
            timestamp : data.timestamp, // 必填,生成簽名的時間戳
            nonceStr : data.noncestr, // 必填,生成簽名的隨機串
            signature : data.signature,// 必填,簽名,見附錄1
            jsApiList : ['checkJsApi', 'scanQRCode'] // 必填,須要使用的JS接口列表,全部JS接口列表見附錄2
        });
        wx.ready(function() {
            wx.scanQRCode({   
                needResult: 1, // 默認爲0,掃描結果由微信處理,1則直接返回掃描結果,
                scanType: ["qrCode","barCode"], // 能夠指定掃二維碼仍是一維碼,默認兩者都有
                success: function (res) {
                var result = res.resultStr; // 當needResult 爲 1 時,掃碼返回的結果
                    console.log(res);
                    alert(res);
                    var result = res.resultStr; // 當needResult 爲 1 時,掃碼返回的結果
                    sessionStorage.setItem('saomiao_result',result);
                    //其它網頁調用二維碼掃描結果: 
                    //var result=sessionStorage.getItem('saomiao_result');
                }
            });
        });
    }
    
</script>
</html>
相關文章
相關標籤/搜索