前言:
之前有個專案需要呼叫微信掃描二維碼的功能,通過呼叫微信掃碼二維碼功能,然後去獲取到系統中生成的二維碼資訊。正好微信JS-SDK提供了呼叫微信掃一掃的功能介面,下面讓我們來看看是如何實現的吧。
第一步、微信JS-SDK的使用步驟,配置資訊的生成獲取講解:
關於JS-SDK的使用步驟和timestamp(時間戳),nonceStr(隨機串),signature(簽名),access_token(介面呼叫憑據)生成獲取的詳細說明在這裡:https://www.cnblogs.com/Can-daydayup/p/11124092.html
第二步、呼叫微信掃一掃,獲取到二維碼中的內容:
<input id="scanbutton" type="button" onclick="scan()" style="background-color: #07CAF4" value="掃描二維碼"> <script type="text/javascript"> //注入許可權驗證配置 wx.config({ debug: true, // 開啟除錯模式,呼叫的所有api的返回值會在客戶端alert出來,若要檢視傳入的引數,可以在pc端開啟,引數資訊會通過log打出,僅在pc端時才會列印。 appId: '', // 必填,公眾號的唯一標識 timestamp: , // 必填,生成簽名的時間戳 nonceStr: '', // 必填,生成簽名的隨機串 signature: '',// 必填,簽名 jsApiList: ['scanQRCode'] // 必填,呼叫微信掃一掃介面 }); //呼叫微信掃一掃介面 function scan() { //首先判斷是否使用微信內,因為微信JS-SDK只有在微信環境下才有用 var environmental= window.navigator.userAgent.toLowerCase(); if (environmental.match(/MicroMessenger/i) == 'micromessenger') { wx.ready(function() { //獲取本地跳轉地址 wx.scanQRCode({ needResult: 1,// 預設為0,掃描結果由微信處理,1則直接返回掃描結果, desc: 'scanQRCode desc',// 可以指定掃二維碼還是一維碼,預設二者都有 success: function(res) { //alert(JSON.stringify(res)); $("#Code").val(res.resultStr); } }); }); } else { alert("請在微信中登入!"); } } </script>