可点原型

和项目里同一份源码,附带 support.js 与 assets,所以能真的跑起来。

主原型 →

五栏:Home / Log / Scan / Plan / Me。共享餐记录、逐项复核、可选收据分支都在里面。

In range 场景 →

默认播种两餐(1,520–1,740)。SALMON 那条用来验「编辑载入本餐成分」和「重复保存不加餐」。

Over range 场景 →

三餐 1,990–2,310,超出区间应显示 190–810

进行中的计划 →

预置一个 3 天前开始的 7 天计划,用来验过去/今天/未来的操作差异、补记、暂停恢复和到期回顾。

后续方案区 →

商户直连的 Log 订单流存档,整页盖「NOT BUILT」。首页品牌视觉已经放回产品页,不在这里。

自己点一遍,验证这几条

下面每一行都是连续操作下的实测值——上一行的状态是下一行的起点。你按同样顺序点应该得到一样的数字。

路径应该看到
Scan → 识别 → 进入复核四行:主菜 / 西兰花 / 气泡水 / 一条读不出的饮料。总计 495–600确认按钮禁用,提示有一行待核对
Resolve 那条饮料 → 选 Black coffee总计 495–605,确认按钮解禁
主菜改 0.75×385–475
接着给主菜加「油」475–565(+90)
接着排除主菜55–85 — 油随菜一起消失,没有残留在总数里
再把其余全部排除总计 0–0,确认按钮禁用,提示至少留一项
复核页 → Add a receipt to cross-check收据预览;可导入截图 / 重拍 / 暂不添加返回照片草稿 / 编辑遮挡
编辑遮挡,不加任何遮挡「用这张辅助核对」禁用,提示至少遮挡一处
遮挡一处 → 用这张辅助核对只读遮挡后的副本;处理中页面写明「餐食仍未计入」
联合核对主菜/西兰花「照片和收据都有」;气泡水冲突(收据 2、照片 1);Black coffee「只在照片里」;Oat cookie「只在收据上」。后两类默认待核对,不默认吃了,确认按钮禁用
冲突选「保留照片的 1」;cookie 选「没吃」解禁;cookie 不计入
连点两次「确认这一餐」Log 只多一条495–605;Home 合计同步
处理中点「Simulate an unreadable receipt」失败页;可重试或放弃收据,照片阶段的选择全部保留
开始识别后立刻切到 Home,等 3 秒再回 Scan停在采集选择页,晚到的结果不会把你拽回复核页
In range → 编辑 SALMON → 连点三次保存仍 2 餐,餐名不变,落点是 Log(不是 Scan 成功页)
接着再走一次完整采集并确认这次应该多一餐,共 3 餐
Over range 场景合计 1,990–2,310,超出 190–810
联合核对后点「Drop the receipt」回到添加收据之前的照片草稿:cookie 消失、水恢复、总计与之前一致
只解决水的冲突,不动 cookie确认仍然禁用 —— cookie 标「Waiting for your call」,不算已排除
冲突选「I had 1 of them」Bought 2 不变,旁边多一行 You had 1;两者分开计算
切到 Barcode 模式,或从 Log 编辑旧餐不出现收据入口
编辑旧餐时看顶部写「This meal is already counted — your changes are not saved yet」,不再是 Nothing counts yet
键盘:Tab 到任意 chip 按 Enter/空格与点击等效;禁用项不响应
Plan 组
复核页:所有行都已解决,但份量一个没碰确认仍禁用,提示「默认 1× 不算你的答复」;逐项点一次份量后才解禁
目标编辑器:体重填 68.5接受(允许一位小数)
体重填 501显示「Weight must be between 25 and 500 kg」,Save 置灰
下限一路加到等于上限允许相等,不再强制 100 kcal 间隔
Plan → Start a plan → 选天数 → See every day逐日预览,每天一条含标题/详情/理由;确认前不创建任何东西
「进行中的计划」变体 → 看各天按钮过去只有 Mark done(补记);今天三个都有;未来只有 Skip / Replace
补记一个过去的日子标「Done · backfilled today」,写明补记的是哪一天
暂停 → Resume先出日期调整预览:已完成/跳过的不动,只有待做的移动;从明天起算且不与占用日期撞车
End this plan只读回顾,计数齐全,无任何操作按钮;写明「没记录不等于失败」
新建计划:天数框填 45 / 开始日填 2026-13-45各自报错,「See every day」置灰;填 11 + 2026-08-20 可继续,预览 11 天
目标编辑器体重填 68.55接受(不再限制小数位);501 报范围错;abc 报「Numbers only」
Me 组
Fridge:不选任何份量「I ate this」禁用
选 0.5 cup 酸奶 → 预览 → 确认吃了预览写明约 51–59 kcal;确认后库存 3 → 2.5 cups,Home 从 440–520 变 491–579,Log 多一条
Add food 加一样 → 再 Remove 掉库存增减,Home 数字全程不变——加和删都不算吃
选超过库存的量拦下并说明「没有记录、也没有从货架扣掉」
手动运动:Run / 40 min / Hard先给估算 449–607 kcal(标明「未保存」),保存后进历史;Home 的进食数字不变
Health 默认状态Not connected,且写明网页上不会弹真实系统授权
画布外 HEALTH SCENARIOS 八个开关未连接/已连接/部分授权(未授权项显示 Not shared 而不是 0)/今日无数据(四项都显示 No entries today)/数据过时/已撤销/不可用/刷新失败
Data wallet:导出准备中 → 文件 + 时间 + 下载/分享;画布外可切「Export fails」看失败态
删除产品数据两步确认,任一步可取消;结果页写明「不等于注销登录,你仍处于登录状态」
Sign out清理演示会话,并写明已确认的餐食仍然保留

对照图

按流程顺序。手机壳是 390×844,长页面在壳内滚动,所以截图只到可视区。

01 Home — 品牌圆环已恢复;数字改回区间
02 Log — 每餐显示区间与成分数
03 逐项复核 — 每行独立取舍
04 读不出的行 — Resolve 选项
05 收据 — 预览与四个操作
06 遮挡编辑 — 未遮挡时提交禁用
07 遮挡一处后 — 提交解禁
08 联合核对 — 来源与购买数量分列
08b 冲突项 — Bought 2 保持不变,「你吃了几份」另算
08c 只在收据上 — 标「待你决定」,不是「已排除」;确认仍禁用
09 Over range — 超出区间 190–810
10 编辑 SALMON — 载入本餐自己的三项
11 保存后回到 Log — MEAL UPDATED
12 目标编辑器 — 正常状态
13 目标编辑器 — 错误状态(500 kcal / 501 kg),Save 置灰
14 新建计划 — 天数与开始日
15 逐日预览 — 确认前不创建
16 过去/今天/未来 — 可用操作不同
17 恢复预览 — 谁不动、谁移动
18 到期回顾 — 只读
19 Fridge — 库存与份量,加/删不计入
20 手动运动 — 估算先于保存
21 Health — 默认未连接
22 Health 部分授权 — 未授权项显示 Not shared
23 删除产品数据 — 第一步确认
临时站点,仅供本轮评审,评审结束后撤下。权威版本以 Claude Design 项目为准。
收据样例是虚构的,不含真人姓名、真实支付资料或真实订单二维码。