mazengfei
|
9a8ac83d33
|
feat(face): 新增人脸库展示与增量更新支持
- 在PLC设置界面新增人脸库统计模块,显示人脸总数并支持刷新
- 人脸总数数据从本地数据库异步查询并更新界面
- 修改API接口调用,采用POST请求体方式提交人脸数据(包含url和特征字符串)
- 在网络调用中实现人脸数据的增量分页获取,递归拉取所有数据页
- 维护人脸数据的最大时间戳,确保增量更新只处理最新数据
- 优化人脸数据缓存逻辑,第一页重置数据并同步时间戳
- 添加FeatureBody数据类封装人脸特征请求体参数
- 修正相关仓库层方法以适配新的API接口参数和返回结构
|
2026-07-07 17:33:04 +08:00 |
|
lvmeng
|
d1e9c4d34f
|
refactor(config): 更新环境配置URL映射关系
- 将TEST_BASE_URL替换为LOCAL_BASE_URL作为本地开发地址
- 将UAT_BASE_URL替换为TEST_BASE_URL作为测试环境地址
- 更新环境切换对话框中的单选按钮映射逻辑
- 修改应用启动时的设备ID判断逻辑和默认环境配置
- 移除部分临时测试代码并调整注释状态
|
2026-06-30 16:58:11 +08:00 |
|
lvmeng
|
38a00e8d34
|
refactor(face): 更新FaceEntity实体类并调整引擎激活逻辑
- 为FaceEntity添加默认构造函数并初始化注册时间
- 为FaceEntity的所有构造函数添加@Ignore注解
- 补充FaceEntity的Parcel序列化和反序列化逻辑
- 完善FaceEntity的getter和setter方法实现
- 更新equals和hashCode方法以包含新增字段
- 将人脸引擎激活从userViewModel切换到netViewModelV2
- 添加lint配置文件忽略通知权限检查警告
|
2026-06-30 10:31:06 +08:00 |
|
lvmeng
|
95b4f5e8f2
|
feat(network): 添加API V2版本支持并重构网络层
- 新增ApiServiceV2接口定义,支持人脸缓存、增量数据、设备配置等功能
- 添加NetViewModelV2视图模型,实现新版本API的数据处理逻辑
- 创建RemoteRepositoryV2仓库,封装API V2的网络请求操作
- 新增UserFaceModelV2数据模型,优化人脸特征数据结构
- 添加DeviceConfigV2设备配置模型,支持更多设备参数
- 在ApiClient中注册apiServiceV2实例
- 更新BaseActivity使用NetViewModelV2替代UserViewModel
- 修改DeviceInitActivity中的人脸数据获取和设备配置逻辑
- 重构FaceDao数据库访问对象,优化用户类型查询和删除操作
- 更新FaceEntity实体类,增加更多用户相关字段
- 移除BaseViewModel中的旧版网络基础功能代码
- 优化人脸数据同步和存储流程,提升性能表现
|
2026-06-30 10:08:10 +08:00 |
|
 mazengfeiandClaude Sonnet 4.6
|
e8735db27b
|
fix: 优化人脸采集日志及提示界面交互
- LoginByFaceActivity: 新增人脸采集关键节点调试日志
- PlcSettingActivity: 添加点击提示区域关闭提示布局功能,格式化代码
- activity_plc_setting.xml: 给提示 TextView 添加 id,字体调整为 32sp
Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
|
2026-06-01 18:10:16 +08:00 |
|
mazengfei
|
e1e4bc5123
|
feat(plc): 添加餐盘平台复位功能和无餐盘提示界面
- 在PLC设置页面添加餐盘平台复位按钮
- 实现平台复位功能,先执行平台上升再返回营业状态
- 添加无餐盘提示界面,包含图片和文字提示
- 修改启动方法支持显示提示界面参数传递
- 在人脸识别登录页面检测到无餐盘时自动显示提示界面
|
2026-04-16 18:06:47 +08:00 |
|
mazengfei
|
18f45e7821
|
修改uat环境域名端口
|
2026-04-15 16:53:45 +08:00 |
|
mazengfei
|
1826ac0f60
|
fix(login): 修复人脸登录后餐盘状态判断逻辑
- 当检测到餐盘已空时跳转到餐盘设置页面
- 当检测到剩余餐盘时继续执行初始化操作
- 添加餐盘状态检查的日志记录功能
|
2026-04-14 15:02:36 +08:00 |
|
mazengfei
|
d81381ae6f
|
fix(login): 修复人脸识别登录后的流程处理
- 移除出盘完成日志的重复打印
- 添加餐盘已空时的页面跳转功能
|
2026-04-14 14:59:09 +08:00 |
|
mazengfei
|
f35411a8a0
|
refactor(login): 优化人脸识别登录页面的串口操作实现
- 使用正确的实例引用调用PlcHelper的openSerialPort方法
- 在activity销毁时添加串口资源释放操作
- 改进代码格式化以提高可读性
- 确保串口资源在页面关闭时得到正确清理
|
2026-04-14 14:13:54 +08:00 |
|
mazengfei
|
93b46e38d4
|
refactor(login): 优化餐盘出盘及剩余状态提示逻辑
- 出盘后改为直接查询剩余餐盘状态以决定提示音播放
- result为false时播放无盘提示音并跳转首页
- result为true时播放出盘成功音效,继续查询剩余餐盘
- 新增checkRemainingPlate方法,查询餐盘状态并播放相应提示音
- 错误时跳过播放,确保流程顺畅跳转首页
- 删除之前注释的旧版餐盘检测逻辑代码
|
2026-04-14 14:00:17 +08:00 |
|
mazengfei
|
ba1a364ee8
|
临时版本
|
2026-04-14 11:50:39 +08:00 |
|
mazengfei
|
50b1023a44
|
fix(login): 修复人脸识别登录界面返回时串口连接超时问题
- 每次回到识别界面时重新打开串口连接
- 防止PLC SDK内部连接超时导致出盘失败
- 添加串口开启成功和失败的日志记录
|
2026-04-13 18:17:21 +08:00 |
|
 mazengfeiandClaude Sonnet 4.6
|
385ada4a0d
|
fix(face): 修复短时间内再次识别无法触发的问题
新增 RecognizeViewModel.resetFaceState(),在 resetRecognizeState() 时
同时清空粘性 LiveData 和 FaceHelper 内部 recognizeInfoMap,
防止旧 trackId 状态残留导致识别流程无法重新触发。
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-04-08 15:57:50 +08:00 |
|
mazengfei
|
ae708eeeed
|
优化
|
2026-04-08 15:41:42 +08:00 |
|
 mazengfeiandClaude Sonnet 4.6
|
2886e7d4a3
|
fix: 优化等待弹窗交互、人脸数据刷新及相机暂停逻辑
- BaseActivity: 等待对话框允许点击外部区域关闭
- LoginByFaceActivity: 恢复暂停相机时的预览帧处理
- PlcSettingActivity: 人脸数据更新成功后刷新人脸列表
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-04-03 10:41:25 +08:00 |
|
lvmeng
|
66a0c399ec
|
feat(face): 添加人脸识别距离检测和环境切换时的人脸数据重置功能
- 在FaceHelper中添加人脸宽度小于200像素时的过滤逻辑,避免远距离识别人脸
- 注释掉LoginByFaceActivity中的重复识别状态判断逻辑
- 在PlcSettingActivity中添加协程支持用于异步处理人脸数据清除操作
- 实现环境切换时清空所有人脸数据并重新获取用户人脸缓存的功能
- 修改UserViewModel中回调逻辑,当第一页无数据时返回false而非true
|
2026-04-02 19:11:51 +08:00 |
|
lvmeng
|
4cbe318ab2
|
feat(plc): 添加环境切换功能
- 在PLC设置页面增加环境切换按钮
- 集成EnvSwitchDialog对话框组件
- 实现切换环境按钮点击事件处理
- 配置环境切换界面布局和样式
- 添加环境相关的UI元素和交互逻辑
|
2026-03-31 18:12:52 +08:00 |
|
 lvmengandClaude Sonnet 4.6
|
1cbad71eaf
|
feat(dialog): 添加环境切换对话框并修复包名引用
- 新增 BaseDialog 抽象基类,统一对话框样式和行为
- 新增 EnvSwitchDialog 支持 TEST/UAT/PROD 三环境切换
- 修复 BaseDialog 和 EnvSwitchDialog 的包名(com.shuwei.intelligent.shelves → com.sw.platecabinet)
- 新增 View.hideKeyboard() 扩展函数到 CommonExt.kt
- 重构 GlobalData 环境 URL 常量命名(TEST_URL/PRO_URL → TEST_BASE_URL/UAT_BASE_URL/PROD_BASE_URL)
- MyApp 启动时从 SpTool 读取已保存的环境配置
- SpTool 新增 baseUrl 持久化支持
- 修正 drawable 资源颜色引用为硬编码值
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-03-31 18:12:22 +08:00 |
|
mazengfei
|
0a193ed84e
|
refactor(base): 优化协程作用域和空安全处理
- 将自定义CoroutineScope替换为lifecycleScope以避免内存泄漏
- 添加runCatching包装器处理潜在异常并记录错误日志
- 使用安全调用操作符替代强制调用防止空指针异常
- 在CountDownTimer中正确管理生命周期以避免内存泄漏
- 修复设备信息获取中的数组越界风险
- 统一异步操作的线程切换方式
- 保护Fragment中的_binding访问权限
- 改进相机助手对象引用的安全性检查
|
2026-03-31 17:12:14 +08:00 |
|
mazengfei
|
df9212d2dd
|
完善吐盘逻辑,调整设置界面,隐藏无关设置
|
2026-03-31 10:38:45 +08:00 |
|
mazengfei
|
cc16fcecff
|
feat(ui): 添加PLC控制设置界面
- 新增PLC设置界面布局文件,包含连接控制、出盘操作、平台控制等功能模块
- 在AndroidManifest.xml中注册PlcSettingActivity组件
- 为初始化和人脸识别登录页面添加右键双击打开PLC设置的功能
- 实现完整的PLC设置活动类,集成串口通信、自动模式、出盘、平台升降等控制功能
- 添加参数设置输入验证和状态信息实时显示功能
- 实现故障复位和状态刷新等关键操作接口
|
2026-03-30 18:17:49 +08:00 |
|
mazengfei
|
536b1b98b4
|
feat(login): 集成PLC控制系统实现餐盘柜硬件交互
- 添加plc_aar_104.aar依赖库支持PLC硬件通信
- 新增PlcCallback、PlcHelper和PlcStatus工具类封装PLC操作接口
- 实现PLC状态查询功能替换原有的模拟检测逻辑
- 集成出盘操作流程,支持真实硬件控制
- 优化餐盘检测逻辑,增加PLC通信异常处理机制
- 统一回调处理确保所有操作在主线程执行
|
2026-03-30 14:06:10 +08:00 |
|
lvmeng
|
7d2bf08023
|
feat(app): 重构应用为发盘机app,界面布局优化、移除无用代码
- 将应用名称从 SmartPlateCabinet 更改为 SmartTakePlate
- 更新初始化页面背景图片为 bg_collect_page3
- 替换 View 组件为 Space 组件以优化布局权重分配
- 调整取盘按钮尺寸和文字大小提升用户体验
- 简化人脸识别登录页面布局结构
- 更新应用图标资源为 logo_launcher
- 移除未使用的权限声明和活动注册
- 优化人脸识别相关 API 接口调用
- 调整时间显示逻辑仅保留时间部分
- 移除扫描枪事件监听相关功能代码
- 重构人脸识别数据更新逻辑
- 移除余额不足对话框相关代码
|
2026-03-27 15:48:04 +08:00 |
|
mazengfei
|
86c3c07e42
|
隐藏测试代码
|
2026-03-12 11:10:26 +08:00 |
|
 lvmengandClaude Sonnet 4.6
|
aa96455f66
|
refactor(face): 优化人脸特征存储与增量同步逻辑
- FaceDao 新增 queryAllByUserName 查询用户全部特征记录
- 改为查询所有记录后做去重判断,支持同一用户保存多条特征数据
- 将 Thread 替换为 lifecycleScope.launch(Dispatchers.IO) 协程
- 提取 getNewFaceEntity 方法消除重复代码
- 新增特征比对调试日志
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-03-11 16:02:13 +08:00 |
|
 lvmengandClaude Sonnet 4.6
|
786f2a123c
|
feat(face): 人脸库为空时自动进入新用户采集模式
- 新增 newUserCollect() 方法,人脸数据库记录为零时自动显示采集界面
- onResume 中异步查询人脸数量,据此决定进入采集模式或正常识别模式
- 修复 isFirstOpen 依赖 1000ms 延迟的竞态问题,改为立即置 false
- 顺带修改 FunActivity 按钮文案为「清除并拉取全量数据」
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-03-11 15:01:39 +08:00 |
|
lvmeng
|
f2a6de55b9
|
优化默认值
|
2026-03-10 10:47:24 +08:00 |
|
lvmeng
|
e51864d400
|
优化默认值
|
2026-03-10 10:45:16 +08:00 |
|
lvmeng
|
e63d3f7624
|
修改会员字段名称
|
2026-03-10 08:32:18 +08:00 |
|
 lvmengandClaude Sonnet 4.6
|
0a110020b9
|
refactor(face): 重构倒计时工具,统一使用 CountDownUtil 实例化方案
- CountDownUtil 由 object 单例改为 class,各调用方持有独立实例,互不干扰
- 修复 onCompletion 取消时误触发 onFinish 的 bug
- LoginByFaceActivity 新增 recognizeCountDownUtil / leftCountDownUtil 两个实例
- 移除 CountDownManager 及其所有调用,消除两套倒计时并存的混乱
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-03-06 15:50:36 +08:00 |
|
lvmeng
|
f99538890c
|
代码优化
|
2026-03-06 15:30:25 +08:00 |
|
lvmeng
|
6d8ca7c83f
|
人脸增量接口改为间隔10秒执行
|
2026-03-05 16:21:45 +08:00 |
|
mazengfei
|
c6bcdc03ba
|
增量时间戳为0不再限制
|
2026-03-05 12:38:48 +08:00 |
|
lvmeng
|
3b88b011a3
|
全量人脸数据改为首次打开app获取
|
2026-03-05 09:43:41 +08:00 |
|
mazengfei
|
b96f9872cb
|
优化
|
2026-03-04 14:56:16 +08:00 |
|
 lvmengandClaude Sonnet 4.6
|
eef13ff56e
|
refactor(activity): 将 refreshFaceList 移至 insert 判断块外,确保删除操作后也触发刷新
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-03-04 09:15:00 +08:00 |
|
 lvmengandClaude Sonnet 4.6
|
6c937c5f5f
|
fix(activity): 修复 queryUserCount 在主线程执行 Room 查询导致崩溃的问题
- DB 查询改用 withContext(Dispatchers.IO) 切换至 IO 线程
- clearFace/clearFaceAndGetAll 操作完成后自动刷新用户计数
- 删除未使用的 CoroutineDispatcher import
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-03-04 09:07:48 +08:00 |
|
lvmeng
|
513f4dbaea
|
增加查询用户数量
|
2026-03-04 09:03:32 +08:00 |
|
 lvmengandClaude Sonnet 4.6
|
037816c303
|
fix(activity): 修复协程冗余 start() 调用并收敛方法可见性
- 移除 lifecycleScope.launch 后的 .start(),launch 已自动启动协程
- createBlackNV21Frame 和 emptyFrame 加 private 修饰符,收敛对外可见性
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-03-03 10:20:37 +08:00 |
|
 lvmengandClaude Sonnet 4.6
|
dca9496bee
|
refactor(activity): 全面优化 LoginByFaceActivity 代码质量
- 移除静态 instance 引用,消除潜在内存泄漏风险
- Observer {} 显式包装统一改为 Kotlin lambda 写法
- 匿名 Debouncer 改为成员变量 openDebouncer(修复防抖失效 bug)
- Thread.start() 替换为 lifecycleScope.launch(Dispatchers.IO)
- Arrays.fill() 替换为 Kotlin ByteArray.fill(),移除 Java import
- 清理死字段:regDebouncer、faceUseSwitch、faceFailThreshold、tempUserId
- Java getter 语法统一改为 Kotlin 属性访问
- 移除 protected override、无效 handleLoginSuccess override 等冗余代码
- 顶部添加 @file:Suppress("DEPRECATION") 统一处理废弃 API 警告
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-03-03 10:18:39 +08:00 |
|
 lvmengandClaude Sonnet 4.6
|
08f1963054
|
refactor(network): 优化 ApiClient 代码,清理死代码并统一懒加载初始化
- 移除未使用的 DEVICE_BASE_URL 中间变量,直接引用 GlobalData.appBaseUrl
- okHttpClient 改为 private,收敛可见性
- retrofit 改为 by lazy,与 apiService 保持一致
- 简化日志拦截器 lambda 写法
- 清除所有注释掉的废弃代码
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-03-03 09:19:49 +08:00 |
|
mazengfei
|
4ea95092f5
|
优化
|
2026-02-28 16:54:57 +08:00 |
|
lvmeng
|
cc88dccaa6
|
识别成功未提示及采集时间长问题优化
|
2026-02-28 10:03:45 +08:00 |
|
mazengfei
|
e979322697
|
优化
|
2026-02-05 18:16:38 +08:00 |
|
lvmeng
|
1e6ea1517c
|
人脸识别+采集分开处理
|
2026-02-05 15:05:45 +08:00 |
|
lvmeng
|
2ee4d2d320
|
人脸识别+采集分开处理
|
2026-02-05 13:32:45 +08:00 |
|
lvmeng
|
67f5d07f25
|
优化
|
2026-02-04 18:01:15 +08:00 |
|
lvmeng
|
79e089363d
|
优化重复注册
|
2026-02-04 10:20:34 +08:00 |
|
lvmeng
|
16c9e5f61a
|
优化重复注册
|
2026-02-04 09:23:19 +08:00 |
|