# 饮食偏好调研页面重新设计 实现计划 > **面向 AI 代理的工作者:** 必需子技能:使用 superpowers:subagent-driven-development(推荐)或 superpowers:executing-plans 逐任务实现此计划。步骤使用复选框(`- [ ]`)语法来跟踪进度。 **目标:** 将 `cfc-frontend/pages/diet/preferences.vue` 从 3 张灰色长表单卡改造为 3 步引导式问卷(Step1 忌口必填 / Step2 口味偏好 / Step3 健康目标),对齐「暖灶」暖橙主题,补全 `mustEat`/`cookingMethods` 采集。 **架构:** 单 `.vue` 文件内维护 `currentStep`(1/2/3)+ 顶部进度条 + 底部"上一步/下一步/完成";数据用扁平数组字段存储(`allergies`/`absoluteAvoid`/`flavorPref`/`cuisinePref`/`cookingMethods`/`healthGoals`/`mustEat`),chip 选中态用 `arr.indexOf(name) >= 0` 内联表达式;`onLoad` 预填、`saveDietPreferences` 一次性提交。 **技术栈:** uni-app Vue 2 Options API(微信小程序),flexbox(禁 Grid),无 `?.`,`:key`/`:class` 禁方法调用式绑定。 **规格文档:** `docs/superpowers/specs/2026-08-30-diet-preferences-redesign-design.md` --- ## 文件结构 | 文件 | 职责 | 变更 | |------|------|------| | `cfc-frontend/pages/diet/preferences.vue` | 3 步引导问卷(模板 + 逻辑 + 样式) | 重写 | | `cfc-frontend/pages.json` | 页面注册与标题 | 不变(已注册,标题"饮食偏好调研") | | `cfc-frontend/utils/api.js` | `getDietPreferences`/`saveDietPreferences` | 不变(已存在) | | `cfc-backend/**` | 数据存储 | 不变(`must_eat`/`cooking_methods` 列已存在) | --- ## 任务 1:重写 preferences.vue — 模板结构(数据层 + 进度条 + Step1) **文件:** - 修改:`cfc-frontend/pages/diet/preferences.vue`(整体重写,保留现有 `savePreferences` 校验语义) - [ ] **步骤 1:重写 ` ``` **验证:** `node --check` 对提取出的 script 块做语法校验。 预期:无语法错误。 - [ ] **步骤 2:编写 `