feat(data): 更新食物营养数据模型并优化向量数据处理

- 在DataBean中将肉蛋相关字段重命名为肉蛋豆,并添加总重量字段
- 新增FoodVectorTool工具类用于处理食物向量数据的分页获取和存储
- 重构InitActivity中的食物向量数据获取逻辑,使用新的工具类替代原有实现
- 在MainActivity中集成食物向量数据同步功能,在清除本地数据后重新获取
- 更新MainScreenPresentation中营养信息显示逻辑,适配新的数据模型结构
- 修改ApiClient中的日志标记逻辑,为不同接口添加特定的标签
- 调整食物订单列表的数据更新方式,优化适配器通知策略
This commit is contained in:
2026-04-03 18:04:59 +08:00
parent 0127697560
commit ab0d9b35f5
6 changed files with 152 additions and 67 deletions
@@ -55,6 +55,7 @@ import com.sw.dualscreen.socket.TcpClient
import com.sw.dualscreen.utils.ActivityManager
import com.sw.dualscreen.utils.BitmapSaver
import com.sw.dualscreen.utils.Debouncer
import com.sw.dualscreen.utils.FoodVectorTool
import com.sw.dualscreen.utils.GsonUtils
import com.sw.dualscreen.utils.ImageUtil
import com.sw.dualscreen.utils.IntervalExecutor
@@ -215,6 +216,21 @@ class MainActivity : BaseActivity<ActivityMainBinding>() {
withContext(Dispatchers.IO) {
FaceServer.getInstance().clearAllFaces()
}
withContext(Dispatchers.IO) {
ObjectBox.removeAll()
}
FoodVectorTool.getFoodVector(
userViewModel = viewModel,
onPageFinish = { list ->
list?.let { FoodVectorTool.saveFoodVector(lifecycleScope,list) }
},
successBlock = {
viewModel.getUserFaceCache(pageNo = 1)
}, failureBlock = {
hideWaitingDialog() // 显示提示信息
ToastUtils.showToast(it)
}
)
}
viewModel.getUserFaceCache(pageNo = 1, onSuccess = {
recognizeViewModel.refreshFaceList()