# 用户使用流程图 — 营养与饮食推荐 > **端口说明**: 📱 小程序 | 🖥 管理后台 | 📋 规划师端 | ⚙️ 系统自动 ```mermaid flowchart TD %% ============ 颜色定义 ============ classDef actor fill:#e1f5fe,stroke:#0288d1,stroke-width:2px classDef action fill:#fff3e0,stroke:#f57c00,stroke-width:1px classDef system fill:#e8f5e9,stroke:#388e3c,stroke-width:1px classDef decision fill:#fce4ec,stroke:#d32f2f,stroke-width:1px classDef role fill:#f3e5f5,stroke:#7b1fa2,stroke-width:1px classDef endpoint fill:#f5f5f5,stroke:#616161,stroke-width:1px classDef portMiniApp fill:#e3f2fd,stroke:#1565c0,stroke-width:1px,stroke-dasharray:3 2 classDef portAdmin fill:#fce4ec,stroke:#c62828,stroke-width:1px,stroke-dasharray:3 2 classDef portGuide fill:#fff8e1,stroke:#f57f17,stroke-width:1px,stroke-dasharray:3 2 classDef portSystem fill:#f3e5f5,stroke:#6a1b9a,stroke-width:1px,stroke-dasharray:3 2 subgraph 食谱推荐 A1(("👤 用户")):::portMiniApp --> A2[📱 获取食谱推荐 /meal/recommend]:::portMiniApp A2 --> A3{📱 对推荐满意?}:::portMiniApp A3 -->|不满意| A4[📱 替换指定食材(一换一菜) /meal/replace]:::portMiniApp A4 --> A3 A3 -->|满意| A5[📱 记录饮食日志 /meal/log]:::portMiniApp end subgraph 饮食记录查询 A5 --> B1[📱 获取近期日志 /meal/logs]:::portMiniApp B1 --> B2[📱 获取营养摄入统计 /meal/nutrition-summary]:::portMiniApp end subgraph 食材推荐指数 B2 --> C1[📱 获取食材推荐指数 /food/recommendation/index]:::portMiniApp C1 --> C2[📱 获取指数变更历史 /food/recommendation/history]:::portMiniApp C2 --> C3[📱 按家庭分组获取 /food/recommendation/by-family]:::portMiniApp end subgraph 营养偏好 C3 --> D1[📱 获取营养偏好 /nutrition/profile/get]:::portMiniApp D1 --> D2[📱 保存营养偏好 /nutrition/profile/save]:::portMiniApp end subgraph 营养师服务 D2 --> E1[📱 申请营养师 /nutritionist/apply]:::portMiniApp E1 --> E2[📱 获取申请状态 /nutritionist/status]:::portMiniApp end subgraph 北京营养知识库 E2 --> FA1[📱 查询知识库 /nutrition/beijing/kb/query]:::portMiniApp FA1 --> FA2[📱 知识库列表 /nutrition/beijing/kb/list]:::portMiniApp FA2 --> FA3[📱 知识库详情 /nutrition/beijing/kb/info]:::portMiniApp FA3 --> FA4[📱 AI推荐 /nutrition/beijing/recommend]:::portMiniApp FA4 --> FA5[📱 自定义推荐 /nutrition/beijing/recommend/custom]:::portMiniApp FA5 --> FA6[📱 菌群保存 /nutrition/beijing/bacteria/save]:::portMiniApp end subgraph 推荐商品 E2 --> F1[📱 获取维度页推荐 /recommend/dimension-products]:::portMiniApp F1 --> F2[📱 获取复购提醒 /recommend/repurchase-reminders/list]:::portMiniApp F2 --> F3[📱 标记已点击 /repurchase-reminders/click]:::portMiniApp F3 --> F4[📱 标记已购买 /repurchase-reminders/purchased]:::portMiniApp end R1(("👤 用户")):::actor R2(("🥗 食谱引擎")):::system A1 -.- R1 A2 -.- R2 ``` ## 端点明细 | 端点 | 说明 | 端口 | |------|------|------| | `/api/meal/recommend` | 获取食谱推荐 | 📱小程序 | | `/api/meal/replace` | 替换指定食材 | 📱小程序 | | `/api/meal/log` | 记录饮食日志 | 📱小程序 | | `/api/meal/logs` | 获取近期日志 | 📱小程序 | | `/api/meal/nutrition-summary` | 营养摄入统计 | 📱小程序 | | `/api/food/recommendation/index` | 食材推荐指数 | 📱小程序 | | `/api/food/recommendation/history` | 指数变更历史 | 📱小程序 | | `/api/food/recommendation/by-family` | 按家庭分组 | 📱小程序 | | `/api/nutrition/profile/get` | 获取营养偏好 | 📱小程序 | | `/api/nutrition/profile/save` | 保存营养偏好 | 📱小程序 | | `/api/nutritionist/apply` | 申请营养师 | 📱小程序 | | `/api/nutritionist/status` | 申请状态 | 📱小程序 | | `/api/nutrition/beijing/kb/query` | 查询知识库 | 📱小程序 | | `/api/nutrition/beijing/kb/list` | 知识库列表 | 📱小程序 | | `/api/nutrition/beijing/kb/info` | 知识库详情 | 📱小程序 | | `/api/nutrition/beijing/recommend` | AI推荐 | 📱小程序 | | `/api/nutrition/beijing/recommend/custom` | 自定义推荐 | 📱小程序 | | `/api/nutrition/beijing/bacteria/save` | 菌群保存 | 📱小程序 | | `/api/recommend/dimension-products` | 维度推荐商品 | 📱小程序 | | `/api/recommend/repurchase-reminders/list` | 复购提醒列表 | 📱小程序 | | `/api/recommend/repurchase-reminders/click` | 标记已点击 | 📱小程序 | | `/api/recommend/repurchase-reminders/purchased` | 标记已购买 | 📱小程序 |