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