Skip to content

scanCodeInApp ​

App 端扫码适配器,被 showScanCode 内部调用。

前置依赖 ​

typescript
interface ScanCodeInAppDeps {
  scanCode: UniApp['scanCode']
  log: Console['log']
  error: Console['error']
}
依赖说明
scanCodeUniApp 扫码 API
log / error成功 / 失败日志

scanCodeInApp ​

函数签名 ​

typescript
function scanCodeInApp(
  options?: ScanCodeOptions,
  deps: ScanCodeInAppDeps
): Promise<ScanCodeResult>

参数 ​

参数名类型必填说明
options.onlyFromCameraboolean否是否仅相机扫码,默认 false
options.scanType('qrCode' | 'barCode')[]否码类型,默认 ['barCode', 'qrCode']
options.autoDecodeCharSetboolean否是否自动识别字符集,默认 false
depsScanCodeInAppDeps是环境依赖

返回值 ​

类型说明
Promise<ScanCodeResult>含 result(码内容)、scanType、charSet、path;取消或失败 reject

工作原理 ​

  1. 调用 deps.scanCode 调起 App 原生扫码界面。
  2. 成功时将原生响应映射为 ScanCodeResult,保留 raw。
  3. 用户取消或相机权限拒绝时 reject。