# 共餐 & 食谱页面 Redesign 设计文档 - **日期**:2026-08-28 - **主题**:饮食模块三页重新设计(共餐 + 食谱) - **涉及页面**: - `pages/diet/index.vue`(饮食首页:今日共餐摘要 + 今日食材推荐 + 功能入口 + 本周趋势) - `pages/diet/meal-config.vue`(共餐配置:工作日/周末切换 + 餐次×成员多选) - `pages/diet/recommendation.vue`(食谱推荐:餐次菜单 + 菜品 + 营养汇总) - **方案**:方案一「🍳 暖灶 · 家的味道」(橙暖团聚主题) - **核心理念**:身维度属土 → 暖橙 + 大地色 + 嫩绿点缀,用「一起吃饭的餐桌」表达家庭共餐与科学膳食的温暖感。与财富页「💧 财富之泉(水元素主题)」构成一致的维度主题化策略。 ## 目标 解决当前饮食模块的问题: 1. **平铺无锚点**:`diet/index.vue` 结构是「标题 + 卡片 + 网格」的通用堆叠,没有视觉主视觉,与身/智/心详情页的视觉丰富度差距明显 2. **配色硬编码**:多处使用 `#FF8C42` 但未抽象为令牌,页面间深浅不一(`#FF8C42` vs `#F97316` 混用) 3. **共餐无温度**:共餐摘要只是 3 个灰底格子,没有「一家人一起吃饭」的氛围 4. **配置页无辨识度**:`meal-config.vue` 纯白底 + 灰头像,餐次与成员选择的视觉反馈弱 5. **食谱无食欲感**:`recommendation.vue` 卡片平淡,菜品信息缺乏层级,操作按钮用裸 emoji 6. **空态无引导**:三页空态都是「图标 + 灰色文字」,缺乏转化引导 ## 设计原则 - 沿用项目统一设计 Token(`uni.scss`:扁平圆角卡片、柔和暖色系、`--color-primary` 体系) - 身维度专属色系:主橙 `#FF8C42`、渐变 `#FF8C42 → #FFB366`、米底 `#FFF7ED`、深橙文字 `#C2410C`、嫩绿点缀 `#10B981` - **小程序限制(强制遵守)**: - 禁止可选链 `?.`(用 `&&` 替代) - 禁止 CSS Grid(用 flexbox) - 禁止 `:key` 表达式(用方法调用代替) - 禁止中文类名(用英文,数据状态映射 `_cssClass`) - Vue 2 Options API,禁止 Composition API - 禁止 `new Date(string)` 解析(统一 `utils/format.js` 的 `parseDate()`) - **图标策略**:保留食品 emoji(领域语义贴切 + 小程序惯例),统一放入柔和渐变圆底承载;禁止为纯装饰添加动画 - **纯样式与布局重做**:不改任何接口、数据结构、业务逻辑、跳转路径 ## 设计令牌(Theme Tokens) | 令牌 | 值 | 用途 | |------|-----|------| | `--diet-primary` | `#FF8C42` | 主操作 / 强调 | | `--diet-primary-grad` | `linear-gradient(135deg, #FF8C42, #FFB366)` | 主按钮 / 主视觉底 | | `--diet-primary-deep` | `#C2410C` | 深橙文字(标题强调) | | `--diet-bg` | `#FFF7ED` | 页面底色 | | `--diet-bg-soft` | `#FFF1E6` | 浅卡底 / 选中态 | | `--diet-fresh` | `#10B981` | 嫩绿点缀(生成食谱 / 点赞) | | `--diet-sun` | `#FBBF24` | 正午黄(午餐) | | `--diet-dusk` | `#8B5CF6` | 暮色紫(晚餐 icon 底) | | `--diet-text` | `#333333` | 主文字 | | `--diet-text-2` | `#999999` | 次要文字 | | `--diet-card-shadow` | `0 4rpx 20rpx rgba(255, 140, 66, 0.10)` | 卡片暖影 | > 说明:令牌以页面 scoped CSS 变量形式在每个 `.vue` 的 `