Files
kitchen/CHANGELOG.md
Developer 8d27c67d3a api实现
2026-04-09 08:54:36 +08:00

8.3 KiB
Raw Blame History

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

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/note
    • controllers/ 按功能域分子目录feed/home/nutrition/user/favorites/discovery
    • 删除未使用的 product_model.darttheme_model.dart
    • 全局更新 41 个文件的导入路径

Changed

  • 🔄 MealRecordController 扩展周/月营养聚合方法weeklyNutrition/monthlyNutrition/getAggregatedNutrition/getWeeklyAverageCalories/getMonthlyAverageCalories
  • 🔄 NutritionCenterPage 导航栏新增「📊 报告」按钮跳转营养报告页
  • 🔄 app_routes.dart 注册 /nutrition-report 路由

Fixed

  • 🐛 app_page_scaffold.dart navigationBar 类型错误Widget → CupertinoNavigationBar
  • 🐛 app_page_scaffold.dart refresh 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_chartpath: 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 + 默认值(上一轮已修)

Changed

  • 🔄 docs/dev/UNFINISHED_FEATURES.md 3.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

贡献指南

  1. 遵循 iOS 风格设计规范
  2. 使用主题服务统一管理颜色和字体
  3. 使用动画服务统一管理动画效果
  4. 新增功能需更新 CHANGELOG.md
  5. 代码提交前运行 flutter analyze 确保无错误
  6. 新建页面必须支持 GetX 状态管理