uni-app实现扫码

uni.scanCode(OBJECT)

调起客户端扫码界面,扫码成功后返回对应的结果。

平台差异说明

AppH5微信小程序支付宝小程序百度小程序抖音小程序、飞书小程序QQ小程序快手小程序京东小程序
x

OBJECT 参数说明

参数名类型必填说明平台差异说明
onlyFromCameraBoolean是否只能从相机扫码,不允许从相册选择图片抖音小程序、百度小程序、支付宝小程序不支持此参数
scanTypeArray扫码类型,参考下方scanType的合法值抖音小程序不支持此参数
autoDecodeCharsetBoolean是否启用自动识别字符编码功能,默认为否App
autoZoomBoolean是否启用自动放大,默认启用仅 App-Android (3.5.4+) 支持
barCodeInputBoolean是否支持手动输入条形码仅飞书小程序(V3.14.0)支持
hideAlbumBoolean是否隐藏相册(不允许从相册选择图片),只能从相机扫码。默认值为 false。仅支付宝小程序支持
successFunction接口调用成功的回调,返回内容详见返回参数说明。
failFunction接口调用失败的回调函数(识别失败、用户取消等情况下触发)
completeFunction接口调用结束的回调函数(调用成功、失败都会执行)

scanType的合法值

说明
barCode一维码
qrCode二维码
datamatrixData Matrix 码
pdf417PDF417 条码

success 返回参数说明

参数说明平台差异说明
result所扫码的内容
scanType所扫码的类型App、微信小程序、百度小程序、QQ小程序、京东小程序、支付宝小程序
charSet所扫码的字符集App、微信小程序、百度小程序(所扫码的字符集,仅支持 Android 系统)、QQ小程序、京东小程序
path当所扫的码为当前应用的合法二维码时,会返回此字段,内容为二维码携带的 path。微信小程序、QQ小程序、京东小程序
rawData原始数据,base64 编码微信小程序、QQ小程序、京东小程序、支付宝小程序
code扫码所得数据支付宝小程序
qrCode扫描二维码时返回二维码数据支付宝小程序
barCode扫描条形码时返回条形码数据支付宝小程序
imageChannel来源支付宝小程序

示例

// 允许从相机和相册扫码
uni.scanCode({
	success: function (res) {
		console.log('条码类型:' + res.scanType);
		console.log('条码内容:' + res.result);
	}
});

// 只允许通过相机扫码
uni.scanCode({
	onlyFromCamera: true,
	success: function (res) {
		console.log('条码类型:' + res.scanType);
		console.log('条码内容:' + res.result);
	}
});

// 调起条码扫描
uni.scanCode({
	scanType: ['barCode'],
	success: function (res) {
		console.log('条码类型:' + res.scanType);
		console.log('条码内容:' + res.result);
	}
});

复制代码

Tip

  • App的扫码引擎,使用业内开源的通用扫码库,识别效率比不过微信、支付宝等商业扫码库。如需更强的扫码效果,支付宝等原生语言扫码插件:DCloud 插件市场,或uts插件:DCloud 插件市场
  • App-vue如果想自定义扫码,可参考uni-app中如何使用5+的原生界面控件plus.barcode API
  • App-nvue,支持barcode组件,可自定义扫码界面。详见。App端自定义扫码界面,建议使用nvue方式。
  • 微信小程序自定义扫码界面,可使用camera组件。详见
  • 微信内嵌浏览器运行H5版时,可通过js sdk实现扫码,需要引入一个单独的js,详见
  • 在扫码界面点击返回也会进入 fail 回调中
  • 支付宝小程序不支持 success 回调中的charSetpath
  • HX 3.4.4之后版本 android 新增 检测到 QR 码时自动放大功能,提升扫码识别率。
  • 24
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值