my.scan
说明:mPaaS 10.1.32 及以上版本支持该接口。
调用扫一扫功能。
my.scan
唤起扫一扫前后整个过程会先后执行 app 和 page 的 onHide 和 onShow 生命周期函数。即(唤起)app.onHide
> page.onHide
>(返回)app.onShow
> page.onShow
。
入参
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
scanType | String | 否 | 扫码识别类型,默认值为 ['qrCode','barCode'] 。 |
hideAlbum | Boolean | 否 | 是否隐藏相册(不允许从相册选择图片,只能从相机扫码),默认值为 false。 |
success | Function | 否 | 调用成功的回调函数 |
fail | Function | 否 | 调用失败的回调函数 |
complete | Function | 否 | 调用结束的回调函数(调用成功、失败都会执行) |
success 返回值
名称 | 类型 | 描述 |
---|---|---|
code | String | 扫码所得数据 |
qrCode | String | 扫描二维码时返回二维码数据 |
barCode | String | 扫描条形码时返回条形码数据 |
错误码
error | 描述 | 解决方案 |
---|---|---|
10 | 用户取消 | 为用户正常交互流程分支,不需要进行特殊处理。 |
11 | 操作失败 | 具体原因需要查看客户端协助排查。 |
代码示例
// API-DEMO page/API/scan-code/scan-code.json
{
"defaultTitle": "Scan"
}
<!-- API-DEMO page/API/scan-code/scan-code.axml-->
<view class="page">
<view class="page-section">
<form onSubmit="scanCode">
<view>
<button type="primary" onTap="scan">扫码</button>
</view>
</form>
</view>
</view>
// API-DEMO page/API/scan-code/scan-code.js
Page({
scan() {
my.scan({
scanType: ['qrCode','barCode'],
success: (res) => {
my.alert({ title: res.code });
},
});
}
})
常见问题
- Q:小程序体验码扫码后,为何页面一直在加载中?
A:建议检查后台配置的域名白名单,首页存在网络请求必须配置白名单。
文档内容是否对您有帮助?