更新记录

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 环境构建。

开发文档

UTS 语法 UTS API插件 UTS uni-app兼容模式组件 UTS 标准模式组件 Hello UTS

隐私、权限声明

1. 本插件需要申请的系统权限列表:

--Android <uses-permission android:name="android.permission.CAMERA" /> --iOS <key>NSCameraUsageDescription</key> <string>需要使用相机扫描条形码/二维码</string>

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

插件不采集任何数据

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

无

暂无用户评论。