8.3 KiB
8.3 KiB
Changelog
All notable changes to this project will be documented in this file.
[0.33.0] - 2026-04-09
Fixed
- 🐛 Bug 修复 — 阶段六 + Bug 修复清单
- ✅ B.7 去掉右上角 DEBUG 标签 (
main.dart设置debugShowCheckedModeBanner: false) - ✅ B.5 修复发现页购物清单点击无反应 (
discover_page.dart添加路由跳转) - ✅ B.8 修复发现页营养中心报告跳转到测试页 (改为
/nutrition-report) - ✅ B.6 修复我的页面购物清单被拦截 (
app_routes.dart注册 PageRegistry) - ✅ 发现页搜索栏添加跳转逻辑
- ✅ 发现页目标设置按钮添加跳转逻辑
- ✅ 注册缺失页面:goalSetting, shoppingList, search, nutritionReport
- ✅ B.7 去掉右上角 DEBUG 标签 (
Changed
- 🔄
discover_page.dart快速操作区全部功能化 - 🔄
main.dart关闭 DEBUG 标签显示 - 🔄
app_routes.dart补充注册缺失页面到 PageRegistry - 🔄 文档更新:UNFINISHED_FEATURES.md 进度更新
[0.32.0] - 2026-04-09
Added
- 🔍 搜索功能 — 阶段六 6.4 完成
- 新增
lib/src/controllers/search/search_controller.dart搜索控制器 - 新增
lib/src/pages/search/search_page.dart搜索页面 - 支持热门搜索标签快速选择
- 支持搜索历史记录(本地持久化)
- 支持清空/删除单条历史记录
- 搜索结果列表展示
- 首页搜索栏点击跳转搜索页
- 新增
- 💀 骨架屏加载效果 — 阶段六 6.2 完成
- 新增
lib/src/widgets/skeleton/shimmer_effect.dart闪光动画组件 - 新增
lib/src/widgets/skeleton/feed_card_skeleton.dart信息流卡片骨架屏 - 首页加载时显示3个骨架卡片,提升感知性能
- 新增
- 🎯 交互按钮优化 — 阶段六 6.1 完成
- 首页卡片交互按钮从16px增大到20px
- 点击热区从2px padding扩大到8px horizontal + 6px vertical
- 激活状态添加背景色高亮
- 统计图标从14px增大到18px
Changed
- 🔄
home_page.dart集成骨架屏、优化交互按钮、搜索栏跳转 - 🔄
HiveService新增搜索历史存储支持 - 🔄
app_routes.dart注册/search路由
[0.31.0] - 2026-04-09
Added
- 🛒 购物清单功能 — 阶段四100%完成
- 新增
lib/src/controllers/shopping/shopping_list_controller.dart购物清单控制器 - 新增
lib/src/pages/shopping/shopping_list_page.dart购物清单页面 - 支持添加/删除/勾选/清空已购物品
- 分类展示(蔬菜/肉类/海鲜/谷物/乳制品/调味品/水果/其他)
- 筛选功能:显示/隐藏已购 + 分类筛选
- 进度条显示购物完成度
- 我的页面功能网格添加购物清单入口
- 首页卡片添加「添加到购物清单」按钮
- 新增
Changed
- 🔄
profile_home.dart功能网格添加购物清单入口 - 🔄
app_routes.dart注册/shopping-list路由 - 🔄
HiveService新增getAllShoppingItemsWithKeys()方法 - 🔄
home_card_carousel.dart添加购物车按钮,支持从菜谱添加食材
[0.30.0] - 2026-04-09
Added
- 🎯 用户目标设置页面 — 阶段三最后一项,阶段三100%完成
- 新增
lib/src/pages/nutrition/goal_setting_page.dart目标设置页 - 快速预设:🧘减脂(1500kcal) / ⚖️均衡(2000kcal) / 💪增肌(2500kcal)
- 四项滑块调整:热量/蛋白质/脂肪/碳水,各自独立范围和步进
- 💡 营养小贴士卡片
- 保存后写入 HiveService.userGoals 持久化
- 新增
Changed
- 🔄
NutritionCenterPage热量概览区新增「🎯 设置目标」入口 - 🔄
app_routes.dart注册/goal-setting路由
[0.29.0] - 2026-04-09
Added
- 📊 营养报告页面(fl_chart 图表)
- 新增
lib/src/pages/nutrition/nutrition_report_page.dart营养报告页(周/月切换+热量趋势+营养素占比+摘要统计) - 新增
lib/src/widgets/charts/nutrition_line_chart.dart折线趋势图组件(fl_chart LineChart封装,支持目标线/触摸提示/自适应刻度) - 新增
lib/src/widgets/charts/nutrition_pie_chart.dart营养素占比饼图组件(fl_chart PieChart封装,蛋白质/脂肪/碳水三色展示+图例)
- 新增
- 🏗️ 全局可复用骨架组件
- 新增
lib/src/widgets/base/app_page_scaffold.dart页面骨架组件(AppPageScaffold/AppSectionHeader/AppCard/AppStatItem/AppProgressBar) - 统一 iOS26 风格页面结构:导航栏/加载/空态/错误/内容五种状态
- 新增
- 📁 目录结构按功能域重组
models/按功能域分子目录:api/recipe/feed/nutrition/user/shopping/notecontrollers/按功能域分子目录:feed/home/nutrition/user/favorites/discovery- 删除未使用的
product_model.dart和theme_model.dart - 全局更新 41 个文件的导入路径
Changed
- 🔄
MealRecordController扩展周/月营养聚合方法(weeklyNutrition/monthlyNutrition/getAggregatedNutrition/getWeeklyAverageCalories/getMonthlyAverageCalories) - 🔄
NutritionCenterPage导航栏新增「📊 报告」按钮跳转营养报告页 - 🔄
app_routes.dart注册/nutrition-report路由
Fixed
- 🐛
app_page_scaffold.dartnavigationBar 类型错误(Widget → CupertinoNavigationBar) - 🐛
app_page_scaffold.dartrefresh protected member 访问错误
[0.28.0] - 2026-04-09
Added
- 📊 fl_chart 本地化 + 鸿蒙适配
- 拉取
fl_chart 1.2.0源码到packages/fl_chart/(本地依赖) - 版本号改为
1.2.0-ohos.1标识鸿蒙适配版 - 创建
packages/fl_chart/ohos/鸿蒙平台目录结构ohos/Index.ets模块入口ohos/oh-package.json5依赖配置ohos/build-profile.json5构建配置ohos/src/main/module.json5模块声明ohos/src/main/ets/components/plugin/FlChartPlugin.ets空壳插件
pubspec.yaml引入本地 fl_chart:path: packages/fl_chart
- 拉取
- 📋 未完成功能清单文档
- 新增
docs/dev/UNFINISHED_FEATURES.md记录阶段三~五共19项未完成任务
- 新增
Fixed
- 🔧 卡死/闪退问题修复(10项)
- #1 Hive
late Box未初始化 → 改为Box?+_assertInitialized() - #2 ApiService 缓存竞态 →
late CacheOptions改为CacheOptions?+Completer - #3 Get.find 未注册 Controller → 加
Get.isRegistered<T>()判断 - #4 Platform API Web 崩溃 → 条件导入 +
kIsWeb检查 + Web stub - #5 网络请求无超时 →
_isOffline()加 3s 超时 - #6 runWithLoading 嵌套 → 布尔值改为计数器
_loadingCount - #8 SharedPreferences 未初始化 →
late改为?+ 安全调用 - #10 中间件拦截循环 →
/standards-violation路由跳过校验 - #9 LoggerService 未初始化 →
_logger改为Logger?(上一轮已修) - #11 MediaQuery 空值崩溃 → try-catch + 默认值(上一轮已修)
- #1 Hive
Changed
- 🔄
docs/dev/UNFINISHED_FEATURES.md3.1 fl_chart 状态更新为 ✅ 已引入
开发进度
已完成功能
- ✅ 主题服务(ThemeService)
- ✅ 动画服务(AnimationService)
- ✅ 国际化支持(en, zh, zh_Hant)
- ✅ 权限管理服务
- ✅ 自适应布局系统
- ✅ GetX 全局状态管理
- ✅ 标准组件库
- ✅ 路由守卫系统
- ✅ 繁体中文语言切换 + 弹窗/Toast 样式配置
- ✅ 核心错误修复(DeviceType/类型提升/空值检查等)
- ✅ API 基础设施(baseUrl + 模型 + Repository)— 阶段一
- ✅ 核心数据接入(首页真实数据)— 阶段二
- ✅ 信息流 + 推荐系统 — 阶段三
- ✅ 互动功能:点赞/推荐/浏览 — 阶段四
- ✅ 用户偏好系统 — 阶段五
- ✅ "今天吃什么"功能 — 阶段六
- ✅ 热门排行 + 在线统计 — 阶段七
- ✅ 缓存优化 + 离线支持 — 阶段八
待开发功能(优先级 P2-P3)
- 📋 "今天吃什么"功能 — 阶段六(P2)
- 📋 热门排行 + 在线统计 — 阶段七(P3)
- 📋 缓存优化 + 离线支持 — 阶段八(P3)
技术栈
- 框架: Flutter
- 状态管理: GetX
- 响应式布局: flutter_adaptive_scaffold
- 动画系统: animations
- 国际化: flutter_localizations + intl
- 权限管理: permission_handler
贡献指南
- 遵循 iOS 风格设计规范
- 使用主题服务统一管理颜色和字体
- 使用动画服务统一管理动画效果
- 新增功能需更新 CHANGELOG.md
- 代码提交前运行
flutter analyze确保无错误 - 新建页面必须支持 GetX 状态管理