微信JSSDK调用微信扫一扫功能的方法

  

如何利用微信JSSDK调用微信扫一扫功能?具体内容如下

  

1。确保有调起微信扫一扫接口权限,测试号可能不行;

  

2。导入相关JS

        & lt;脚本type=" text/javascript“http://test.com/zepto_touch.js”在& lt;/script>   & lt;脚本type=" text/javascript " src=" http://res.wx.qq.com/open/js/jweixin-1.0.0.js "祝辞& lt;/script>之前      

3。页面触发扫码元素

        & lt; img src=" https://www.yisu.com/images/right.jpg "类=癷mg”比;之前      

4。相关JS代码

        & lt;脚本type=" text/javascript祝辞   var _appId=" wxz88dbd30e5580e59”;   var _data=https://www.yisu.com/zixun/{   appId: _appId,   url: location.href,   t: math . random ()   };   var _getWechatSignUrl=' http://test.com/getWechatSign.do ';//获取微信签名   . ajax({美元   url: _getWechatSignUrl,   数据:_data,   成功:函数(o) {   console.log (o);   如果(o。returnCode==?0”) {   wxConfig (o.detail [0] .timestamp, o.detail [0] .nonceStr, o.detail [0] .signature);   }   }   });   函数wxConfig (_timestamp _nonceStr _signature) {//警报(“获取数据:“+ _timestamp + ' \ n ' + _nonceStr + ' \ n ' + _signature);   控制台。日志(“获取数据:“+ _timestamp + ' \ n ' + _nonceStr + ' \ n ' + _signature);   wx.config ({   调试:真的,//开启调试模式,调用的所有api的返回值会在客户端提醒出来,若要查看传入的参数,可以在pc端打开,参数信息会通过日志打出,仅在pc端时才会打印。   appId: _appId,//必填,公众号的唯一标识   时间戳:_timestamp,//必填,生成签名的时间戳   nonceStr: _nonceStr,//必填,生成签名的随机串   签名:_signature,//必填,签的名,见附录1   jsApiList: [‘onMenuShareTimeline’,‘onMenuShareAppMessage’,   “onMenuShareQQ”、“onMenuShareWeibo”、“scanQRCode”)//必填,需要使用的JS接口列表,所有JS接口列表见附录2   });   }   函数扫描码(){   wx.scanQRCode ({   needResult: 1、   scanType:“qrCode”、“条码”,   成功:函数(res) {   console.log (res)   警报(JSON.stringify (res));   结果var=res.resultStr;   },   失败:函数(res) {   console.log (res)   警报(JSON.stringify (res));      }   });   }   & lt;/script>   之前      

5。获取签名接口getWechatSign。做各值生成方式
  

  

        长时间戳=System.currentTimeMillis ()/1000;之前      

        字符串nonceStr=RandomStringUtils.randomAlphanumeric (16);之前      

        jsapi_ticket getSign公共静态字符串(字符串,字符串noncestr,长时间戳字符串url)   抛出NoSuchAlgorithmException {   字符串shaStr=" jsapi_ticket=" + jsapi_ticket +”, noncestr=" + noncestr +“×夯实=" +时间+ ",url="   +网址;   MessageDigest mDigest=MessageDigest.getInstance (“SHA1”);   结果byte []=mDigest.digest (shaStr.getBytes ());   StringBuffer签名=new StringBuffer ();   for (int i=0;我& lt;result.length;我+ +){   signature.append(整数。[我]和toString(结果;0 xff) + 0 x100, 16) .substring (1));   }   返回signature.toString ();   }   之前      

6。微信参考文档

  

获取access_token https://mp.weixin.qq.com/wiki& # 63; t=资源/res_main& id=mp1421140183
  获取jsapi_ticket https://mp.weixin.qq.com/wiki& # 63; t=资源/res_main& id=mp1421141115

  

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

微信JSSDK调用微信扫一扫功能的方法