Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DCloud
unidocs-zh
提交
5585ef45
unidocs-zh
项目概览
DCloud
/
unidocs-zh
通知
3216
Star
106
Fork
815
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
94
列表
看板
标记
里程碑
合并请求
70
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
unidocs-zh
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
94
Issue
94
列表
看板
标记
里程碑
合并请求
70
合并请求
70
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
5585ef45
编写于
9月 26, 2022
作者:
细水会流长
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
快手小程序已支持scanCode
https://mp.kuaishou.com/docs/develop/api-next/device/scan/ks.scanCode.html
上级
2be0515d
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
88 addition
and
88 deletion
+88
-88
docs/api/system/barcode.md
docs/api/system/barcode.md
+88
-88
未找到文件。
docs/api/system/barcode.md
浏览文件 @
5585ef45
### 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 码时自动放大功能,提升扫码识别率。
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录