135 lines
2.9 KiB
Markdown
135 lines
2.9 KiB
Markdown
# mom_kitchen - 小妈厨房
|
||
|
||
一款基于 Flutter 的 iOS26 风格美食应用,支持多平台(Android/iOS/HarmonyOS/Web)
|
||
|
||
---
|
||
|
||
## 🎨 个性化设置
|
||
|
||
### 访问路径
|
||
```
|
||
个人中心 → 设置 → 个性化设置
|
||
```
|
||
|
||
### 功能列表
|
||
| 功能 | 说明 | 范围 |
|
||
|------|------|------|
|
||
| 🎨 主题颜色 | 5 种预设颜色(蓝/橙/蓝紫/草绿/深红) | 全局 |
|
||
| 📝 字体大小 | 12pt - 24pt 可调 | 全局 |
|
||
| 🌙 深色模式 | 一键切换 | 全局 |
|
||
| ✨ 动画强度 | 0-2 倍速 | 全局 |
|
||
| 🌐 语言 | 简体中文/繁体中文/English | 全局 |
|
||
| 🔄 恢复默认 | 一键重置所有设置 | - |
|
||
|
||
### 开发者 API
|
||
```dart
|
||
// 获取控制器
|
||
final controller = Get.find<PersonalizationController>();
|
||
|
||
// 设置主题颜色
|
||
controller.setThemeColor(Color(0xFF2196F3));
|
||
|
||
// 调整字体大小
|
||
controller.setFontSize(18.0);
|
||
|
||
// 切换深色模式
|
||
controller.toggleDarkMode();
|
||
|
||
// 设置动画强度
|
||
controller.setAnimationIntensity(1.5);
|
||
|
||
// 切换语言
|
||
controller.setLanguage('en');
|
||
|
||
// 恢复默认
|
||
controller.resetToDefaults();
|
||
```
|
||
|
||
### 文件结构
|
||
```
|
||
lib/src/
|
||
├── controllers/
|
||
│ └── personalization_controller.dart # 控制器
|
||
├── pages/
|
||
│ └── personalization_page.dart # 页面 UI
|
||
└── routes/
|
||
└── app_routes.dart # 路由注册
|
||
```
|
||
|
||
---
|
||
|
||
## 🚀 已完成功能
|
||
|
||
### 阶段三:热量追踪 + 营养分析 ✅
|
||
- 膳食记录控制器(周/月聚合)
|
||
- 营养可视化图表(fl_chart)
|
||
- 目标设置页面
|
||
|
||
### 阶段四:购物清单 ✅
|
||
- 购物清单 CRUD 操作
|
||
- 分类筛选(8 种食材分类)
|
||
- 进度条显示完成度
|
||
- 多入口访问(发现页/我的页/菜谱卡片)
|
||
|
||
### 阶段六:主页体验优化 🔵
|
||
- ✅ 搜索功能(历史记录/热门搜索)
|
||
- ✅ 骨架屏加载效果
|
||
- ✅ 卡片交互按钮优化
|
||
|
||
### Bug 修复 🔴
|
||
- ✅ B.5 发现页购物清单点击无反应
|
||
|
||
|
||
---
|
||
|
||
## 📊 项目进度
|
||
|
||
总任务:38 | 已完成:19 | 完成率:50%
|
||
|
||
详细进度查看:[UNFINISHED_FEATURES.md](docs/dev/UNFINISHED_FEATURES.md)
|
||
|
||
---
|
||
|
||
## 🛠 开发指南
|
||
|
||
### 代码规范
|
||
- 优先使用 Cupertino (iOS) 组件
|
||
- 每个文件头部添加标准注释
|
||
- 遵循 iOS 26 Liquid Glass 设计风格
|
||
- 使用 DesignTokens 统一样式
|
||
|
||
### 路由注册
|
||
所有页面必须在 `app_routes.dart` 中注册:
|
||
1. 添加 `GetPage` 到 `pages` 列表
|
||
2. 添加 `PageInfo` 到 `registerAllPages()`
|
||
3. 设置 `PageStandardsMiddleware` 中间件
|
||
|
||
### 主题定制
|
||
使用 `DesignTokens` 和 `DarkDesignTokens`:
|
||
```dart
|
||
// 主题色
|
||
DesignTokens.primary
|
||
DesignTokens.secondary
|
||
|
||
// 背景色
|
||
DesignTokens.background
|
||
DesignTokens.card
|
||
|
||
// 圆角
|
||
DesignTokens.borderRadiusLg
|
||
DesignTokens.borderRadiusMd
|
||
```
|
||
|
||
---
|
||
|
||
## 📝 更新日志
|
||
|
||
详细变更查看:[CHANGELOG.md](CHANGELOG.md)
|
||
|
||
最新版本:0.33.0 (2026-04-09)
|
||
- Bug 修复:路由拦截问题
|
||
- 新增:搜索功能
|
||
- 优化:骨架屏加载效果
|
||
|
||
---
|