深圳网站建设平台,绿色蔬菜网站模板,企业直招平台,光山网站建设二维码大家都很常见#xff0c;使用场景也很多#xff0c;但是日常使用中有两种场景比较常见。 1、二维码背后的内容是一个网址#xff0c;扫描后直接跳转到对应的网址#xff0c;比如#xff1a;宣传海报#xff0c;跳转到直播间、微官网或者微信公众号。 2、二维码背后… 二维码大家都很常见使用场景也很多但是日常使用中有两种场景比较常见。 1、二维码背后的内容是一个网址扫描后直接跳转到对应的网址比如宣传海报跳转到直播间、微官网或者微信公众号。 2、二维码背后的内容是字符串扫描后直接展示出字符串内容比如有些设备上的二维码扫描出来是一串字符串。 那么第二种二维码的使用场景是啥其实无论扫描哪种二维码都是先把二维码的内容解析出来然后再执行后面的操作链接形式的就可以跳转链接字符串形式的就展示字符串所以我们就可以在解析出内容之后将这个内容拦截下来。比如这个字符串是设备编号然后我们就可以根据这个编号去数据库查询这台设备的信息然后展示出来。所以这给了我们很大的自主开发空间那么怎么实现这个拦截过程呢请看下面。 有很多种方法可以实现这里我们只介绍微信公众号开发。 先上代码这段代码是一些配置可自行查看微信公众号开发者文档 wx.config({debug: false,appId: appId,timestamp: timestamp,nonceStr: nonceStr,signature: signature,jsApiList: [scanQRCode, ]}); 下面的代码为扫描成功后返回的内容 wx.ready(function() {wx.scanQRCode({needResult: 1, // 默认为0扫描结果由微信处理1则直接返回扫描结果scanType: [qrCode,barCode], // 可以指定扫二维码还是一维码默认二者都有success: function (res) {alert(正确信息:JSON.stringify(res));}});
}) 在我们测试的时候发现安卓手机可以正常返回内容但是苹果手机iOS会一闪而过并且有时候能扫出来有时候一闪而过什么都不返回有两种解决方法 ①在调取摄像头之前将需要扫描的二维码正对摄像头这样扫描后会返回并弹出扫描的内容很显然这不符合实际使用场景。 ②第二种方案是加一个延时直接上代码。 wx.ready(function() { wx.scanQRCode({needResult: 1, // 默认为0扫描结果由微信处理1则直接返回扫描结果scanType: [qrCode,barCode], // 可以指定扫二维码还是一维码默认二者都有success: function (res) {setTimeout((){alert(正确信息:JSON.stringify(res));},1000) }})
}) 在返回的内容里加一个延时这样就很好解决了苹果手机iOS一闪而过不返回信息的问题。