加密token

This commit is contained in:
Developer
2026-04-17 07:00:26 +08:00
parent 08dce0aed0
commit 20fb06cac9
176 changed files with 33424 additions and 3565 deletions

View File

@@ -38,7 +38,7 @@
┌─────────────────────────────┐
│ HomeAppBar (双层) │
│ ┌───────────────────────┐ │
│ │ 🍳 妈厨房 🔔 │ │ ← 固定顶栏
│ │ 🍳 妈厨房 🔔 │ │ ← 固定顶栏
│ └───────────────────────┘ │
│ ┌───────────────────────┐ │
│ │ 🔍 搜索框 [→搜索页] │ │ ← 可折叠副栏,点击跳转
@@ -569,7 +569,7 @@
├─────────────────────────────┤
│ │
│ ┌───────────────────────┐ │
│ │ 🍳 妈厨房 │ │
│ │ 🍳 妈厨房 │ │
│ │ Version 0.92.4 │ │
│ └───────────────────────┘ │
│ │

View File

@@ -1,6 +1,6 @@
# 📋 未完成功能清单
> 创建: 2026-04-09 | 更新: 2026-04-14 v0.92.6 | 优先级: P1=核心 P2=重要 P3=增强 | 优先级值1-5(5=最高)
> 创建: 2026-04-09 | 更新: 2026-04-16 v0.97.14 | 优先级: P1=核心 P2=重要 P3=增强 | 优先级值1-5(5=最高)
---
@@ -28,14 +28,17 @@
| 二十九:菜品详情页功能完善 | 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% | ✅ |
| **合计** | **232** | **222** | **96%** | |
| 三十二主题色全局生效修复 | 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%** | |
---
@@ -45,7 +48,7 @@
| 序号 | 阶段 | 任务 | 优先级 | 优先级值 | 说明 |
|------|------|------|--------|---------|------|
| 1 | 十五 | 👤 用户注册登录 | P1 | 5 | 需后端支持,当前暂不开发 |
| 1 | 十五 | 👤 用户注册登录 | P1 | 5 | 需后端支持,当前暂不开发ProfileController.login()为模拟实现) |
| 2 | 十五 | 💾 收藏云端同步 | P1 | 4 | 需后端支持 |
| 3 | 十二 | 🔔 烹饪提醒通知 | P2 | 3 | 定时提醒烹饪步骤,需 flutter_local_notifications |
| 4 | 二十三 | ⚠️ 过敏原智能过滤 | P2 | 3 | 搜索/推荐时自动过滤含用户过敏原的菜品 |
@@ -53,13 +56,70 @@
| 6 | 十五 | 🔔 消息推送 | P2 | 2 | 需后端支持 |
| 7 | 十五 | 📜 浏览历史同步 | P2 | 2 | 需后端支持 |
| 8 | 十五 | 📝 菜谱上传 | P2 | 2 | 需后端支持 |
| 9 | 十四 | 📱 二维码海报 | P3 | 2 | 生成菜谱二维码分享图 |
| 10 | 十 | 🔗 社交分享增强 | P3 | 2 | 分享链接+热度标签+社交平台 |
| 11 | 十二 | 📸 拍照记录 | P3 | 2 | 烹饪笔记支持拍照上传 |
| 9 | 十四 | 🔗 社交分享增强 | P3 | 2 | 分享链接+热度标签+社交平台 |
| 10 | 十 | 📸 拍照记录 | P3 | 2 | 烹饪笔记支持拍照上传 |
---
## 🟢 已有API可直接开发的功能优先开发
## 🚨 代码质量审计(浑水摸鱼清单
> 以下功能声称已完成,但实际存在实现缺陷、架构不一致或核心逻辑缺失
> 更新时间: 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已就绪仅需前端开发
@@ -104,16 +164,16 @@
| # | 功能 | 所需API | 页面位置 | 工作量 | 状态 |
|---|------|---------|---------|--------|------|
| 1 | 🧠 智能推荐 | `api_feed.php?act=recommend` + `api_filter.php` + 用户偏好 | 首页 | ⭐⭐⭐⭐ | 待开发 |
| 2 | 📅 每日菜单规划 | `api_what_to_eat.php?act=filter_apply` × 3次 + eating_times.json | 工具中心 | ⭐⭐⭐ | 待开发 |
| 3 | 📱 二维码海报 | `api.php?act=detail` code字段 + qr_flutter库 | 菜品详情页 | ⭐⭐ | 待开发 |
| 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字段 + 计时器 | 菜品详情页 | ⭐⭐⭐ | 待开发 |
| 10 | 🍳 烹饪模式 | `api.php?act=full` content字段 + 计时器 | 菜品详情页 | ⭐⭐⭐ | ✅ v0.97.x |
---
@@ -134,114 +194,167 @@
| 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组合替代 |
| 12 | ⏰ 每周菜单存储 | `api_menu.php` | P2 | CRUD+日期范围 | 当前本地持久化 |
| 13 | 🔄 相关菜谱推荐 | `api.php?act=related&id=` | P2 | 基于分类+标签+食材相似度 | 用现有API组合替代 |
---
## 🎯 推荐开发路线图
## 🎯 开发路线图2026-04-16 更新)
### 第一阶段:快速见效1-2天/功能
### 第一阶段:安全+核心功能修复(紧急
> 修复安全漏洞和浑水摸鱼问题,确保已声称完成的功能真正可用
| 顺序 | 任务 | 问题 | 修复方案 | 优先级值 |
|------|------|------|---------|---------|
| 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状态 |
|------|------|------|--------|---------|
| 1 | 🏆 评分排行榜 | 热门页增加评分排序 | 极小 | ✅已可用 |
| 2 | 🌐 IP状态显示 | 评分前显示剩余次数 | 极小 | ✅已封装 |
| 3 | 🔍 排除筛选 | 高级搜索增加排除选项 | | ✅已可用 |
| 4 | 🕐 用餐时段推荐 | 根据时间智能推荐 | 小 | ✅已可用 |
| 5 | ⚠️ 过敏原警示 | 详情页安全提醒 | 小 | ✅数据已有 |
| 12 | ⚠️ 过敏原智能过滤 | 搜索/推荐自动过滤过敏原菜品 | ⭐⭐⭐ | ✅数据已有 |
| 13 | 🔔 烹饪提醒通知 | 烹饪步骤定时提醒 | ⭐⭐⭐ | 本地通知 |
| 14 | 🔗 社交分享增强 | 分享链接+热度标签 | ⭐⭐ | ✅数据已有 |
| 15 | 🏷️ 统一格式输出 | 食材数据标准化 | ⭐⭐⭐ | ✅API已可用 |
| 16 | 📸 拍照记录 | 烹饪笔记拍照上传 | ⭐⭐⭐ | 本地存储 |
### 第阶段:体验提升3-5天/功能
### 第阶段:深度功能(需后端配合
| 顺序 | 功能 | 价值 | 工作量 | API状态 |
|------|------|------|--------|---------|
| 6 | 📊 营养可视化 | 详情页环形图展示 | 中 | ✅数据已有 |
| 7 | 🏷️ 分类标签联动 | 筛选体验提升 | 中 | ✅已可用 |
| 8 | 🥗 食材分类浏览 | 食材浏览体验完善 | 中 | ✅已可用 |
| 9 | 🎲 筛选步骤引导 | "吃什么"体验优化 | 中 | ✅已可用 |
| 10 | 📱 迷你信息加载 | 列表页性能优化 | 中 | ✅已可用 |
> 以下功能需后端API支持当前暂不开发
### 第三阶段:深度功能(需后端配合或复杂逻辑)
| 顺序 | 功能 | 价值 | 前置条件 |
|------|------|------|---------|
| 17 | 👤 用户注册登录 | 核心用户体系 | 需后端 api_user.php |
| 18 | 💾 收藏云端同步 | 多设备同步 | 需后端 api_favorite.php |
| 19 | 💬 评论系统 | 社区互动 | 需后端 api_comment.php |
| 20 | 📝 菜谱上传 | UGC内容 | 需后端 api_recipe.php |
| 顺序 | 功能 | 价值 | 工作量 | API状态 |
|------|------|------|--------|---------|
| 11 | 📅 每日菜单规划 | 菜单规划工具 | 大 | ✅组合可用 |
| 12 | 🏋️ 健身餐推荐 | 健康饮食功能 | 大 | ✅已可用 |
| 13 | 🧠 智能推荐 | 个性化推荐 | 大 | ✅组合可用 |
| 14 | 🔄 相关菜谱推荐 | 详情页推荐 | 中 | 🟡可组合/🔴需新API |
---
## 📊 项目代码统计
> 基于 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项功能批量实现 ✅
- 🏆 评分排行榜HotPage sort=rate排序HotRepository+HotController+HotPage三层联动
- 🌐 IP状态显示菜品详情页评分前显示剩余次数
- 🔍 排除筛选高级搜索页增加7个exclude参数筛选
- 📋 食谱子分类:分类浏览页支持子分类展开
- 🔢 编码/模糊查询搜索页支持code和title查询
- 🕐 用餐时段推荐MealTimeRecommendPage完善
- ⚠️ 过敏原警示:菜品详情页过敏原警告+AllergenReportPage过敏原报告
- 🏷️ 分类标签联动:高级搜索页选择分类自动加载标签
- 🎲 筛选步骤引导WhatToEatPage 3步引导指示器
- 📊 营养可视化NutritionRingChart环形图+热量进度条
- 📱 迷你信息加载RecipeRepository.fetchMiniRecipe
- 🏋️ 健身餐推荐:营养中心减脂/增肌/生酮/碳水补充入口
- 📋 过敏原报告AllergenReportPage完整报告页
- 🔎 查重检测DuplicateCheckPage 5种查重模式
- 🎯 今天吃什么增强:筛选步骤引导+3步指示器
- 🔄 食材替代建议IngredientDetailPage 30+食材替代映射
- 🍽️ 相似菜品推荐RecipeSimilarSection组件
- 🍽️ 食材相关菜谱IngredientDetailPage底部菜谱列表
- 📈 运营数据大屏StatsDashboardPage
- 📈 数据管理中心增强DataCenterPage新增运营大屏入口
- 🔧 代码质量flutter analyze零错误
- 🏆 评分排行榜 / 🌐 IP状态显示 / 🔍 排除筛选 / 📋 食谱子分类
- 🔢 编码/模糊查询 / 🕐 用餐时段推荐 / ⚠️ 过敏原警示
- 🏷️ 分类标签联动 / 🎲 筛选步骤引导 / 📊 营养可视化
- 📱 迷你信息加载 / 🏋️ 健身餐推荐 / 📋 过敏原报告
- 🔎 查重检测 / 🎯 今天吃什么增强 / 🔄 食材替代建议
- 🍽️ 相似菜品推荐 / 🍽️ 食材相关菜谱 / 📈 运营数据大屏
- 📈 数据管理中心增强 / 🔧 flutter analyze零错误
### 阶段三十七:目录结构整理+导入路径修复 ✅
- 📁 lib/src目录重组每个文件夹≤8文件按功能分子目录
- 🔧 导入路径更新批量更新import路径适配新目录结构
- 🧹 BOM字符清理72个Dart文件移除UTF-8 BOM (U+FEFF)
- 🐛 类型错误修复ShoppingItemModel/MealRecordModel类型匹配
- 🧹 未使用代码清理:移除未使用的导入和字段
- 📊 flutter analyze解决所有critical错误
- 🔄 路由参数修复CategoryModel类型转换问题修复
- 📝 文档更新:同步目录结构变更
- 📁 lib/src目录重组 / 🔧 导入路径更新 / 🧹 BOM字符清理
- 🐛 类型错误修复 / 🧹 未使用代码清理 / 📊 flutter analyze零错误
### 阶段三十八UI布局优化+缓存修复 ✅
- 📱 收藏页面网格布局GridView 2列卡片展示
- 🛠️ 工具中心增强:新增"使用工具"按钮直接打开工具功能
- 💾 食材缓存修复CacheService键名匹配问题修复
- 🔗 缓存管理页面跳转修复:正确跳转到食材详情页
### 阶段三十:发现页口味/工艺筛选 ✅
- ✅ 口味标签筛选 / ✅ 工艺标签筛选
- ✅ 相关菜谱推荐(详情页底部)— v0.92.0实现
### 阶段二十九:菜品详情页功能完善 ✅
- ⭐ RecipeRating模型 + 评分展示 + 标签跳转 + 分类面包屑
### 阶段二十七/二十八首页Discover瀑布流+渐进式渲染 ✅
- MasonryGridView 2列瀑布流 + 渐进式渲染+骨架屏+分页
### 阶段二十四:笔记+浏览记录 ✅
- 笔记标签+菜品快捷输入 + 浏览记录自动记录
### 阶段二十三:数据管理中心 🟡
- ✅ 数据管理中心页面 + LocalDataService
- ❌ 过敏原智能过滤
### 阶段十二:社交+通知增强 🟡
- ✅ 分享菜谱 + 搜索建议/热词
- ❌ 烹饪提醒通知 / ❌ 拍照记录
### 阶段十三AI+规划高级功能 ✅
- AI菜谱推荐+每周菜单规划+食材用量换算+就寝提醒
- 📱 收藏页面网格布局 / 🛠️ 工具中心增强
- 💾 食材缓存修复 / 🔗 缓存管理页面跳转修复
---
## 📊 API接口使用状态一览
> 基于 API_DOC.md v3.2.0 + APP_GUIDE.md v2.9.0,更新于 v0.92.0
> 基于 API_DOC.md v3.2.0 + APP_GUIDE.md v2.9.0,更新于 v0.97.14
### ✅ 已使用接口
@@ -266,32 +379,21 @@
---
## 🃏 阶段三十九迷你卡片功能v0.92.8
## 🃏 迷你卡片待增强
### ✅ 已完成
- 🃏 迷你卡片页面Tinder风格左右滑动浏览菜品
- 📂 数据模型 MiniCardModel341道菜11个分类
- 🔍 分类筛选+搜索+网格视图
- ❤️ 收藏集成+喜欢/不喜欢记录
- 💾 本地缓存5-10条记录SharedPreferences
- 🗑️ 缓存管理页面新增迷你卡片缓存清理
- 🖼️ 图片独立组件 _MiniCardImageView文本在图片内底部展示
- 🪟 液态玻璃效果(顶部操作栏+底部信息区 GlassContainer
- 📱 全屏图片查看器PageView+异步预加载5张相邻图片
- 📤 分享按钮share_plus分享菜品信息+图片URL
- 💾 缓存优先加载(查看过的卡片存入缓存,先显示缓存再内部加载)
- 🏠 首页瀑布流插入迷你卡片1:20比例全宽横幅
- 每20个瀑布流item后插入1个迷你卡片横幅
- MiniCardDiscoverCard 组件:液态玻璃+全宽图片+分类标签
- SliverMainAxisGroup 分组渲染
- 🔗 路由参数支持initialRecipeId从首页跳转到指定卡片
- 🔄 MiniCardService 独立数据服务(缓存优先,多页面复用)
### 🟡 待开发:迷你卡片交互增强
**优先级**P3增强功能| 优先级值3
**工作量**:⭐⭐(低)
**优先级**P3 | 优先级值3 | 工作量:⭐⭐
- 迷你卡片横幅支持横向滑动预览多个菜品
- 迷你卡片瀑布流插入比例可配置当前固定1:20
- 迷你卡片数据自动刷新策略
---
## 📂 收藏分组功能待开发
**优先级**P3 | 优先级值3 | 工作量:⭐⭐⭐
- 📁 收藏夹分组:支持创建文件夹分类管理
- 📋 批量移动:将收藏移动到其他分组
- 👀 长按预览:快速预览收藏项详情
- 📝 备注功能:为收藏项添加个人备注