安卓手机使用camera媒体组件扫码,似乎不太容易成功,多试几次后就会扫不出结果(bindscancode没有触发,别的事件也没有触发)。使用微信的扫码功能(wx.scanCode)正常。
如果扫一张有好多码的纸,如图,扫到的结果也很奇怪,有时候没在camera范围内的码被扫到。
不确定原因在哪里,看别人提到是因为隐藏的原因,苹果不正常,安卓正常。但我这个没有用隐藏,而且情况反过来了,苹果是正常的,安卓不行。
而且这个功能没有提示音,也没有停止扫描。我期望是扫商品的条码,跳到新的页面显示商品详情。有时候会出现连跳好几次的情况。
希望这个组件扫描时,增加提示音功能,增加停止功能。
Page({ data: { id: '', queryResult: '', }, onLoad() { // this.ctx = wx.createCameraContext() }, onShow: function() { // this.onWxScanCode; }, onHide: function() { }, onScanCode(e) { console.log('扫码成功,期望值', e.detail.result); this.setData({ id: e.detail.result }) wx.navigateTo({ url: '../productDesc/productDesc?id=' + this.data.id, }) }, onWxScanCode: function(e) { wx.scanCode({ onlyFromCamera: true, scanType: 'barCode', success(res) { console.log(res) wx.navigateTo({ url: '../productDesc/productDesc?id=' + res.result, }) } }) }, onError(e) { console.log("scan error:", e.detail) }, onInitDone(e) { console.log("init done:", e.detail) }, onStop(e) { console.log("user stop:", e.detail) }}) |
<view class="page-body"> <view class="page-body-wrapper"> <camera mode="scanCode" device-position="back" flash="off" binderror="onError" bindscancode="onScanCode" bindstop="onStop" bindinitdone="onInitDone" style="width: 100%; height: 200px;"></camera> <view> <text style="aligh:center">对准商品条码扫一扫</text> </view> <view> <button bindtap="onWxScanCode">调用微信扫码</button> </view> </view></view> |

有解决这个问题吗兄dei?? 我也出现了相同的状况 都是条形码 苹果手机可以触发bindscancode 安卓手机死活都不行!!
麻烦提供能复现问题的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)
谢邀,这要官方才能解决,爱莫能助了。。。