更新记录
1.0.0(2026-11-02)
平台兼容性
uni-app(5.14)
| Vue2 | Vue3 | Chrome | Safari | app-vue | app-nvue | Android | iOS | 鸿蒙 |
|---|---|---|---|---|---|---|---|---|
| √ | √ | × | × | √ | √ | 9.0 | 15 | × |
| 微信小程序 | 支付宝小程序 | 抖音小程序 | 百度小程序 | 快手小程序 | 京东小程序 | 鸿蒙元服务 | QQ小程序 | 飞书小程序 | 小红书小程序 | 快应用-华为 | 快应用-联盟 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| - | - | - | - | - | - | - | - | - | - | - | - |
uni-app x(5.14)
| Chrome | Safari | Android | iOS | 鸿蒙 | 微信小程序 |
|---|---|---|---|---|---|
| - | - | - | - | - | - |
其他
| 多语言 | 暗黑模式 | 宽屏模式 | 蒸汽模式 |
|---|---|---|---|
| √ | √ | √ | × |
willow-scan
willow-scan v1.0.0 正式发布
发布日期:2026-11-02
支持平台:iOS / Android
适配环境:HBuilderX 4.25+ / Android 离线打包 (CameraX 1.4.2) / iOS 真机调试
🚀 核心特性 (Features)
跨端一致的自定义 UI:告别系统自带扫码界面的黑盒限制,双端实现完全一致的沉浸式扫码体验。包含顶部/底部白色圆角卡片面板、动态上下往复扫描线。
纯代码手绘矢量图标:内置基于 Canvas/Path 重绘的极简相册、闪光灯、关闭按钮,彻底解决不同分辨率及 Android 系统自带图标模糊发虚的问题。
多码制一维码识别:支持 Code 128, Code 39, Code 93, EAN-13, EAN-8, UPC-A, UPC-E, ITF, Codabar 等主流一维码及二维码。
系统相册识别(免敏感权限):支持从相册选图识别。Android 端采用系统 Photo Picker 机制,无需声明 READ_MEDIA_IMAGES 等存储权限,完美契合 Google Play 隐私合规要求。
手电筒与连续扫码:内置补光灯开关(开启时图标会跟随主题色变化)。支持多次连续扫码(通过 @UTSJS.keepAlive 与 onScanCode 机制保障回调持续存活)。
国际化 UI 参数透传:支持前端通过 options.ui 动态传入 title、subTitle、tipText、frameColor 等参数,轻松适配多国语言。
🛠️ 底层架构与技术突破 (Technical Highlights)
iOS 原生混编:基于 AVFoundation + Vision 框架,Swift 源码直接混编,利用 @argumentLabel 解决跨语言传参标签冲突。
Android 线程隔离:针对 UTS 线程池导致 CameraX 崩溃的痛点,封装原生 CameraXHelper。通过 Handler(Looper.getMainLooper()) 强制主线程生命周期绑定,解决 addObserver must be called on the main thread 异常。
抽象方法防御:自定义 SafeAnalyzer 包装类,显式 override getDefaultTargetResolution(),彻底根治 CameraX 运行时版本不一致导致的 AbstractMethodError。
离线打包支持:解决 Android Studio 独立工程引入 UTS 模块时的依赖冲突,支持 Kotlin 2.2.0 版本及 AGP 8.11.1 环境构建。

收藏人数:
购买源码授权版(
试用
使用 HBuilderX 导入示例项目
赞赏(0)
下载 0
赞赏 0
下载 12734767
赞赏 1959
赞赏
京公网安备:11010802035340号