微信公眾號首頁掃一掃功能


前話: 微信公眾號首頁掃一掃,如果是直接在首頁掃碼,直接跳到掃碼結果,我們開發者不能對掃碼結果做處理,比如不想讓它掃其他的除了自己的規定的二維碼,那么就要對這個二維碼的掃碼結果做出處理。

 

入正題 =>>  既然首頁不能做處理,那么我們就可以做一個靜態頁面,在這個頁面中調起掃一掃的功能,再對掃碼結果做處理。

步驟如下:

 

1. 首頁把type類型掃一掃功能改為頁面點擊;

 "button":[
         {
             "name":"掃碼",
             "sub_button":[
                 {
                     "type":"scancode_push",
                     "name":"掃一掃",
                     "key":"borrow",
                     "sub_button": [ ]
                 }
             ]
         } ]  
   
 //==> 上面的代碼改成下面的
 
 "button":[
         {
             "name":"掃碼",
             "sub_button":[
                 {
                     "type":"view",
                     "name":"掃一掃",
                     "key":"borrow",
                     "url": "這里填你要調掃一掃功能的靜態頁面的地址" //例如 http://www.abc.com/userinfo/sao
                 }
             ]
         } ]

 

2. 在點擊跳轉的靜態頁面調起掃一掃

 //要引入微信的JS-SDK
 //<script src="http://res.wx.qq.com/open/js/jweixin-1.2.0.js"></script>
 
 <!DOCTYPE html>
 <html lang="en">
 <head>
     <meta charset="UTF-8">
     <title>測試</title>
 </head>
 <body>
     <div  onclick="sao()">
              <span>掃一掃</span>
     </div>
 </body>
 </html>
 <script src="/asset/js/jquery-2.1.0.js"></script>
 <script src="http://res.wx.qq.com/open/js/jweixin-1.2.0.js"></script>
 <script type="text/javascript"> wx.config({ debug: false, // 開啟調試模式,調用的所有api的返回值會在客戶端alert出來,若要查看傳入的參數,可以在pc端打開,參數信息通過log打出,僅在pc端時才會打印。
         appId: "", // 必填,公眾號的唯一標識
         timestamp: "", // 必填,生成簽名的時間戳
         nonceStr: "", // 必填,生成簽名的隨機串
         signature: "",// 必填,簽名,見附錄1
 jsApiList: [ "scanQRCode" //掃一掃功能這個就可以
         ] // 必填,需要使用的JS接口列表,所有JS接口列表見附錄2
 }); wx.ready(function(){ }); // config信息驗證后會執行ready方法,所有接口調用都必須在config接口獲得結果之后,config是一個客戶端的異步操作,所以如需要在頁面加載時就調用相關接口,則須把相關接口放在ready函數中調用來確保正確執行。對於用戶觸發時才調用的接口,則可以直接調用,不要放在ready函數中。
 wx.scanQRCode({ needResult: 1, // 默認為0,掃描結果由微信處理,1則直接返回掃描結果; 這里我們要處理掃碼結果,所以一定要設為 1
             scanType: ["qrCode"], // 可以指定掃二維碼還是一維碼,默認二者都有
             success: function (res) { var result = res.resultStr; // 當needResult 為 1 時,掃碼返回的結果

                //在這里我們就可以對 result 這個掃碼結果做處理了
          處理代碼如下。。。 } }); }); </script>       

 

  【注】以上微信開發老手請忽略!禮畢。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM