Skip to content

qin.scanCode(OBJECT) ​

调起客户端扫码界面,扫码成功后返回对应的结果。

平台差异说明

H5微信小程序小红书小程序抖音小程序快手小程序
x√√√√

OBJECT 参数说明

参数名类型必填说明平台差异说明
onlyFromCameraBoolean否是否只能从相机扫码,不允许从相册选择图片抖音小程序、支付宝小程序不支持此参数
scanTypeArray否扫码类型,参考下方 scanType 的合法值抖音小程序不支持此参数
autoDecodeCharsetBoolean否是否启用自动识别字符编码功能,默认为否App
barCodeInputBoolean否是否支持手动输入条形码仅飞书小程序(V3.14.0)支持
hideAlbumBoolean否是否隐藏相册(不允许从相册选择图片),只能从相机扫码。默认值为 false。仅支付宝小程序支持
successFunction否接口调用成功的回调,返回内容详见返回参数说明。
failFunction否接口调用失败的回调函数(识别失败、用户取消等情况下触发)
completeFunction否接口调用结束的回调函数(调用成功、失败都会执行)

scanType的合法值

值说明
barCode一维码
qrCode二维码
datamatrixData Matrix 码
pdf417PDF417 条码

success 返回参数说明

参数说明平台差异说明
result所扫码的内容
scanType所扫码的类型微信小程序、小红书小程序
charSet所扫码的字符集微信小程序、小红书小程序
path当所扫的码为当前应用的合法二维码时,会返回此字段,内容为二维码携带的 path。微信小程序
rawData原始数据,base64 编码微信小程序
code扫码所得数据支付宝小程序
qrCode扫描二维码时返回二维码数据支付宝小程序
barCode扫描条形码时返回条形码数据支付宝小程序
imageChannel来源支付宝小程序

示例

js
// 允许从相机和相册扫码
qin.scanCode({
  success: (theRes) => {
    console.log('条码类型:' + theRes.scanType);
    console.log('条码内容:' + theRes.result);
  },
});

// 只允许通过相机扫码
qin.scanCode({
  onlyFromCamera: true,
  success: (theRes) => {
    console.log('条码类型:' + theRes.scanType);
    console.log('条码内容:' + theRes.result);
  },
});

// 调起条码扫描
qin.scanCode({
  scanType: ['barCode'],
  success: (theRes) => {
    console.log('条码类型:' + theRes.scanType);
    console.log('条码内容:' + theRes.result);
  },
});
// 允许从相机和相册扫码
qin.scanCode({
  success: (theRes) => {
    console.log('条码类型:' + theRes.scanType);
    console.log('条码内容:' + theRes.result);
  },
});

// 只允许通过相机扫码
qin.scanCode({
  onlyFromCamera: true,
  success: (theRes) => {
    console.log('条码类型:' + theRes.scanType);
    console.log('条码内容:' + theRes.result);
  },
});

// 调起条码扫描
qin.scanCode({
  scanType: ['barCode'],
  success: (theRes) => {
    console.log('条码类型:' + theRes.scanType);
    console.log('条码内容:' + theRes.result);
  },
});

注意

  • 微信小程序自定义扫码界面,可使用camera组件。详见
  • 微信内嵌浏览器运行H5版时,可通过js sdk实现扫码,需要引入一个单独的 js ,详见
  • 在扫码界面点击返回也会进入 fail 回调中
  • 支付宝小程序不支持 success 回调中的 charSet , path