扫码

更新时间:
复制 MD 格式

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:建议检查后台配置的域名白名单,首页存在网络请求必须配置白名单。