← 返回可点击原型

PROJECT BRIEF / 第一阶段交付 · 2026.10.14

好好吃饭:首版需求与原型说明

产品暂定名,可随英语项目品牌调整。目标是让家长快速安排家庭餐食,让孩子参与选择。优先顺序:早餐套餐、学校午餐去重、可靠的做法图文。

当前交付是需求与交互原型,不是正式上线产品。

已完成四页可点击原型、10道结构化菜谱草稿、一组早餐AI图片、排餐规则和验收清单。浏览器本地保存,无注册、云端同步或服务端权限。菜谱未经过试做或营养专业审核。

1. 用户与使用路径

角色典型路径完成标准
家长设置偏好 → 安排七天 → 填学校午餐 → 调整锁定 → 查看采购 → 按步骤做饭常规排餐不需要逐道查找;已有计划不会无故被覆盖。
孩子打开明天早餐候选 → 选想吃的 → 家长确认候选少而清楚,选择不会直接覆盖正式计划。
运营人员录入菜谱 → 试做及审核 → 配图核对 → 发布未经审核的内容不能进入正式推荐库。

当前原型孩子与家长操作位于同一设备,身份仅用于展示流程。正式版采用家长账号与家庭成员邀请,孩子端只有提出意愿的权限;不能修改忌口、直接确认餐食或查看家庭私密资料。

2. 页面与首版范围

页面原型已经实现正式首版需要补齐
今天吃什么今日早餐、随机更换、孩子选明天、家长确认、晚餐单菜按家庭日期展示完整餐次;多个孩子的选择和份量。
一周食谱未来七天、锁定、学校供餐与菜单、去重、采购汇总在家午餐、完整晚餐组合、跨周日历、按年龄审核的用量和菜单历史。
好好做饭10道菜谱、搜索、分类、食材重量、步骤、部分示意图约60道验证过的菜谱、21套早餐模板、全部关键步骤图。
我家偏好学段、人数、时间偏好、常见及自定义食材、忌口、学校供餐日年龄、多孩档案、软性“不喜欢”、独立的过敏原词典和专业核查。

首版不做社区、积分、商城、自动冰箱识别、学校系统对接。学校菜单图片识别和可关闭的英语食材卡片放入第二版候选。

3. 关键排餐规则

  1. 先过滤硬约束:逐一核对菜肴及搭配中的过敏原、忌口、在家餐次、用户是否接受购买预制食品。正式版检查配料、复合调料和替代食材。不得用“随机”绕过限制。
  2. 按整餐推荐早餐:主食与搭配是一组,替换奶类、蛋类等搭配后必须重新审核类别和过敏原。原型遇到过敏会排除整套,不会自动猜替代品。
  3. 锁定保护:随机重排保留已锁定项。新增忌口或明确学校同名冲突时提示家长并解除受影响项,重新选择;界面明确说明变动。
  4. 学校午餐分三种状态:不在校/在校但菜单未知/在校且菜单已知。仅已知菜单可参与去重,未知时不得显示“已避免重复”。
  5. 同名菜去重:首版用标准菜名ID和别名词典匹配,“西红柿炒鸡蛋”与“番茄炒蛋”归到同一道菜。无法识别的输入保留原文,提醒核对,不能声称全面识别。
  6. 主要食材重复只是降序:学校有鸡肉时优先推荐其他主要食材,但不把所有含鸡肉食品永远禁止。调料重复不算菜品重复。
  7. 排序偏好:常吃食材优先、近期重复降低优先级、准备时间超出预算降低优先级。时间在卡片上明示;无足够候选时说明原因。
  8. 孩子选择待确认:家长确认后加入目标日期并锁定。若新偏好令意愿不再安全则取消该意愿。正式版保留谁在何时确认的记录。
  9. 采购仅汇总家庭餐:学校午餐、未确认意愿和取消餐食不计入;同名同单位合并;不同单位不擅自换算;水不进入采购。
  10. 自定义食材:先保存输入并做可确认的别名匹配。库里没有对应菜谱时显示未覆盖,不实时编造菜谱或营养数值。

原型为了直观看到操作,首次带有明确的样稿计划。正式产品首次使用应先完成忌口设置,再生成计划;样稿计划不直接转为用户已确认计划。

4. 数据字段(开发交接)

对象建议字段
家庭与孩子家庭ID、家长成员ID、孩子代称、年龄、学段、份量档案、常吃食材ID、软性不喜欢、硬性忌口及过敏原ID、厨具、时间偏好、预制接受方式、时区。
食材食材ID、标准名称、别名、食物类别、过敏原、标准计量单位、可食部口径、采购换算来源、审核状态。
菜谱菜谱ID、版本、名称、适用餐次、制作方式、基础份数、逐项食材和调料、主要食材、过敏原、厨具、准备/烹饪/等待时间、步骤、图片、熟度判断、保存复热说明、审核人及日期。
套餐套餐ID、所含菜谱及搭配、分龄用量版本、并行制作顺序、总预计耗时、食物类别、替换方案及复核状态。
每日计划家庭ID、日期、餐次、套餐或菜谱ID、用餐人数、实际用量、锁定状态、确认人、版本号;学校供餐状态与原始菜单。
孩子意愿目标日期、餐次、孩子ID、候选套餐ID、提交时间、待确认/确认/取消状态、家长确认记录。
采购项食材ID、标准单位、汇总数量、来源餐次、有货/已购状态、清单版本。计划用量变化后需重新提醒核对已购数量。

原型数据文件为 data.js,排餐函数为 core.js。正式数据库应使用结构化ID与版本,不以自由文本作为唯一身份。所有用户输入要转义;服务端按家庭成员权限校验,不能只靠前端隐藏按钮。

5. 10道样板菜谱与审核安排

样板用途审核重点
胡萝卜鸡蛋饼现做早餐,含牛奶与苹果搭配面糊稠度、饼厚、蛋与面粉充分熟透、实际总用时;已制作四画面AI示意。
南瓜燕麦粥现做早餐,含鸡蛋与牛奶搭配燕麦产品差异、煮蛋并行时间、成品稠度、过敏原。
鸡蛋黄瓜吐司快手早餐,含酸奶搭配吐司实际配料、即食食材卫生、全熟鸡蛋。
蒸玉米与鸡蛋蒸煮早餐,含牛奶与苹果搭配玉米可食部换算、品种差异和实际蒸制时间。
速冻馒头早餐购买半成品场景绑定选定产品的配料、保存及加热说明,不使用统一加热时间。
蒸红薯酸奶碗现做早餐红薯块大小、蒸熟判据、酸奶保存、实际食量。
番茄炒蛋晚餐单菜与学校同名去重别名词典、用油盐量、蛋充分凝固。
西兰花炒鸡丁晚餐肉类单菜禽肉中心温度要求、生熟分开、切块尺寸。未核定前不得正式发布。
香菇豆腐煮晚餐豆制品单菜大豆过敏原、豆腐保存、菌菇与配菜熟度。
清炒小白菜晚餐蔬菜单菜菜梗与叶分步、成品熟度、盐量。

所有10道目前为“草稿”。数据中按单人基础份量展示,供试做记录和界面测试,不是小学、初中或高中的营养处方。原型改变学段不会机械增加份量;人数换算不改变烹饪时长。

家庭提前备餐是正式首版必须覆盖的第三种方式:下一阶段补“前晚准备/当天完成”两组步骤,明确冷却、储存、期限和复热依据,试做并通过食品安全审核后才上线。当前原型不提供未经核定的隔夜存放时长。

6. 早餐模板与营养审核

正式目标为小学、初中、高中各7套早餐模板。优先复用验证过的基础菜谱,再确定年龄范围、食量、搭配份量及适用限制。基础原则参考中国营养学会关于吃好早餐、主动参与食物选择的建议,以及国家卫健委关于早餐食物类别的科普。类别完整只代表搭配提示,不能自动判定营养达标。

参考:中国营养学会《中国学龄儿童膳食指南(2022)》;国家卫健委:儿童少年营养健康科普知识。产品不直接复制这些机构的图表作商业宣传。

审核流程:内容编辑列配方 → 有经验的烹饪人员试做并记录 → 营养专业人员审核分龄套餐 → 食品安全核查 → 图文一致性检查 → 标为可发布。需记录问题、修订版本与复核日期;任何关键配料变更会使审核状态失效。

7. 图片标准与生成记录

工具:内置 imagegen。样板图保存在 assets/breakfast-story.png,网页通过四个象限展示成品、食材、切配、烹饪。素材为AI示意,未用于证明熟度或份量;面粉等视觉数量不能代替称量。

制作标准:先定配方,再试做,再配图;同一道菜的容器、切配形态和原料前后一致;图中不嵌入克数与时间,文字由网页展示。熟度等不能可靠呈现的细节采用实拍或经过审核的文字判据。其余9道菜尚未生成图片,避免用无关食物图误导。

查看完整生成提示词

Use case: photorealistic-natural. Asset type: four-panel recipe photo storyboard for a Chinese family breakfast website prototype. Generate one square image divided into an EXACT 2 by 2 grid of four equal square photographs, no gutters, no text, no numbers, no logos. Consistent realistic home kitchen, warm morning window light, off-white ceramic and pale oak, natural imperfect food, no illustration. Top left: finished carrot and egg wheat-flour pancake, golden cooked through, cut into wedges, tiny orange carrot pieces, ONLY egg carrot wheat flour water oil salt in pancake, no herbs or scallion; a glass of milk and apple wedges next to plate. Top right: overhead mise en place for that pancake: ONE whole egg in shell, modest bowl of wheat flour, a whole carrot, small glass of water, small dish oil and small dish salt, no milk or apple in this ingredients panel. Bottom left: close-up finely grated carrot on wooden board with grater next to a bowl of raw yellow egg-flour-water batter with some carrot being incorporated. Bottom right: same thin carrot egg pancake cooked golden in a black nonstick frying pan with spatula on induction stovetop. Each panel centered independently and fully contains its important objects. No hands. Do not include any labels or typography. Food quantities visual only; instructional text will be separately displayed.

8. 开发安排与责任

阶段工作与交付责任与完成条件
第一阶段(本次)需求、交互原型、规则、数据字段、10道样板草稿产品/开发:交付可检查原型;内容仍待专业验证。
第二阶段(约2周)后端、家长账号、家庭权限、完整三餐排餐、云端同步、管理后台开发:实际数据隔离、并发修改处理、持久化、核心流程测试。
第三阶段(并行约2—3周)试做样板 → 扩展60道 → 21套早餐 → 分龄审核 → 批量图片烹饪人员、营养审核人员和编辑:审核记录完整,内容达标再发布。
第四阶段(约1周)10—20个家庭试用、手机兼容、兑换码交付、问题修复运营/开发:完成真实试用与生产发布检查。

整体参考4—6周,取决于内容审核、试做与反馈速度;这不是已确认的交付排期。预算分别核算开发、内容审核、图片制作、运行维护。正式发布使用受控账号与家庭权限,原型本地存储方案不用于跨设备或多家庭生产数据。

9. 验收清单

场景预期结果
孩子选择明天早餐只产生待确认意愿;家长确认才写入明天计划并锁定。
锁定后重排七天锁定餐食不变化;无候选时说明原因,不绕过忌口。
菜单未知显示未知,不宣称完成去重,不自动产生学校午餐采购。
输入“西红柿炒鸡蛋”识别与“番茄炒蛋”相同,移出该日晚餐候选。
新增牛奶过敏主菜或搭配含奶的套餐全部排除,包括已选套餐;意愿同时校验。
更换人数、菜谱采购量重新汇总;不把烹饪时间同比例翻倍。
自定义陌生食材保存偏好,不编造菜谱或营养值。
手机查看做法无横向溢出,关闭弹窗方便,食材和步骤文字清楚。
生产版隔离家庭A不能读写家庭B的数据;孩子不能修改家长权限项。
菜谱实际试做配料、切配、时间、熟度、图片一致;有审核记录才能进入正式库。

10. 本地打开方式

直接双击同目录的 index.html 即可体验,无需安装依赖。建议通过随附 preview.cmd 在固定本地地址打开,以获得稳定的浏览器保存行为。不同打开地址的本地数据互不共享。此版本未发布到互联网。

基础规则测试:在项目目录运行 node --test tests/core.test.cjs。原型验证不替代菜谱试做或营养审核。