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