weapp-qrcode
weapp-qrcode copied to clipboard
安卓手机会出现白色白色方块导致二维码错误
安卓手机会出现白色方块导致二维码错误
手机型号:小米MIX2 系统: MIUI 10.2 安卓: 8.0.0
我也遇到了,但是保存到本地的二维码图片却是正常的。
Strange, very strange.
可能跟canvas有关,后来换成image标签显示暂存图片勉强可以用了
换成Image也不行
起个timeout 延迟重新调用makeCode就好了
用的是wepy框架开发的微信微信小程序。在drawQrcode的回调里面callback去导出图片,用的是wx.canvasToTempFilePath导出图片,在部分安卓手机上显示的二维码扫不出内容,好像是导出的二维码缺少了一部分。 在苹果手机上面目前是正常的。
目前的解决办法:
目前测试了一下,是qrcode.makeCode
回调里调用qrcode.exportImage
导致的,如果要避免的话可以不要在makeCode
回调里使用qrcode.exportImage
,单独调用qrcode.exportImage
。
如果非得调用的话,可以用setTimeout
延时调用,如:
// 生成图片,绘制完成后调用回调
qrcode.makeCode(z.data.text, () => {
// 回调
setTimeout(() => {
qrcode.exportImage(function (path) {
z.setData({
imgsrc: path
})
})
}, 300)
})
我目前是这样去实现的。 drawQrcode({ width: 200, height: 200, canvasId: "mycanvas", text: codeContent, callback: function(e) { //生成完图片,回调 wx.canvasToTempFilePath({ x: 0, y: 0, width: 200, height: 200, destWidth: 200, destHeight: 200, canvasId: "mycanvas", success: function(res) { let path = res.tempFilePath }, complete: function() {
}
})
}
})