Commit Graph
48 Commits
Author SHA1 Message Date
lvmeng e63078dfd0 fix(inbound): 修复API响应码类型不匹配问题
- 将InboundApiResponse中的code字段从Int类型改为String?类型
- 更新isSuccess方法判断逻辑,由code == 200改为code == "00000"
- 修改错误处理中返回的响应码格式,统一使用字符串"-1"
2026-05-27 09:23:07 +08:00
lvmeng 8b0f850d27 feat(activity): StoreActivity 进入时直接弹出入库弹窗,关闭后退出页面
- InboundGoodsStoreDialog.goods 改为可空类型,支持毛菜无需预搜索直接录入
- StoreActivity 根据 storeType 自动弹出对应弹窗(毛菜→录入弹窗,净菜→检索弹窗)
- GoodsListActivity.recognizeFood 标记为 open,StoreActivity override 为空以关闭识别
- 修复相机预览被 cvImageBg 白色遮罩遮挡的问题
2026-05-27 09:21:39 +08:00
lvmeng 080f505c5d refactor(inbound): 将净材相关功能调整为净菜入库功能
- 将界面中的"净材"文本全部替换为"净菜"
- 更新按钮ID命名从btnOrderPurchase改为btnCleanDishStore
- 更新毛菜按钮ID从btnOrderSelfProcurement改为btnRawDishStore
- 修改入库弹窗类注释说明,将净材改为净菜
- 更新storeType参数说明,将净材改为净菜
- 重构动态表单字段配置,统一字段提示文本为"请输入/请选择"格式
- 将净菜类型字段设置为固定类型并添加规格下拉选项
- 更新RecyclerView设置方式,优化代码结构
- 调整标题显示逻辑,根据入库类型动态显示净菜或毛菜入库
- 优化相机预览布局,隐藏图片背景视图
- 更新StoreActivity中关于净菜类型的注释说明
2026-05-27 09:08:18 +08:00
lvmeng 37289d43f3 fix(ui): 将表单布局从 FlexboxLayoutManager 改为 GridLayoutManager 两列,溯源码改为必填 2026-05-26 21:34:38 +08:00
lvmengandClaude Sonnet 4.6 fabc4d780a feat(inbound): 新增入库秤毛菜/净材入库功能
- 新增入库专用网络层(InboundApiService、InboundRepository、InboundNetworkModule、InboundInterceptor)
- 新增入库相关数据模型(IngredientByTrace、SupplierOption、ZoneOption、GoodsSearchModel、CleanInboundParam、RawInboundParam、InboundApiResponse)
- 新增 FormField 动态表单模型(FieldType 枚举、apiKey 字段映射、submitValueId 控制提交值)
- 新增 FormFieldAdapter,基于 FlexboxLayoutManager 实现两列自动换行表单,支持五种字段类型
- 新增 InboundGoodsSearchDialog(溯源码检索食材)和 InboundGoodsStoreDialog(入库录入,表单转 Map 提交)
- 新增 StoreViewModel,提交接口入参改为 Map<String, Any>
- 重构 StoreActivity:注入 StoreViewModel,onResume 预加载供应商/区域列表到 GlobalData
- 修改 GoodsListActivity:抽取 onGoodsSearchRequested() 供子类重写
- 修改 GoodsRecognizeDialog:StoreActivity 场景下打开 InboundGoodsStoreDialog
- GlobalData 新增 inboundSupplierList / inboundZoneList 全局缓存
- build.gradle.kts 新增 flexbox:3.0.0 依赖

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-26 21:18:09 +08:00
lvmengandClaude Sonnet 4.6 ac9494a0f3 feat: 新增首页净材/毛菜入口按钮及StoreActivity称重识别页面
- 首页新增净材、毛菜两个渐变色按钮(蓝/橙),隐藏原ImageView入口
- 新增StoreActivity,继承GoodsListActivity,复用秤监听、相机、识别弹窗能力
- GoodsListActivity.replaceIncludeContent()新增else分支,非采购/自采页面隐藏flContainer
- BaseDialog设备列表提取为常量,优化小屏幕判断逻辑
- 更新本地测试环境地址及环境切换弹窗文案

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-26 18:54:30 +08:00
lvmeng fa58304ca1 refactor(network): 移除设备认证和登录相关API接口
- 注释掉设备获取token的API接口和服务端点
- 移除设备信息查询相关的API接口和服务端点
- 删除登录功能的API接口和服务端点
- 移除部分收货功能的API接口和服务端点
- 注释掉添加物品采购单位的API接口和服务端点
- 相应移除ViewModel中的设备认证和登录逻辑
- 删除Repository中对应的网络请求方法
2026-05-26 14:10:00 +08:00
lvmeng 07e0a1996f 入库单数据提交入库新增采购单号字段purCode 2026-05-11 18:20:35 +08:00
lvmeng 79f58a36e3 fix(activity): 修复拿走物品后识别弹窗未自动关闭的问题
- 将关闭阈值从 weight < 10 调整为 weight < 20,覆盖轻微零点漂移
- 将 size == 1 判断改为 none { isShowing && it != goodsRecognizeDialog },避免 DialogManager 中存在幽灵条目时导致关闭逻辑失效
- GoodsStoreDialog:无论 funcType 值,均拍照上传图片以增加样本数据
- BaseViewModel:recognizeGoodsList 增加异常捕获,异常时回调空列表
2026-05-09 15:44:05 +08:00
lvmeng 7c5278bc88 Merge remote-tracking branch 'origin/main_lvmeng_0131' into main_lvmeng_0131
# Conflicts:
#	app/src/main/assets/best_embedding_model_mobile.pt
#	app/src/main/assets/data/class_info.json
#	app/src/main/assets/data/embeddings.json
#	app/src/main/assets/data/labels.json
2026-04-28 15:42:47 +08:00
lvmeng c995daf48d 优化已采集页面数据统计、更新初始化页面加载动画资源、替换新识别模型 2026-04-28 15:29:53 +08:00
lvmengandClaude Sonnet 4.6 8eae8c2b3c feat(global): 新增多环境切换弹窗及启动时自动读取已保存环境配置
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-31 09:25:16 +08:00
lvmeng 532f840a78 feat(model): 添加移动端嵌入模型文件
- 新增 best_embedding_model_mobile.pt 模型文件
- 该模型用于移动端设备的嵌入计算功能
- 文件大小约为 431 行二进制数据
2026-03-26 09:15:09 +08:00
lvmeng 915e20cd23 Merge remote-tracking branch 'origin/main_lvmeng_0131' into main_lvmeng_0131 2026-03-20 15:58:40 +08:00
lvmeng d0fa46a8c8 增加测试环境配置 2026-03-20 15:58:30 +08:00
lvmeng 4b241ba81b feat(activity): 新增 InitActivity 初始化页面,实现网络检测和倒计时功能 2026-03-13 17:36:46 +08:00
lvmeng 75306af483 fix: 修正 Toast 扩展方法导入和更新下载地址
- 恢复 ToastUtils.kt 为原始注释状态(Compose 版本)
- 修正 FunActivity 导入,使用 Common.kt 中已定义的 Context.toast 扩展方法
- 更新下载地址为真实的资源包地址
2026-03-13 14:16:16 +08:00
lvmeng c697b4aa65 feat(activity): 添加 Zip 文件下载解压工具和趣味页面
- 新增 ZipDownloadUtils:支持大文件下载、进度回调、断点续传
- 新增 ZipExtractUtils:支持 Zip 文件解压、进度回调、自动创建目录
- 新增 ModelResourceManager:高层资源管理器,协调下载和解压流程
- 新增 FunActivity:趣味测试页面,包含 3 个按钮
  - 按钮 1:下载 Zip 文件
  - 按钮 2:解压 Zip 文件
  - 按钮 3:读取 JSON 并保存到 ObjectBox 数据库
- 新增 activity_fun.xml:趣味页面布局
- 新增 ZipToolsUsageExample:工具使用示例文档
- 改进 ToastUtils:改为 Context 扩展方法 (toast/toastLong)
- 暂时注释 HomeActivity 中 tvTime 的点击事件
2026-03-13 11:27:53 +08:00
lvmeng baee019444 ObjectBox数据库操作增加线程资源清理 2026-03-12 17:25:23 +08:00
lvmeng e50d6ceb60 入库列表页增加采集入库,方法采集完成直接入库和验证识别效果 2026-03-12 14:39:41 +08:00
lvmengandClaude Sonnet 4.6 7563209cf1 refactor(activity): 优化 FoodCollectionActivity 性能与稳定性
- 修复 runBlocking 阻塞主线程,改为 lifecycleScope.launch 协程异步执行
- 耗时操作(I/O、图像裁剪、TFLite 推理、ObjectBox 读写)全部切换至 Dispatchers.IO
- 修复 bitmap 内存泄漏:用 try/finally 保证所有退出路径均回收
- 修复 uriToBitmap 返回 null 时 loading 转圈永不消失的 Bug
- 修复 DbException 块、index==-1 分支缺少 hideWaitingDialog() 的 Bug
- 移除重复 ReceiptViewModel,统一使用单例;移除空 initBox() 函数
- 新增 searchJob 取消上一次未完成搜索,修复 clearData() 遗漏取消的 Bug
- 提取 createWaitingDialog() 消除 dialog 创建代码重复
- 修复 clearCoilCache() 使用新实例无法清缓存,改用 context.imageLoader 单例
- upload() 两处强制解包 !! 改为安全调用,避免 NPE 崩溃
- 清理无用注释、废弃代码块、冗余注解及无用 import

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-11 18:04:21 +08:00
lvmeng 1cc2358d72 优化向量查询,替换新模型 2026-03-10 13:33:31 +08:00
lvmeng 1206ecd575 优化向量查询结果数据 2026-03-10 13:00:45 +08:00
lvmeng f53669d048 优化统计 2026-03-10 11:24:39 +08:00
lvmeng 244013f99f 填充采购单数据并对优化显示格式 2026-03-09 10:16:21 +08:00
lvmengandClaude Sonnet 4.6 a14c2c3348 refactor(utils): 移除 onSuccess 冗余回调并优化 ObjectBox 数据库操作
- PhotoCaptureHelper: 删除构造参数 onSuccess,成功回调统一由 callbackList 分发
- CameraUtils: 同步移除 initCaptureHelper 中的 onSuccess = {} 空参数
- ObjectBox: 使用 QueryBuilder 替代全量内存过滤(count/filter/remove),提升查询性能
- ObjectBox: 修复 isStorageAvailable 错误检查外部存储状态,改为仅检查内部存储
- ObjectBox: boxStore 添加 @Volatile 注解保证多线程可见性
- ObjectBox: copyAndGzipDatabaseFileTo 增加 IOException 捕获,避免文件异常崩溃
- ObjectBox: safeDbOp 中使用安全调用替代 !! 断言,避免 NPE

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-06 16:52:19 +08:00
lvmengandClaude Sonnet 4.6 26d9eabc5f feat(activity): 优化图片加载为协程并新增大图左右切换功能
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-06 14:41:39 +08:00
lvmengandClaude Sonnet 4.6 301b91581b feat(activity): 新增本地图片预览功能及大图查看入口
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-06 14:22:38 +08:00
lvmengandClaude Sonnet 4.6 8a6a6dfa2d chore(assets): 替换嵌入模型及更新对应数据文件
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-06 09:58:10 +08:00
lvmengandClaude Sonnet 4.6 2c3ebd86f9 refactor: 注释移除 Compose 相关代码,统一入口替换为 HomeActivity
- 注释掉全部 Compose UI 代码(ui/、theme/、NavController、MainActivity、InitActivity 等)
- BorderExt、TextExt、ToastUtils、LoadingState 中的 Compose 逻辑全部注释
- LoadingState 保留 show()/hide() 空方法避免编译报错
- 注释 SensorScaleUtils、BaseViewModel、DeviceViewModel 中的 ToastUtils 调用
- BootReceiver、CrashHandler 中 MainActivity 替换为 HomeActivity
- UserViewModel、PurchaseOrderActivity 删除残余 Compose import
- build.gradle.kts 替换为非 Compose 的 activity-ktx 和 coil 依赖

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-06 09:28:55 +08:00
lvmengandClaude Sonnet 4.6 b6c7570efd feat(activity): 新增 BaseActivity 沉浸式基类和 HomeActivity 首页,统一 Activity 继承关系
- 新增 BaseActivity:继承 ComponentActivity,隐藏状态栏和导航栏,底部上滑可临时唤出导航栏
- 新增 HomeActivity(XML 版本)及对应布局 activity_home.xml,作为应用启动入口
- GoodsListActivity、FoodCollectionActivity、LocalImagePreviewActivity、PurchaseOrderActivity 统一改为继承 BaseActivity
- 更新 AndroidManifest.xml:HomeActivity 注册为启动入口

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-05 18:54:01 +08:00
lvmeng d50b11c9aa 采购单入库商品默认显示采购单信息;采集数据显示优化 2026-03-05 16:26:38 +08:00
lvmeng f219c57fad 优化 2026-03-03 18:31:55 +08:00
lvmeng b034e9371f 成功订单页面 2026-02-12 12:44:30 +08:00
lvmeng 655e9cd56e 优化 2026-02-10 19:02:21 +08:00
lvmeng 3d29e17225 优化 2026-02-10 09:36:18 +08:00
lvmeng fdefdf9eba 优化 2026-02-04 09:11:41 +08:00
lvmeng 39e73f3b29 优化 2026-02-04 08:43:04 +08:00
lvmeng b442dddf8f 优化首页订单加载 2026-02-03 19:01:18 +08:00
lvmeng 943f969e98 优化 2026-02-02 09:15:25 +08:00
lvmeng af120eabd0 改造objectbox 2026-01-31 17:49:44 +08:00
lvmeng 4322c9495b 改造objectbox 2026-01-31 13:17:13 +08:00
lvmeng efcf3d436b 提交入库参数、采集数据优化 2026-01-30 15:07:56 +08:00
lvmeng c76095788c 优化 2026-01-23 13:30:59 +08:00
lvmeng d82595a529 优化 2026-01-23 11:33:29 +08:00
lvmeng f216e14338 解决数据库异常情况 2026-01-22 14:47:56 +08:00
lvmeng 196cacfe5a 初始代码提交 2026-01-14 10:36:27 +08:00
lvmeng 600aa4dbb0 Initial commit 2026-01-14 10:34:41 +08:00