重构目录树

This commit is contained in:
Developer
2026-04-13 07:51:51 +08:00
parent 5150501643
commit a59f54567f
282 changed files with 7213 additions and 28292 deletions

View File

@@ -2,6 +2,142 @@
All notable changes to this project will be documented in this file.
## [0.92.1] - 2026-04-13
### 📁 目录结构重构 — 所有文件夹不超过8个文件
#### controllers/ (14→1+4子文件夹)
- `controllers/recipe/` — recipe_detail_controller, search_controller
- `controllers/home/` — home_controller, main_navigation_controller
- `controllers/tools/` — tools_controller, what_to_eat_controller, bedtime_reminder_controller
- `controllers/data/` — favorites, browse_history, cooking_note, shopping_list, meal_record, weekly_menu
#### models/ (11→4+2子文件夹)
- `models/user/` — user_goal_model, user_preference_model
- `models/data/` — browse_history, cooking_note, meal_record, shopping_item, weekly_menu
#### widgets/根目录 (11→4+2子文件夹)
- `widgets/common/` — adaptive_widgets, loading_indicator, responsive_grid, skeleton_widgets
- `widgets/recipe/` — recipe_card, recipe_image, nutrition_dashboard_card
#### pages/profile/ (11→5+2子文件夹)
- `pages/profile/data/` — cache_manage, data_center, stats_dashboard
- `pages/profile/social/` — chat, favorites, footprints
#### pages/tools/ (14→3+3子文件夹)
- `pages/tools/health/` — allergen_checker, allergen_report, bmi_calculator, meal_time_recommend
- `pages/tools/cooking/` — cooking_note, cooking_timer, serving_scaler, unit_converter
- `pages/tools/planning/` — meal_planner, weekly_menu_planner, eating_times
#### widgets/glass/ (10→7+1子文件夹)
- `widgets/glass/nav/` — glass_nav_bar, liquid_glass_nav_bar, home_app_bar
#### widgets/recipe_detail/ (20→1+4子文件夹)
- `widgets/recipe_detail/header/` — cover_image, title_section, author_card, meta_info_card, time_info
- `widgets/recipe_detail/content/` — ingredients_section, ingredient_details, steps_section, indices_card, picid_card
- `widgets/recipe_detail/interaction/` — action_bar, rating_dialog, statistics_bar, tags_section
- `widgets/recipe_detail/info/` — nutrition_section, ring_chart, allergen_warning, category_breadcrumb, similar_section
#### 代码质量
- ✅ flutter analyze 零错误通过
- 🔧 修复所有相对路径import3个文件
## [0.92.0] - 2026-04-13
### 🚀 21项功能批量实现 — 评分排行榜/过敏原报告/营养可视化/查重检测/运营大屏等
#### 新增功能
- 🏆 **评分排行榜** — HotPage新增sort=rate排序HotRepository/HotController/HotPage三层联动
- 📋 **过敏原报告页面** — AllergenReportPage选择过敏原→生成报告→安全/风险菜谱分类→替代建议
- 📊 **营养可视化环形图** — NutritionRingChart组件蛋白质/脂肪/碳水/纤维占比环形图+热量达标进度条
- 🎯 **筛选步骤引导** — WhatToEatPage新增3步引导指示器选分类→选口味→开转!
- 🔄 **食材替代建议** — IngredientDetailPage新增30+食材替代映射,点击可跳转查看替代食材
- 🍽️ **相似菜品推荐** — RecipeSimilarSection组件菜品详情页底部推荐同分类菜品
- 🍽️ **食材相关菜谱** — IngredientDetailPage底部显示含该食材的菜谱列表
- 💪 **健身餐推荐** — NutritionCenterPage新增减脂餐/增肌餐/生酮餐/碳水补充快捷入口
-**营养中心快捷功能** — 营养目标/营养报告/购物清单快捷入口
- 🔍 **查重检测页面** — DuplicateCheckPage输入菜谱名称→搜索相似→计算相似度→分级显示
- 📈 **运营数据大屏** — StatsDashboardPage今日/本月/历史排行+浏览/点赞汇总统计
- 📈 **数据管理中心增强** — DataCenterPage新增运营数据大屏入口
#### 工具中心新增
- 📋 过敏原报告 — 工具中心健康分类新增入口
- 🔍 查重检测 — 工具中心数据分类新增入口
- 📊 运营数据大屏 — 工具中心数据分类新增入口
#### 路由注册
- `/allergen-report` — 过敏原报告页面
- `/duplicate-check` — 查重检测页面
- `/stats-dashboard` — 运营数据大屏页面
#### 代码质量
- ✅ flutter analyze 零错误通过
- 🔧 修复nutrition_ring_chart num→double类型转换
- 🔧 修复stats_dashboard_page HotItem属性引用(recipeId→id, title→name)
- 🔧 移除allergen_report_page未使用的_isGenerating字段
## [0.91.21] - 2026-04-13
### 🐛 食材详情页闪退修复 + API能力分析文档更新
#### Bug修复
- 🐛 **setState() after dispose() 闪退** — 食材详情页异步操作完成后页面已销毁仍调用setState
- `_loadIngredientFromArgs()` 添加 `mounted` 检查
- `_loadIngredientByName()` 添加 `mounted` 检查
- `_loadIngredients()` 3处 `setState` 全部添加 `mounted` 检查
- 举一反三扫描15个页面的 `await→setState` 模式,确认其他页面已有保护
#### 文档更新
- 📊 **API能力分析全面更新** — PAGE_STRUCTURE_ANALYSIS.md
- 新增"已使用API接口一览"表8个接口文件+9个Repository
- 新增"未使用API接口一览"表18个未调用接口/参数/静态资源)
- 🟢 已有API可直接开发12项新增筛选步骤引导、编码/模糊查询、食谱子分类)
- 🟡 需组合API开发10项新增食材营养详情、食材替代建议、营养目标追踪、统一格式输出
- 🔴 需后端新开发API13项新增烹饪笔记同步、购物清单同步、每周菜单存储
- 新增"推荐开发路线图"三阶段规划
#### 代码修复
- 🍃 **CupertinoIcons.leaf不存在** — 替换为 `Icons.eco`Material添加 `material.dart` import
- 🧹 **移除不必要的 painting.dart import** — 替换为 `material.dart`
## [0.91.20] - 2026-04-13
### 🥬 食材详情本地缓存 + 缓存管理增强
#### 食材缓存
- 🥬 **IngredientModel.toJson** — 新增序列化方法,支持缓存存储
- 💾 **RecipeRepository.fetchIngredientDetail** — 添加缓存逻辑优先读取本地缓存7天有效期
- 🗑️ **缓存管理页面** — 新增食材详情缓存管理
- 概览卡片:显示食材缓存数量
- 操作按钮:清理食材详情缓存
- 食材列表:显示已缓存食材,支持左滑删除、点击查看
- 单项清理:`_clearSpecificIngredientCache`
## [0.91.19] - 2026-04-13
### 🎨 全局UI统一圆角/颜色/毛玻璃/空状态/加载状态
#### 统一圆角
- 📐 **替换89处硬编码圆角**`BorderRadius.circular(N)``DesignTokens.borderRadiusSm/Md/Lg/Xl/Full`
- 映射规则2-8→Sm, 10-16→Md, 18-20→Lg, 22-28→Xl, 25+→Full
- 9个文件缺少 `design_tokens.dart` import已自动添加
#### 统一颜色
- 🎨 **替换20处硬编码颜色**`Color(0xFFFF3B30)` 等 → `DesignTokens.red/green/orange/purple/blue/teal/text2/text3`
- 映射规则FF3B30/F44336→red, 34C759/4CAF50→green, FFB800→gold, 9C27B0→purple, 3498DB→blue, 1ABC9C→teal, 8E8E93→text2
- 修复 `const DesignTokens.red``DesignTokens.red`(静态字段不是构造函数)
- 修复 `Colors.transparent``const Color(0x00000000)`(避免缺少 import
#### 增强EmptyState
- 💎 **毛玻璃卡片包裹** — 新增 `useGlassCard` 参数默认true
- 🎯 **图标圆形背景** — 使用 `DesignTokens.dynamicPrimary` 主题色圆形背景
- 📏 **行高优化** — message 文本 `height: 1.5` 提升可读性
#### 增强LoadingIndicator
- 💎 **毛玻璃卡片包裹** — 新增 `useGlassCard` 参数
- 🎯 **主题色指示器** — 使用 `DesignTokens.dynamicPrimary` 替代 ThemeService 直接引用
- 📐 **centered参数** — 支持非居中场景(如列表底部加载更多)
## [0.91.18] - 2026-04-13
### 🎨 修复主题色切换全局不生效 + 统一动态主题色引用