← 返回需求与原型评审

v0.3最新决定(覆盖下方v0.2的PC目标与手机增量):PC真源是用户指定的https://zhct.yyangpt.cn/dist/,对应store/public/static(Vue2+ElementUI);已真实找到“膳食监控→个体监控→查看分析→膳食记录”,复用该页,不新建侧栏菜单或一级页面。手机AI运动营养师不改,仅作现有页面示意。人员头像head_img已在正确系统源码中证实,不再是未知字段。当前实施切片见store原页复用说明。跨系统人员ID映射仍需真实核验。

v0.2 最小增量契约(覆盖v0.1)

生产DoR: BLOCKED。禁止直接执行v0.1中的新上传API、每次人工选人和人工复核必经流程。

复用与扩展

部分 复用事实 必要增量
选图上传 pages/chat/index.vue、services/imageService.js→UploadApi.image→upload/image;最多6图 复用既有file/message ID和发送成功事件,不新建上传页面或服务
识别 identify.vue→RunAgent({image,type:'这是什么菜'}) 后端自动处理与持久化四指标、估计分量、结果状态、来源与版本;不把临时返回只留前端
人员 现有账号→user/staff映射 复用真实映射;缺失/冲突才异常处理,禁止靠人脸推断
PC明细 store foodRecord.vue与personalMonitorCheck.vue已有头像、日期、三餐/菜品/重量/能量 扩展本人照片、上传原图、上传/用餐时间、入口、消息、子类型、四指标、状态、原图放大
体测 已有体重管理及设备API 保持既有链路;两表关联同一人员,不另建强制体测表单

最小落库字段提议

在既有消息/饮食模型上扩展或关联记录,是否新表必须先核实真实Schema,不能假设本轮已完成迁移设计。

餐次与子类型兼容

meal_times=1/2/3保持早餐/午餐/晚餐原值,前台各组展示对应加餐;4保留夜宵。intake_type在组内区分正餐、加餐、零食,实际进食事件可多条。未确定meal_times使用nullable+待归餐状态,不擅自新增0/5之类现有枚举值。

来源优先级提议:已有饮食入口显式mealId/selectDate;然后消息明确日期/餐次/时间;冲突则待确认。仅上传时刻不能作为实际用餐时间,尤其补记/跨天;不明确日期的“昨天”等须参考可信客户端/用户时区或异常补充。具体NLP与时间规则待锁定。

普通食物问答(例如“这个有多少热量”)与实际摄入记录区分。照片是否食物不等于用户确实吃了它;不得把所有图片自动写饮食账本。已明确记录意图/餐次上下文才正式归餐,不明进入候选/待归餐而非确定摄入。

状态与API行为

事件契约为新提议,文件上传与消息发送API本身继续沿用。新增后端消费逻辑应从已提交消息/饮食事件触发;仅选图尚未发送不记入饮食。

PC查询复用/扩展store的/p/Ontoanalysis/FoodRecord及/p/Ontoanalysis/StaffInfo,按已有参数规范接日期/人员/餐次/类型分页。真实返回结构待当前分支核验;新需求不能通过前端拼接其它人员的数据绕过服务端权限。

纠错须expected_version,冲突返回409且刷新后再处理;权限拒绝401/403,图片失效重取受控引用;算法失败不伪装空餐。照片与人物照片各自鉴权,公开永久链接不作为默认设计。

导出

饮食导出按上传事件×食物项,带人员、日期/进食时间、原餐次值、进食类型、消息/图片引用、上传时间、四指标、分量依据、识别状态、缺失原因。待处理记录保留状态,不能因为未人工复核被隐藏;分析人员可筛掉非ready。体测沿用现有表按同一人员ID关联。正式XLSX模板Q04仍待确认。

原型当前增加的是PC当前筛选的饮食CSV;既有体测入口不重构。未实现真实XLSX、服务端快照、鉴权或设备接入。CSV需防公式注入,原图导出为受控引用而非公开图片数据。