Uni-app: 扫码(以微信小程序为例)
说明
个人使用环境说明
- 设备环境:win10 64bit
- 编译环境:HBuilder X
- 运行环境 :微信开发者工具
其他说明
- 在微信开发者工具中,无法扫码。需要真机验证。
调用
调用方法
uni.scanCode(Object)
功能
调起客户端扫码界面,扫码成功后返回对应的结果。
平台差异说明
App |
H5 |
微信小程序 |
支付宝小程序 |
百度小程序 |
字节跳动小程序 |
QQ小程序 |
√ |
× |
√ |
√ |
√ |
√ |
√ |
OBJECT参数说明
参数名 |
类型 |
必填 |
说明 |
平台差异说明 |
onlyFromCamera |
Boolean |
否 |
是否只能从相机扫码,不允许从相册选择图片 |
字节跳动小程序不支持此参数 |
scanType |
Array |
否 |
扫码类型,参数类型是数组,二维码是'qrCode',一维码是'barCode',DataMatrix是‘datamatrix’,pdf417是‘pdf417’。 |
字节跳动小程序不支持此参数 |
success |
Function |
否 |
接口调用成功的回调,返回内容详见返回参数说明。 |
|
fail |
Function |
否 |
接口调用失败的回调函数(识别失败、用户取消等情况下触发) |
|
complete |
Function |
否 |
接口调用结束的回调函数(调用成功、失败都会执行) |
|
success 返回参数说明
参数 |
说明 |
平台差异说明 |
result |
所扫码的内容 |
|
scanType |
所扫码的类型 |
App、微信小程序、百度小程序、QQ小程序 |
charset |
所扫码的字符集 |
App、微信小程序、百度小程序、QQ小程序 |
path |
当所扫的码为当前应用的合法二维码时,会返回此字段,内容为二维码携带的 path。 |
App、微信小程序、百度小程序、QQ小程序 |
示例
1 // 允许从相机和相册扫码 2 uni.scanCode({ 3 success: function (res) { 4 console.log('条码类型:' + res.scanType); 5 console.log('条码内容:' + res.result); 6 } 7 }); 8 9 // 只允许通过相机扫码 10 uni.scanCode({ 11 onlyFromCamera: true, 12 success: function (res) { 13 console.log('条码类型:' + res.scanType); 14 console.log('条码内容:' + res.result); 15 } 16 }); 17 18 // 调起条码扫描 19 uni.scanCode({ 20 scanType: ['barCode'], 21 success: function (res) { 22 console.log('条码类型:' + res.scanType); 23 console.log('条码内容:' + res.result); 24 } 25 });
参考网址
uni-app官方文档:https://uniapp.dcloud.io/api/system/barcode
有志者,事竟成,破釜沉舟,百二秦关终属楚; 苦心人,天不负,卧薪尝胆,三千越甲可吞吴。