微信公众号首页扫一扫功能

前话: 微信公众号首页扫一扫,如果是直接在首页扫码,直接跳到扫码结果,我们开发者不能对扫码结果做处理,比如不想让它扫其他的除了自己的规定的二维码,那么就要对这个二维码的扫码结果做出处理。

 

入正题 =>>  既然首页不能做处理,那么我们就可以做一个静态页面,在这个页面中调起扫一扫的功能,再对扫码结果做处理。

步骤如下:

 

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>       

 

  【注】以上微信开发老手请忽略!礼毕。

posted @ 2018-01-17 11:50  一粒小米-博客  阅读(5983)  评论(0编辑  收藏  举报