5 Commits

Author SHA1 Message Date
2a1cfd230d feat(arc): 添加虹软人脸识别插件基础功能
- 集成虹软 ArcSoft Face SDK,提供人脸检测、识别、活体检测功能
- 实现 Android 平台原生插件,包含 ArcPlugin 和 FaceEngineManager
- 添加完整的人脸错误码枚举(586个错误码),覆盖 SDK 所有错误情况
- 创建人脸信息数据模型 FaceInfo,封装检测结果和特征数据
- 配置 Android 权限和依赖,包括相机、存储、网络等必要权限
- 添加方法通道实现,连接 Flutter 层与原生层通信
- 配置项目基础文件,包含 .gitignore、分析选项和元数据配置
- 实现单元测试框架,包含 Dart 和 Java 层的基本测试用例
- 添加示例应用配置,验证插件集成和基本功能使用
- 提供详细的开发指导文档 CLAUDE.md,说明架构和 API 使用方法
2026-03-30 17:13:58 +08:00
86e268ae1c fix: 修复特征提取失败(错误码81929)
问题: extractFaceFeature 返回错误码 81929 (MERR_FSDK_FACEFEATURE_FACEDATA)

根本原因: detectFaces 返回的人脸信息缺少 faceData 字段,
而虹软 SDK 的 extractFaceFeature 必须要有这个字段才能提取特征

修复:
- FaceEngineManager.convertFaceInfoToList: 添加返回 faceData
- ArcPlugin.handleExtractFaceFeature: 接收并传递 faceData 参数
- Dart API: extractFaceFeature 添加 faceData 参数
- example: 传递 faceData 到特征提取调用

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-30 16:58:12 +08:00
3c7e992489 feat(example): 实现完整的人脸识别示例
- 实现注册流程: 人脸检测 -> 活体检测 -> 特征提取(REGISTER) -> 存储
- 实现验证流程: 人脸检测 -> 活体检测 -> 特征提取(RECOGNIZE) -> 比对
- 使用 extractFaceFeature() 和 compareFaceFeature() API
- 使用 SharedPreferences 存储人脸特征数据
- 支持注册/验证模式切换
- 显示相似度和验证结果

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-30 16:08:33 +08:00
1c4f01904e fix(example): 修复注册后不显示已注册状态的问题
问题:注册按钮只更新了显示列表,没有将特征标识和ID存入映射表
修复:
- 添加 _currentFaceKeys 保存当前帧的人脸特征标识
- 注册时将特征标识和生成的ID存入 _faceIdMap
- 下次检测时可以从映射表中找到已注册的ID

Quick task: 260330-ll6
2026-03-30 15:35:42 +08:00
184c3a9f16 feat(example): 添加人脸注册按钮和ID显示功能
- 添加注册按钮,点击生成随机人脸ID(格式:F + 8位数字)
- 实时显示检测到的人脸对应的ID
- 使用彩色标签区分已注册(绿色)和未注册(橙色)状态

Quick task: 260330-ld1
2026-03-30 15:28:31 +08:00