# calorie_calculator **Repository Path**: thiswind/calorie_calculator ## Basic Information - **Project Name**: calorie_calculator - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-02 - **Last Updated**: 2026-04-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 卡路里管理应用 一个专业的卡路里管理和减脂追踪应用,使用 Flutter 开发。 ## 功能特点 - ✅ 三步设置流程:快速配置个人信息和减脂计划 - ✅ AI 食物分析:拍照或文字描述,自动分析卡路里和营养成分(火山引擎 API) - ✅ 双模式记录:支持拍照+文字描述,或仅文字描述 - ✅ 本地数据持久化:使用 Hive 数据库,数据安全存储在本地 - ✅ 进度可视化:体重变化图表、卡路里摄入图表 - ✅ 三种主题:绿色主题、红色主题、深色主题 - ✅ Material Design 3:现代、美观的用户界面 - ✅ 测试驱动开发:27个核心算法单元测试全部通过 ## 技术栈 - **框架**: Flutter 3.10+ - **语言**: Dart - **状态管理**: Riverpod - **路由**: go_router - **本地存储**: Hive - **图表**: fl_chart - **HTTP 客户端**: Dio - **JSON 序列化**: json_serializable - **AI 服务**: 火山引擎 (豆包大模型) - **图片选择**: image_picker ## 如何克隆 ```bash # 克隆仓库 git clone https://gitee.com/thiswind/calorie_calculator.git # 进入项目目录 cd calorie_calculator ``` ## 如何编译 ### 前置要求 确保你已经安装了: - Flutter SDK (3.10 或更高版本) - Dart SDK (随 Flutter 一起安装) - 对于 Android:Android Studio 和 Android SDK - 对于 iOS:Xcode (仅 macOS) - 对于 Web:Chrome 浏览器 ### 安装依赖 ```bash # 获取 Flutter 依赖 flutter pub get # 生成 JSON 序列化代码 flutter pub run build_runner build --delete-conflicting-outputs ``` ## 如何运行 ### 运行在 Web 浏览器 ```bash # 启动 Web 开发服务器 flutter run -d chrome ``` 应用将在 Chrome 浏览器中打开,默认地址:`http://localhost:8080` ### 运行在 Android ```bash # 确保有 Android 设备连接或模拟器运行 flutter devices # 运行在 Android 设备/模拟器 flutter run -d ``` ### 运行在 iOS (仅 macOS) ```bash # 确保有 iOS 模拟器运行 flutter devices # 运行在 iOS 模拟器 flutter run -d ``` ### 运行在 macOS ```bash flutter run -d macos ``` ### 运行在 Windows ```bash flutter run -d windows ``` ## 项目结构 ``` lib/ ├── main.dart # 应用入口 ├── core/ │ ├── constants/ │ │ └── api_constants.dart # API 常量配置 │ ├── router/ │ │ └── app_router.dart # 路由配置 │ ├── theme/ │ │ └── app_theme.dart # 主题配置 │ └── utils/ │ ├── bmi_calculator.dart # BMI 计算器 │ ├── bmr_calculator.dart # BMR 基础代谢率计算器 │ └── weight_loss_curve.dart # 100天平滑减脂曲线 ├── data/ │ ├── local/ │ │ └── hive_service.dart # Hive 数据库服务 │ ├── models/ │ │ ├── meal_log.dart # 饮食记录模型 │ │ ├── user_profile.dart # 用户配置模型 │ │ └── weight_record.dart # 体重记录模型 │ └── repositories/ │ ├── meal_repository.dart # 饮食记录仓库 │ ├── user_repository.dart # 用户配置仓库 │ └── weight_repository.dart # 体重记录仓库 ├── presentation/ │ ├── providers/ │ │ ├── ai_provider.dart # AI 服务 Provider │ │ ├── app_providers.dart # 应用全局 Providers │ │ └── theme_provider.dart # 主题 Provider │ ├── screens/ │ │ ├── overview/ │ │ │ └── overview_screen.dart # 概览页面 │ │ ├── photo_log/ │ │ │ └── photo_log_screen.dart # 拍照记录页面 │ │ └── setup/ │ │ └── setup_screen.dart # 设置页面 │ └── widgets/ │ ├── bottom_navbar.dart # 底部导航栏 │ └── theme_switch_button.dart # 主题切换按钮 └── services/ ├── ai/ │ ├── ai_service.dart # AI 服务 │ ├── models/ │ │ ├── food_analysis_request.dart # AI 请求模型 │ │ └── food_analysis_response.dart # AI 响应模型 │ └── prompts.dart # AI 提示词 └── image_storage_service.dart # 图片存储服务 ``` ## 测试 ### 运行单元测试 ```bash # 运行所有测试 flutter test # 只运行核心算法测试 flutter test test/core/utils/ ``` ### 测试覆盖 - ✅ BMI 计算器测试(8个测试) - ✅ BMR 基础代谢率测试(12个测试) - ✅ 100天平滑减脂曲线测试(7个测试) ## 截图 ### 设置页面 ![设置页面](docs/screenshots/setup_screen.png) ### 拍照记录页面 ![拍照记录页面](docs/screenshots/photo_log_screen.png) ### 概览页面 ![概览页面](docs/screenshots/overview_screen.png) ## 开发 ### 开发模式 ```bash # 启动开发服务器(支持热重载) flutter run -d chrome ``` 按 `r` 键进行热重载,按 `R` 键进行热重启。 ### 代码生成 如果修改了需要 JSON 序列化的模型类,需要重新生成代码: ```bash flutter pub run build_runner build --delete-conflicting-outputs ``` ### 分析代码 ```bash # 分析代码,查找潜在问题 flutter analyze ``` ## 许可证 本项目仅供学习和个人使用。 ## 贡献 欢迎提交 Issue 和 Pull Request! ## 联系方式 如有问题或建议,请通过以下方式联系: - 提交 Issue:https://gitee.com/thiswind/calorie_calculator/issues - 项目主页:https://gitee.com/thiswind/calorie_calculator --- **享受健康的减脂旅程!** 💪