diff --git a/docs/api/system/barcode.md b/docs/api/system/barcode.md index 2302bb7b6c340d67f075f4a438ca84d8585b4a71..38aed48ff3b9f7087cddba0e23b97406a0c0cda4 100644 --- a/docs/api/system/barcode.md +++ b/docs/api/system/barcode.md @@ -1,88 +1,88 @@ -### uni.scanCode(OBJECT) -调起客户端扫码界面,扫码成功后返回对应的结果。 - -**平台差异说明** - -|App|H5|微信小程序|支付宝小程序|百度小程序|字节跳动小程序、飞书小程序|QQ小程序|快手小程序|京东小程序| -|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:| -|√|x|√|√|√|√|√|x|√| - -**OBJECT 参数说明** - -|参数名|类型|必填|说明|平台差异说明| -|:-|:-|:-|:-|:-:| -|onlyFromCamera|Boolean|否|是否只能从相机扫码,不允许从相册选择图片|字节跳动小程序、百度小程序、支付宝小程序不支持此参数| -|scanType|Array|否|扫码类型,参考下方`scanType的合法值`|字节跳动小程序不支持此参数| -|autoDecodeCharset|Boolean|否|是否启用自动识别字符编码功能,默认为否|App| -|autoZoom|Boolean|否|是否启用自动放大,默认启用|仅 App-Android (3.5.4+) 支持| -|barCodeInput|Boolean|否|是否支持手动输入条形码|仅飞书小程序(V3.14.0)支持| -|hideAlbum|Boolean|否|是否隐藏相册(不允许从相册选择图片),只能从相机扫码。默认值为 false。|仅支付宝小程序支持| -|success|Function|否|接口调用成功的回调,返回内容详见返回参数说明。|| -|fail|Function|否|接口调用失败的回调函数(识别失败、用户取消等情况下触发)|| -|complete|Function|否|接口调用结束的回调函数(调用成功、失败都会执行)| | - -**scanType的合法值** - -|值|说明| -|:-|:-| -|barCode|一维码| -|qrCode|二维码| -|datamatrix|Data Matrix 码| -|pdf417|PDF417 条码| - -**success 返回参数说明** - -|参数|说明|平台差异说明| -|:-|:-|:-| -|result|所扫码的内容|| -|scanType|所扫码的类型|App、微信小程序、百度小程序、QQ小程序、京东小程序、支付宝小程序| -|charSet|所扫码的字符集|App、微信小程序、百度小程序(所扫码的字符集,仅支持 Android 系统)、QQ小程序、京东小程序| -|path|当所扫的码为当前应用的合法二维码时,会返回此字段,内容为二维码携带的 path。|微信小程序、QQ小程序、京东小程序| -|rawData|原始数据,base64 编码|微信小程序、QQ小程序、京东小程序、支付宝小程序| -|code|扫码所得数据|支付宝小程序| -|qrCode|扫描二维码时返回二维码数据|支付宝小程序| -|barCode|扫描条形码时返回条形码数据|支付宝小程序| -|imageChannel|来源|支付宝小程序| - - -**示例** - -```javascript -// 允许从相机和相册扫码 -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-vue如果想自定义扫码,可参考[uni-app中如何使用5+的原生界面控件](http://ask.dcloud.net.cn/article/35036)和[plus.barcode API](https://www.html5plus.org/doc/zh_cn/barcode.html) -- App-nvue,支持barcode组件,可自定义扫码界面。[详见](https://uniapp.dcloud.io/component/barcode)。App端自定义扫码界面,建议使用nvue方式。 -- App的扫码引擎,使用业内开源的通用扫码库,扫码效率比不过微信、支付宝等商业扫码库。如需更强的扫码效果,请使用支付宝提供的扫码插件:[https://ext.dcloud.net.cn/plugin?id=2636](https://ext.dcloud.net.cn/plugin?id=2636) -- 微信小程序自定义扫码界面,可使用camera组件。[详见](https://uniapp.dcloud.io/component/camera) -- 微信内嵌浏览器运行H5版时,可通过js sdk实现扫码,需要引入一个单独的js,[详见](https://ask.dcloud.net.cn/article/35380) -- 在扫码界面点击返回也会进入 `fail` 回调中 -- 支付宝小程序不支持 `success` 回调中的`charSet`,`path` -- HX 3.4.4之后版本 android 新增 检测到 QR 码时自动放大功能,提升扫码识别率。 - +### uni.scanCode(OBJECT) +调起客户端扫码界面,扫码成功后返回对应的结果。 + +**平台差异说明** + +|App|H5|微信小程序|支付宝小程序|百度小程序|字节跳动小程序、飞书小程序|QQ小程序|快手小程序|京东小程序| +|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:| +|√|x|√|√|√|√|√|√|√| + +**OBJECT 参数说明** + +|参数名|类型|必填|说明|平台差异说明| +|:-|:-|:-|:-|:-:| +|onlyFromCamera|Boolean|否|是否只能从相机扫码,不允许从相册选择图片|字节跳动小程序、百度小程序、支付宝小程序不支持此参数| +|scanType|Array|否|扫码类型,参考下方`scanType的合法值`|字节跳动小程序不支持此参数| +|autoDecodeCharset|Boolean|否|是否启用自动识别字符编码功能,默认为否|App| +|autoZoom|Boolean|否|是否启用自动放大,默认启用|仅 App-Android (3.5.4+) 支持| +|barCodeInput|Boolean|否|是否支持手动输入条形码|仅飞书小程序(V3.14.0)支持| +|hideAlbum|Boolean|否|是否隐藏相册(不允许从相册选择图片),只能从相机扫码。默认值为 false。|仅支付宝小程序支持| +|success|Function|否|接口调用成功的回调,返回内容详见返回参数说明。|| +|fail|Function|否|接口调用失败的回调函数(识别失败、用户取消等情况下触发)|| +|complete|Function|否|接口调用结束的回调函数(调用成功、失败都会执行)| | + +**scanType的合法值** + +|值|说明| +|:-|:-| +|barCode|一维码| +|qrCode|二维码| +|datamatrix|Data Matrix 码| +|pdf417|PDF417 条码| + +**success 返回参数说明** + +|参数|说明|平台差异说明| +|:-|:-|:-| +|result|所扫码的内容|| +|scanType|所扫码的类型|App、微信小程序、百度小程序、QQ小程序、京东小程序、支付宝小程序| +|charSet|所扫码的字符集|App、微信小程序、百度小程序(所扫码的字符集,仅支持 Android 系统)、QQ小程序、京东小程序| +|path|当所扫的码为当前应用的合法二维码时,会返回此字段,内容为二维码携带的 path。|微信小程序、QQ小程序、京东小程序| +|rawData|原始数据,base64 编码|微信小程序、QQ小程序、京东小程序、支付宝小程序| +|code|扫码所得数据|支付宝小程序| +|qrCode|扫描二维码时返回二维码数据|支付宝小程序| +|barCode|扫描条形码时返回条形码数据|支付宝小程序| +|imageChannel|来源|支付宝小程序| + + +**示例** + +```javascript +// 允许从相机和相册扫码 +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-vue如果想自定义扫码,可参考[uni-app中如何使用5+的原生界面控件](http://ask.dcloud.net.cn/article/35036)和[plus.barcode API](https://www.html5plus.org/doc/zh_cn/barcode.html) +- App-nvue,支持barcode组件,可自定义扫码界面。[详见](https://uniapp.dcloud.io/component/barcode)。App端自定义扫码界面,建议使用nvue方式。 +- App的扫码引擎,使用业内开源的通用扫码库,扫码效率比不过微信、支付宝等商业扫码库。如需更强的扫码效果,请使用支付宝提供的扫码插件:[https://ext.dcloud.net.cn/plugin?id=2636](https://ext.dcloud.net.cn/plugin?id=2636) +- 微信小程序自定义扫码界面,可使用camera组件。[详见](https://uniapp.dcloud.io/component/camera) +- 微信内嵌浏览器运行H5版时,可通过js sdk实现扫码,需要引入一个单独的js,[详见](https://ask.dcloud.net.cn/article/35380) +- 在扫码界面点击返回也会进入 `fail` 回调中 +- 支付宝小程序不支持 `success` 回调中的`charSet`,`path` +- HX 3.4.4之后版本 android 新增 检测到 QR 码时自动放大功能,提升扫码识别率。 +