前言:
之前有个项目需要调用微信扫描二维码的功能,通过调用微信扫码二维码功能,然后去获取到系统中生成的二维码信息。正好微信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>