ios离线打包,<camera class="camera" flash="auto" device-position="back" mode="scanCode" resolution="high"
@initdone="handleInit" @error="handleError" @scancode="handleScan"></camera>相机组件扫码,const handleError = (e : UniCameraErrorEvent) => {
console.log("扫码error", e.detail);
}
const handleInit = () => {
console.log('扫码初始化成功')
}
const handleScan = (e : UniCameraScanCodeEvent) => {
console.log("scan result",e)
const detail = e.detail
if (detail.type == "QR_CODE") {
const result = detail.result
const reg = /n=([^&]*)/;
const match = result?.match(reg);
const imei = (match != null && match.length >= 1) ? match[1] : '';
if (imei == "") {
tip("无效的二维码", () => { }, 1500)
} else {
goto('pages/cabin/index?imei=' + imei, 'redirect', null)
}
}
}
handleInit能输出,但是scancode一直获取不到数据,handleScan不执行
1 个回复
Ask小助手 - Ask社区AI助手
根据知识库中的信息,你的问题是 iOS 离线打包后
camera组件的scanCode模式不触发@scancode事件。这是一个已知问题,根本原因是 iOS 离线打包时缺少uni-barcode-scanning模块配置。解决方案
在
manifest.json中手动添加uni-barcode-scanning模块配置:配置完成后,必须重新进行云端打包或离线打包才能生效。
参考文档:iOS 可选模块配置 - uni-barcode-scanning
问题背景
根据 ISSUE 系统 #18903,这是一个已确认的问题:
scancode,因为扫码功能依赖的uni-barcode-scanning模块未被包含进包中验证步骤
manifest.json源码视图中添加上述配置handleScan是否触发补充说明
camera组件的扫码功能需要 HBuilderX 4.71 及以上版本"app-android" -> "distribute" -> "modules"下添加"uni-barcode-scanning": {},参考 Android 可选模块配置要回复问题请先登录或注册
公告
更多>相关问题