微信wx.scanQRCode如何处理扫描取消
来源【原创】 / 2057人浏览
时间:2021-10-31 08:56:34
业务场景说明,在企业微信端开发一款“核销工具”应用时,使用到了微信扫一扫功能,通过vue H5页面调起微信扫一扫,在实际开发过程中发现,返回按钮和左滑取消扫码时,不能返回到上一页的问题,在网上查阅了基本资料如下
onlyFromCamera |
Boolean |
否 |
接是否只能从相机扫码,不允许从相册选择图片 |
scanType |
Array |
否 |
接可以指定扫二维码还是条形码(一维码),默认二者都有。['qrCode','barCode',...] |
success |
Function |
否 |
接口调用成功的回调函数,返回内容详见返回参数说明。 |
fail |
Function |
否 |
接口调用失败的回调函数 |
complete |
Function |
否 |
接口调用结束的回调函数(调用成功、失败都会执行) |
没有cancle的事件监听,在这里通过complete监听事件来完成返回,具体代码如下
// 微信扫一扫
startscan() {
let scanflag = false // 用于判断是业务结束还是人为取消标志变量
const that = this
wx.scanQRCode({
desc: 'scanQRCode desc',
needResult: 1, // 默认为0,扫描结果由企业微信处理,1则直接返回扫描结果,
scanType: ['qrCode'], // 可以指定扫二维码还是条形码(一维码),默认二者都有
success: res => {
scanflag = true
console.log('A取消成功了', scanflag)
// 你的...业务代码
},
error: res => {
if (res.errMsg.indexOf('function_not_exist') > 0) {
alert('版本过低请升级')
}
},
complete: res => {
console.log('B取消扫描了', scanflag)
if (!scanflag) {
this.$router.go(-1)
}
}
})
},
感谢博主分享,打赏一杯咖啡^_^