wx.scanQRCode中scanType参数无效

调用wx.scanQRCode:

先看一下微信开发者文档中,调用扫一扫的demo:

wx.scanQRCode({
  needResult: 0, // 默认为0,扫描结果由微信处理,1则直接返回扫描结果,
  scanType: ["qrCode","barCode"], // 可以指定扫二维码还是一维码,默认二者都有
  success: function (res) {
    var result = res.resultStr; // 当needResult 为 1 时,扫码返回的结果
  }
});

虽然参数中有scanType,但即使设置为qrCode,部分机型也能成功扫描条形码。
而微信社区中的客服也是承认该bug的存在,但迟迟未能修复。
可参考:
https://developers.weixin.qq.com/community/develop/doc/0008c4032a86586fce2862e935bc00

那么我们尝试自行分析能否解决

先看回调的值:

通过JSON.stringify(res)将返回值打印出来: 值只包含两个key

resultStr:扫描的条码的值
errMsg:
可以看出这其中并不包含码的类型。


结论:

所以部分网上说的,在返回值中,通过res.scanType获取扫码的类型再进行判断是行不通的。
目前微信js sdk的最新版本是1.6.0,除了等待微信下次的更新,就只能穷举条形码的类型,通过码值的开头来进行判断了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值