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 操作失败 具体原因需要查看客户端协助排查。

代码示例

  1. // API-DEMO page/API/scan-code/scan-code.json
  2. {
  3. "defaultTitle": "Scan"
  4. }
  1. <!-- API-DEMO page/API/scan-code/scan-code.axml-->
  2. <view class="page">
  3. <view class="page-section">
  4. <form onSubmit="scanCode">
  5. <view>
  6. <button type="primary" onTap="scan">扫码</button>
  7. </view>
  8. </form>
  9. </view>
  10. </view>
  1. // API-DEMO page/API/scan-code/scan-code.js
  2. Page({
  3. scan() {
  4. my.scan({
  5. scanType: ['qrCode','barCode'],
  6. success: (res) => {
  7. my.alert({ title: res.code });
  8. },
  9. });
  10. }
  11. })

常见问题

  • Q:小程序体验码扫码后,为何页面一直在加载中?
    A:建议检查后台配置的域名白名单,首页存在网络请求必须配置白名单。