scanCodeInApp
App 端扫码适配器,被 showScanCode 内部调用。
前置依赖
typescript
interface ScanCodeInAppDeps {
scanCode: UniApp['scanCode']
log: Console['log']
error: Console['error']
}| 依赖 | 说明 |
|---|---|
scanCode | UniApp 扫码 API |
log / error | 成功 / 失败日志 |
scanCodeInApp
函数签名
typescript
function scanCodeInApp(
options?: ScanCodeOptions,
deps: ScanCodeInAppDeps
): Promise<ScanCodeResult>参数
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
options.onlyFromCamera | boolean | 否 | 是否仅相机扫码,默认 false |
options.scanType | ('qrCode' | 'barCode')[] | 否 | 码类型,默认 ['barCode', 'qrCode'] |
options.autoDecodeCharSet | boolean | 否 | 是否自动识别字符集,默认 false |
deps | ScanCodeInAppDeps | 是 | 环境依赖 |
返回值
| 类型 | 说明 |
|---|---|
Promise<ScanCodeResult> | 含 result(码内容)、scanType、charSet、path;取消或失败 reject |
工作原理
- 调用
deps.scanCode调起 App 原生扫码界面。 - 成功时将原生响应映射为
ScanCodeResult,保留raw。 - 用户取消或相机权限拒绝时 reject。