Files
kitchen/docs/dev/UNFINISHED_FEATURES.md
2026-04-17 07:00:26 +08:00

400 lines
24 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 📋 未完成功能清单
> 创建: 2026-04-09 | 更新: 2026-04-16 v0.97.14 | 优先级: P1=核心 P2=重要 P3=增强 | 优先级值1-5(5=最高)
---
## 📊 总体进度
| 阶段 | 任务 | 完成 | 率 | 状态 |
|------|------|------|-----|------|
| 三:热量追踪+营养分析 | 7 | 7 | 100% | ✅ |
| 四:购物清单 | 5 | 5 | 100% | ✅ |
| 十二:社交+通知增强 | 4 | 2 | 50% | 🟡 |
| 十三AI+规划高级功能 | 4 | 4 | 100% | ✅ |
| 十四:接口能力挖掘 | 8 | 8 | 100% | ✅ |
| 十五:后端接口增强 | 6 | 0 | 0% | 🔴 |
| 十六:用户体验优化+Bug修复 | 7 | 7 | 100% | ✅ |
| 十七紧急Bug修复 | 14 | 14 | 100% | ✅ |
| 十九综合Bug修复+功能增强 | 18 | 18 | 100% | ✅ |
| 二十:用户体验优化+交互增强 | 7 | 7 | 100% | ✅ |
| 二十一:菜谱详情页功能增强 | 1 | 1 | 100% | ✅ |
| 二十二Picid功能Bug修复 | 2 | 2 | 100% | ✅ |
| 二十三:数据管理中心 | 3 | 2 | 67% | 🟡 |
| 二十四:笔记+浏览记录功能 | 2 | 2 | 100% | ✅ |
| 二十六API v3.2.0迁移 | 5 | 5 | 100% | ✅ |
| 二十七首页Discover瀑布流 | 8 | 8 | 100% | ✅ |
| 二十八:瀑布流渐进式渲染+分页 | 3 | 3 | 100% | ✅ |
| 二十九:菜品详情页功能完善 | 9 | 9 | 100% | ✅ |
| 三十:发现页口味/工艺筛选 | 3 | 3 | 100% | ✅ |
| 三十一:搜索功能修复与高级搜索 | 3 | 3 | 100% | ✅ |
| 三十二:主题色全局生效修复 | 1 | 1 | 100% | ✅ |
| 三十三全局UI统一 | 4 | 4 | 100% | ✅ |
| 三十四:食材详情本地缓存+缓存管理 | 2 | 2 | 100% | ✅ |
| 三十五:食材详情页闪退修复 | 1 | 1 | 100% | ✅ |
| 三十六21项功能批量实现 | 21 | 21 | 100% | ✅ |
| 三十七:目录结构整理+导入路径修复 | 8 | 8 | 100% | ✅ |
| 三十八UI布局优化+缓存修复 | 4 | 4 | 100% | ✅ |
| 三十九:迷你卡片功能 | 14 | 14 | 100% | ✅ |
| 四十:收藏页面功能增强 | 7 | 7 | 100% | ✅ |
| 四十一:代码质量审计+修复 | — | — | — | 🔴 |
| **合计** | **234** | **224** | **96%** | |
---
## 🔴 未完成任务汇总
> 按优先级排序,仅列出未完成任务
| 序号 | 阶段 | 任务 | 优先级 | 优先级值 | 说明 |
|------|------|------|--------|---------|------|
| 1 | 十五 | 👤 用户注册登录 | P1 | 5 | 需后端支持当前暂不开发ProfileController.login()为模拟实现) |
| 2 | 十五 | 💾 收藏云端同步 | P1 | 4 | 需后端支持 |
| 3 | 十二 | 🔔 烹饪提醒通知 | P2 | 3 | 定时提醒烹饪步骤,需 flutter_local_notifications |
| 4 | 二十三 | ⚠️ 过敏原智能过滤 | P2 | 3 | 搜索/推荐时自动过滤含用户过敏原的菜品 |
| 5 | 十五 | 💬 评论系统 | P2 | 3 | 需后端支持 |
| 6 | 十五 | 🔔 消息推送 | P2 | 2 | 需后端支持 |
| 7 | 十五 | 📜 浏览历史同步 | P2 | 2 | 需后端支持 |
| 8 | 十五 | 📝 菜谱上传 | P2 | 2 | 需后端支持 |
| 9 | 十四 | 🔗 社交分享增强 | P3 | 2 | 分享链接+热度标签+社交平台 |
| 10 | 十二 | 📸 拍照记录 | P3 | 2 | 烹饪笔记支持拍照上传 |
---
## 🚨 代码质量审计(浑水摸鱼清单)
> 以下功能声称已完成,但实际存在实现缺陷、架构不一致或核心逻辑缺失
> 更新时间: 2026-04-16 | 审计范围: lib/src 全量扫描
### 🔴 严重问题:核心功能未实现/安全漏洞
| # | 文件 | 问题 | 严重度 | 修复方案 |
|---|------|------|--------|---------|
| 1 | `email_service.dart` | **🚨安全漏洞**SMTP密码硬编码在源码中`520kiss123`),两条线路均暴露,任何人都可从代码获取邮箱凭据 | 🔴🔴极高 | 迁移到后端代理发送或使用环境变量/加密存储 |
| 2 | `profile_controller.dart` | **🚨模拟登录**`login()` 方法完全伪造,硬编码 `user_id='user_123'``name='Test User'`、头像为字节跳动API链接无任何真实认证逻辑 | 🔴🔴极高 | 等后端API就绪后重写当前应标注为"演示模式" |
| 3 | `bedtime_reminder_controller.dart` | 就寝提醒通知核心功能未实现,仅保存设置,`TODO`标记实际通知逻辑,且 `flutter_local_notifications` 未在 pubspec.yaml 中声明依赖 | 🔴高 | 添加 flutter_local_notifications 依赖 + 实现通知逻辑 |
| 4 | `recommendation_service.dart` | **死代码**`RecommendationService``GetxService` 但从未在 `AppBinding` 中注册,永远不会被初始化;`_viewedRecipeIds` 始终为空列表,`recordView()` 方法从未被调用 | 🔴高 | 在 AppBinding 注册 + 接入 BrowseHistoryController 真实数据 + 在 RecipeDetailController._recordBrowseHistory() 中同步调用 |
| 5 | `chat_page.dart` (FeedbackPage) | 意见反馈页面仅为UI模拟`_send()` 方法只添加假回复消息"感谢您的反馈",无实际提交逻辑,用户反馈数据完全丢失 | 🔴高 | 接入 EmailService 邮件发送或后端API提交反馈 |
### 🟡 中等问题:架构不一致
| # | 文件 | 问题 | 严重度 | 修复方案 |
|---|------|------|--------|---------|
| 6 | `allergen_checker_page.dart` | 直接使用 `Dio()` 发起HTTP请求获取 gmy.json绕过 ApiService/Repository 层 | 🟡中 | 改用 RecipeRepository 或 ApiService 统一请求 |
| 7 | `eating_times_page.dart` | 直接使用 `Dio()` 发起HTTP请求获取 eating_times.json绕过 ApiService/Repository 层 | 🟡中 | 改用 RecipeRepository 或 ApiService 统一请求 |
| 8 | `meal_time_recommend_page.dart` | 直接使用 `Dio()` 发起HTTP请求绕过 ApiService/Repository 层 | 🟡中 | 改用 RecipeRepository 或 ApiService 统一请求 |
| 9 | `browse_history_controller.dart` | 使用 SharedPreferences 存储浏览历史,与项目统一使用 HiveService 的规范不一致 | 🟡中 | 迁移到 HiveService 统一数据层 |
| 10 | `email_history_controller.dart` | 使用 SharedPreferences 存储邮件记录,与项目统一使用 HiveService 的规范不一致 | 🟡中 | 迁移到 HiveService 统一数据层 |
| 11 | `cooking_note_controller.dart` | 双重存储混乱:同时使用 HiveService + SharedPreferences逻辑复杂且冗余 | 🟡中 | 统一使用 HiveService移除 SharedPreferences 备份逻辑 |
| 12 | 31处路由硬编码 | 31处使用 `Get.toNamed('/xxx')` 硬编码路由字符串,未使用 `AppRoutes.xxx` 常量 | 🟡中 | 批量替换为 AppRoutes 常量引用 |
| 13 | 14处非标准导航 | 14处使用 `Get.to(() => XxxPage())` 直接构造页面,未走路由系统 | 🟡中 | 改为 `Get.toNamed(AppRoutes.xxx)` 统一导航 |
### 🟡 中等问题:代码规范
| # | 文件 | 问题 | 严重度 | 修复方案 |
|---|------|------|--------|---------|
| 14 | 57个文件 | 385处 `debugPrint()` 调用,应使用 LoggerService 统一日志 | 🟡中 | 批量替换为 AppLogger |
| 15 | `ingredient_detail_page.dart` | 1853行严重超标AGENTS.md规定≤1000行 | 🟡中 | 拆分为多个子组件 |
| 16 | `safe_period_calculator_page.dart` | 1165行超标 | 🟡中 | 拆分计算逻辑和UI |
| 17 | `favorites_page.dart` | 1155行超标 | 🟡中 | 已拆分 builders/tools_panel继续拆分 |
| 18 | `mini_card_page.dart` | 1154行超标 | 🟡中 | 拆分缓存/搜索/网格视图逻辑 |
| 19 | `date_calculator_page.dart` | 1144行超标 | 🟡中 | 拆分两种计算模式为独立组件 |
| 20 | `cache_manage_page.dart` | 1095行超标 | 🟡中 | 按缓存类型拆分子组件 |
| 21 | `app_routes.dart` | 1076行超标 | 🟡中 | 路由定义与页面注册分离 |
| 22 | `recipe_repository.dart` | 1062行超标 | 🟡中 | 按API文件拆分为多个 Repository |
| 23 | `search_page.dart` | 1017行超标 | 🟡中 | 拆分搜索结果/历史/建议子组件 |
| 24 | `recipe_model.dart` | 1010行超标 | 🟡中 | 拆分统计/评分/营养子模型 |
---
## ✅ 状态更正:已实现但文档标记为"待开发"
> 以下功能代码已完整实现,但旧版文档错误标记为"待开发"
| # | 功能 | 文件 | 代码行数 | 实现状态 | 旧文档状态 |
|---|------|------|---------|---------|-----------|
| 1 | 🍳 烹饪模式 | `cooking_mode_page.dart` | 545行 | ✅ 完整实现(全屏步骤浏览+计时器+防息屏+完成动画) | ❌ 标记为"待开发" |
| 2 | 📱 二维码海报 | `recipe_qr_poster.dart` | ~280行 | ✅ 完整实现QR生成+海报渲染+截图保存+弹窗展示) | ❌ 标记为"待开发" |
| 3 | 📅 每日菜单规划 | `daily_menu_page.dart` | 520行 | ✅ 完整实现(三餐生成+手动调整+营养汇总+本地持久化) | ❌ 标记为"待开发" |
---
## 🟢 已有API可直接开发的功能
> 以下功能后端API已就绪仅需前端开发
### 第一梯队:极小工作量(改参数/加UI
| # | 功能 | API接口 | 页面位置 | 工作量 | 状态 |
|---|------|---------|---------|--------|------|
| 1 | 🏆 评分排行榜 | `api_hot.php?sort=rate` | 热门排行页 | ⭐ | ✅ v0.92.0 |
| 2 | 🌐 IP状态显示 | `api_action.php?act=ip_status` | 菜品详情页 | ⭐ | ✅ v0.92.0 |
| 3 | 🔍 排除筛选 | `api_filter.php?act=filter_recipes` exclude_*参数 | 高级搜索页 | ⭐ | ✅ v0.92.0 |
| 4 | 📋 食谱子分类 | `api_filter.php?act=recipe_sub_categories&parent_id=` | 分类浏览页 | ⭐ | ✅ v0.92.0 |
| 5 | 🔢 编码/模糊查询 | `api_what_to_eat.php?act=detail&code=/title=` | 搜索页 | ⭐ | ✅ v0.92.0 |
### 第二梯队:小工作量(新页面+API调用
| # | 功能 | API接口 | 页面位置 | 工作量 | 状态 |
|---|------|---------|---------|--------|------|
| 6 | 🕐 用餐时段推荐 | `api_filter.php?act=meal_times` | 首页/工具中心 | ⭐⭐ | ✅ v0.92.0 |
| 7 | ⚠️ 过敏原警示 | `api.php?act=full` allergens字段 | 菜品详情页 | ⭐⭐ | ✅ v0.92.0 |
| 8 | 🏷️ 分类标签联动 | `api_filter.php?act=category_tags&category_id=` | 分类浏览/高级搜索 | ⭐⭐ | ✅ v0.92.0 |
| 9 | 🥗 食材分类浏览 | `api_filter.php?act=ingredient_main_categories/sub_categories` | 发现页/工具中心 | ⭐⭐ | ✅ v0.92.0 |
| 10 | 🎲 筛选步骤引导 | `api_what_to_eat.php?act=filter_steps` | 今天吃什么 | ⭐⭐ | ✅ v0.92.0 |
| 11 | 🥗 食材对应菜品 | `api_filter.php?act=ingredient_recipes&ingredient_id=` | 食材详情页 | ⭐⭐ | ✅ v0.92.0 |
| 12 | 🔍 食材筛选 | `api_filter.php?act=filter_ingredients` | 高级搜索页 | ⭐⭐ | ✅ v0.92.0 |
### 第三梯队:中等工作量(需可视化组件/逻辑重构)
| # | 功能 | API接口 | 页面位置 | 工作量 | 状态 |
|---|------|---------|---------|--------|------|
| 13 | 📊 营养可视化 | `api.php?act=full` nutrition字段 | 菜品详情页/营养中心 | ⭐⭐⭐ | ✅ v0.92.0 |
| 14 | 📱 迷你信息加载 | `api.php?act=mini` | 列表页/卡片 | ⭐⭐⭐ | ✅ v0.92.0 |
| 15 | 🏷️ 统一格式输出 | `api.php?act=unified_list/detail/hot` type=ingredient | 食材相关页面 | ⭐⭐⭐ | 待开发 |
| 16 | 🏋️ 健身餐推荐 | `api_filter.php?act=filter_recipes` nutrition_min/max | 工具中心/发现页 | ⭐⭐⭐ | ✅ v0.92.0 |
| 17 | 📋 过敏原报告 | `api.php?act=full` allergens + gmy.json | 菜品详情页 | ⭐⭐⭐ | ✅ v0.92.0 |
| 18 | 🔎 查重检测 | `api_check_duplicate.php` 5种act | 菜谱上传/管理 | ⭐⭐⭐ | ✅ v0.92.0 |
---
## 🟡 需组合API开发的功能
> 需要多个已有API组合或需前端复杂逻辑
| # | 功能 | 所需API | 页面位置 | 工作量 | 状态 |
|---|------|---------|---------|--------|------|
| 1 | 🧠 智能推荐 | `api_feed.php?act=recommend` + `api_filter.php` + 用户偏好 | 首页 | ⭐⭐⭐⭐ | 🟡框架已有数据层需修复RecommendationService未注册 |
| 2 | 📅 每日菜单规划 | `api_what_to_eat.php?act=filter_apply` × 3次 + eating_times.json | 工具中心 | ⭐⭐⭐ | ✅ v0.97.x |
| 3 | 📱 二维码海报 | `api.php?act=detail` code字段 + qr库 | 菜品详情页 | ⭐⭐ | ✅ v0.97.x |
| 4 | 🔗 社交分享增强 | `api.php?act=detail` code字段 + `api_hot.php` statistics | 菜品详情页 | ⭐⭐ | 待开发 |
| 5 | 🥗 食材营养详情 | `api.php?act=ingredient_detail` + nutrition_types.json | 食材详情页 | ⭐⭐ | ✅ v0.92.0 |
| 6 | 🔄 食材替代建议 | `api_filter.php?act=filter_recipes` ingredient参数 + gmy.json | 食材详情页 | ⭐⭐⭐ | ✅ v0.92.0 |
| 7 | 📈 营养目标追踪 | `api.php?act=full` nutrition × 多菜谱 + nutrition_types.json | 营养中心 | ⭐⭐⭐⭐ | ✅ v0.92.0 |
| 8 | 📊 运营数据大屏 | `stats_full.php` stats/online/request/hot | 管理后台 | ⭐⭐⭐ | ✅ v0.92.0 |
| 9 | 🔄 相关菜谱推荐 | `api.php?act=list` cate_id + tag_id 组合查询 | 菜品详情页 | ⭐⭐⭐ | ✅ v0.92.0 |
| 10 | 🍳 烹饪模式 | `api.php?act=full` content字段 + 计时器 | 菜品详情页 | ⭐⭐⭐ | ✅ v0.97.x |
---
## 🔴 需后端新开发API
> 以下功能当前后端无对应接口,需后端开发
| # | 功能 | 建议接口 | 优先级 | 说明 | 可替代方案 |
|---|------|---------|--------|------|-----------|
| 1 | 👤 用户注册登录 | `api_user.php` | P1 | 暂不开发 | — |
| 2 | 💾 收藏云端同步 | `api_favorite.php` | P1 | 多设备同步 | 当前本地Hive存储 |
| 3 | 💬 评论系统 | `api_comment.php` | P2 | CRUD+分页+审核 | — |
| 4 | 🔔 消息推送 | `api_message.php` | P2 | 推送+站内信 | 后续可能用邮箱 |
| 5 | 📜 浏览历史同步 | `api_history.php` | P2 | CRUD+分页 | 当前本地存储 |
| 6 | 📝 菜谱上传 | `api_recipe.php` | P2 | 表单+图片上传+审核 | — |
| 7 | 🔍 搜索建议/补全 | `api.php?act=suggest&keyword=` | P3 | 前缀匹配+热门词 | 本地搜索历史替代 |
| 8 | 📊 用户营养目标 | `api_nutrition.php` | P3 | CRUD+每日统计 | 当前本地GoalSettingPage |
| 9 | 🏆 用户成就系统 | `api_achievement.php` | P3 | 经验值+等级+徽章 | — |
| 10 | 📝 烹饪笔记同步 | `api_note.php` | P2 | CRUD+分页 | 当前本地Hive存储 |
| 11 | 🛒 购物清单同步 | `api_shopping.php` | P2 | CRUD | 当前本地存储 |
| 12 | ⏰ 每周菜单存储 | `api_menu.php` | P2 | CRUD+日期范围 | 当前本地持久化 |
| 13 | 🔄 相关菜谱推荐 | `api.php?act=related&id=` | P2 | 基于分类+标签+食材相似度 | 已用现有API组合替代 |
---
## 🎯 开发路线图2026-04-16 更新)
### 第一阶段:安全+核心功能修复(紧急)
> 修复安全漏洞和浑水摸鱼问题,确保已声称完成的功能真正可用
| 顺序 | 任务 | 问题 | 修复方案 | 优先级值 |
|------|------|------|---------|---------|
| 1 | 🚨 SMTP密码泄露 | `email_service.dart` 硬编码 `520kiss123` | 迁移到后端代理发送或使用环境变量/加密存储 | 5 |
| 2 | <20> 模拟登录标注 | `profile_controller.dart` login()为假实现 | 标注为"演示模式",隐藏登录入口或添加提示 | 5 |
| 3 | <20>🔔 就寝提醒通知 | 核心通知逻辑未实现 + 缺少依赖 | 添加 flutter_local_notifications + 实现通知逻辑 | 5 |
| 4 | 🧠 推荐服务修复 | RecommendationService 未注册 + 数据层为空 | 在 AppBinding 注册 + 接入 BrowseHistoryController + 在 _recordBrowseHistory() 中同步调用 | 4 |
| 5 | 📧 意见反馈提交 | 仅UI模拟无提交逻辑 | 接入 EmailService 邮件发送反馈内容 | 4 |
### 第二阶段:架构统一(重要)
> 统一架构规范,消除技术债
| 顺序 | 任务 | 范围 | 修复方案 | 优先级值 |
|------|------|------|---------|---------|
| 6 | 🌐 3个页面绕过ApiService | allergen_checker/eating_times/meal_time_recommend 直接用Dio | 改用 ApiService 统一请求 | 3 |
| 7 | 💾 存储层统一 | browse_history/email_history/cooking_note 使用 SharedPreferences | 迁移到 HiveService 统一数据层 | 3 |
| 8 | 🔗 路由硬编码统一 | 31处硬编码路由字符串 | 批量替换为 AppRoutes 常量 | 3 |
| 9 | 🧭 导航方式统一 | 14处 Get.to() 直接构造页面 | 改为 Get.toNamed() | 3 |
| 10 | 📝 日志统一 | 57文件385处 debugPrint | 替换为 AppLogger | 2 |
| 11 | 📁 超大文件拆分 | 10个文件超1000行 | 按功能拆分子组件 | 2 |
### 第三阶段:功能补全
> 补全缺失功能,提升用户体验
| 顺序 | 功能 | 价值 | 工作量 | API状态 |
|------|------|------|--------|---------|
| 12 | ⚠️ 过敏原智能过滤 | 搜索/推荐自动过滤过敏原菜品 | ⭐⭐⭐ | ✅数据已有 |
| 13 | 🔔 烹饪提醒通知 | 烹饪步骤定时提醒 | ⭐⭐⭐ | 本地通知 |
| 14 | 🔗 社交分享增强 | 分享链接+热度标签 | ⭐⭐ | ✅数据已有 |
| 15 | 🏷️ 统一格式输出 | 食材数据标准化 | ⭐⭐⭐ | ✅API已可用 |
| 16 | 📸 拍照记录 | 烹饪笔记拍照上传 | ⭐⭐⭐ | 本地存储 |
### 第四阶段:深度功能(需后端配合)
> 以下功能需后端API支持当前暂不开发
| 顺序 | 功能 | 价值 | 前置条件 |
|------|------|------|---------|
| 17 | 👤 用户注册登录 | 核心用户体系 | 需后端 api_user.php |
| 18 | 💾 收藏云端同步 | 多设备同步 | 需后端 api_favorite.php |
| 19 | 💬 评论系统 | 社区互动 | 需后端 api_comment.php |
| 20 | 📝 菜谱上传 | UGC内容 | 需后端 api_recipe.php |
---
## 📊 项目代码统计
> 基于 2026-04-16 代码库全量扫描
| 指标 | 数量 |
|------|------|
| 页面文件 (Page) | 56 |
| 控制器 (Controller) | 23 |
| 服务 (Service) | 20 |
| 仓库 (Repository) | 8 |
| 模型 (Model) | 15+ |
| Widget组件 | 40+ |
| 路由数 | 40+ |
| debugPrint调用 | 385处/57文件 |
| 超大文件(>1000行) | 10个 |
| 硬编码路由字符串 | 31处 |
| 非标准导航(Get.to) | 14处 |
| 绕过ApiService直接用Dio | 3个页面 |
| 硬编码密码/凭据 | 1个文件email_service.dart |
| 未注册的GetxService | 1个RecommendationService |
| 模拟实现的核心功能 | 2个ProfileController.login / FeedbackPage._send |
### 超大文件清单(需拆分)
| 文件 | 行数 | 建议拆分方案 |
|------|------|-------------|
| `ingredient_detail_page.dart` | 1853 | 拆分:营养信息/替代建议/相关菜谱/缓存管理 子组件 |
| `safe_period_calculator_page.dart` | 1165 | 拆分:日历法/体温法/粘液法 独立组件 |
| `favorites_page.dart` | 1155 | 继续拆分:搜索栏/统计栏/导出功能 |
| `mini_card_page.dart` | 1154 | 拆分:缓存管理/搜索/网格视图 |
| `date_calculator_page.dart` | 1144 | 拆分:日期加减/日期间隔 两个独立页面 |
| `cache_manage_page.dart` | 1095 | 按缓存类型拆分子组件 |
| `app_routes.dart` | 1076 | 路由常量与页面注册分离 |
| `recipe_repository.dart` | 1062 | 按API文件拆分api.php / api_filter.php / api_check_duplicate.php |
| `search_page.dart` | 1017 | 拆分:搜索结果/历史记录/搜索建议 |
| `recipe_model.dart` | 1010 | 拆分RecipeStatistics / RecipeRating / RecipeNutrition 子模型 |
### 存储层不一致清单
| 控制器/服务 | 当前存储方式 | 应统一为 |
|------------|------------|---------|
| `BrowseHistoryController` | SharedPreferences | HiveService |
| `EmailHistoryController` | SharedPreferences | HiveService |
| `CookingNoteController` | HiveService + SharedPreferences 双写 | HiveService移除SP备份 |
| `FavoritesController` | HiveService ✅ | — |
| `ShoppingListController` | HiveService ✅ | — |
| `WeeklyMenuController` | HiveService ✅ | — |
| `MealRecordController` | HiveService ✅ | — |
| `BedtimeReminderController` | HiveService ✅ | — |
| `UserService` | SharedPreferences | 可保留仅存一个UUID |
---
## ✅ 已完成阶段(精简记录)
### 阶段四十一菜品详情页交互优化v0.97.14)✅
- 🥬 食材卡片跳转IngredientDiscoverCard 点击跳转食材详情页
- ⚖️ 克数快捷按钮:饮食记录弹窗新增 100g/200g/300g 常用量快捷填入
- 📝 营养快捷记录RecipeMealRecordSheet 底部弹窗(份量比例/自定义克数/用餐时段/实时营养预览)
- 👍 点赞按钮上移:从底部操作栏移至标题区域
- ❤️ 收藏图片修复FeedItemModel 新增 picId 字段RecipeImage 三级 fallback
- 🐛 搜索页崩溃修复setState during build 问题
### 阶段三十九迷你卡片功能v0.92.8)✅
- 🃏 迷你卡片页面Tinder风格左右滑动浏览菜品
- 📊 数据模型 MiniCardModel341道菜11个分类
- 🔍 分类筛选+搜索+网格视图
- ❤️ 收藏集成+喜欢/不喜欢记录
- 💾 本地缓存+缓存优先加载
- 🪟 液态玻璃效果+全屏图片查看器
- 📤 分享按钮share_plus
- 🏠 首页瀑布流插入迷你卡片1:20比例
- 🔗 路由参数支持initialRecipeId
- 🔄 MiniCardService 独立数据服务
### 阶段四十收藏页面功能增强v0.92.9)✅
- 🔍 搜索功能:按标题/简介/分类搜索
- 📊 统计信息展示:总数及各类型数量
- 📤 导出功能JSON/CSV 格式
- 🔒 类型安全改进
- 🪟 GlassContainer 统一毛玻璃效果
### 阶段三十六21项功能批量实现 ✅
- 🏆 评分排行榜 / 🌐 IP状态显示 / 🔍 排除筛选 / 📋 食谱子分类
- 🔢 编码/模糊查询 / 🕐 用餐时段推荐 / ⚠️ 过敏原警示
- 🏷️ 分类标签联动 / 🎲 筛选步骤引导 / 📊 营养可视化
- 📱 迷你信息加载 / 🏋️ 健身餐推荐 / 📋 过敏原报告
- 🔎 查重检测 / 🎯 今天吃什么增强 / 🔄 食材替代建议
- 🍽️ 相似菜品推荐 / 🍽️ 食材相关菜谱 / 📈 运营数据大屏
- 📈 数据管理中心增强 / 🔧 flutter analyze零错误
### 阶段三十七:目录结构整理+导入路径修复 ✅
- 📁 lib/src目录重组 / 🔧 导入路径更新 / 🧹 BOM字符清理
- 🐛 类型错误修复 / 🧹 未使用代码清理 / 📊 flutter analyze零错误
### 阶段三十八UI布局优化+缓存修复 ✅
- 📱 收藏页面网格布局 / 🛠️ 工具中心增强
- 💾 食材缓存修复 / 🔗 缓存管理页面跳转修复
---
## 📊 API接口使用状态一览
> 基于 API_DOC.md v3.2.0 + APP_GUIDE.md v2.9.0,更新于 v0.97.14
### ✅ 已使用接口
| 接口文件 | Repository | 已用act |
|---------|-----------|---------|
| `api.php` | RecipeRepository | list/detail/full/ingredients/ingredient_detail/search/categories/tags/stats/unified_list/unified_detail/unified_search/unified_hot/query/mini |
| `api_action.php` | ActionRepository | like/rate/view/ip_status |
| `api_feed.php` | FeedRepository | recommend/latest/hot/prefetch |
| `api_filter.php` | RecipeRepository+SearchController | recipe_main_categories/taste_tags/cooking_tags/filter_recipes/global_search/meal_times/recipe_sub_categories/ingredient_main_categories/ingredient_sub_categories/category_tags/filter_ingredients/ingredient_recipes |
| `api_hot.php` | HotRepository | hot(today/month/total) sort=view/like/rate |
| `api_what_to_eat.php` | WhatToEatRepository | filter_apply/detail/filter_steps |
| `api_discover.php` | DiscoverRepository | 随机数据 |
| `api_check_duplicate.php` | RecipeRepository | check_title/check_ingredient/check_step/check_content/check_all |
| `stats_full.php` | StatsRepository+OnlineRepository | online/request/hot/stats/heartbeat |
| 静态数据 | 各页面 | eating_times.json(✅)/nutrition_types.json(✅)/gmy.json(✅) |
### 🔴 未使用接口(待开发)
| 接口 | act | 功能 | 可开发功能 |
|------|-----|------|-----------|
| `api.php` | unified_* type=ingredient | 统一格式食材 | 食材数据标准化 |
---
## 🃏 迷你卡片待增强
**优先级**P3 | 优先级值3 | 工作量:⭐⭐
- 迷你卡片横幅支持横向滑动预览多个菜品
- 迷你卡片瀑布流插入比例可配置当前固定1:20
- 迷你卡片数据自动刷新策略
---
## 📂 收藏分组功能待开发
**优先级**P3 | 优先级值3 | 工作量:⭐⭐⭐
- 📁 收藏夹分组:支持创建文件夹分类管理
- 📋 批量移动:将收藏移动到其他分组
- 👀 长按预览:快速预览收藏项详情
- 📝 备注功能:为收藏项添加个人备注