安卓手机使用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)
谢邀,这要官方才能解决,爱莫能助了。。。