# 📋 未完成功能清单 > 创建: 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 | � 模拟登录标注 | `profile_controller.dart` login()为假实现 | 标注为"演示模式",隐藏登录入口或添加提示 | 5 | | 3 | �🔔 就寝提醒通知 | 核心通知逻辑未实现 + 缺少依赖 | 添加 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风格左右滑动浏览菜品) - 📊 数据模型 MiniCardModel(341道菜,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 | 工作量:⭐⭐⭐ - 📁 收藏夹分组:支持创建文件夹分类管理 - 📋 批量移动:将收藏移动到其他分组 - 👀 长按预览:快速预览收藏项详情 - 📝 备注功能:为收藏项添加个人备注