# MoneyTracker **Repository Path**: fakerlove/money-tracker ## Basic Information - **Project Name**: MoneyTracker - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-05-29 - **Last Updated**: 2025-05-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 记账助手 一款功能完整的Flutter记账应用,支持用户注册登录、多维度记账视图和智能录入功能。 ## 功能特性 ### 🔐 用户系统 - **用户注册/登录**: 支持用户名密码登录,邮箱可选 - **用户管理**: 修改密码、个人信息管理 - **自动登录**: 记住登录状态,下次启动自动进入 ### 📊 多维度记账 - **按天查看**: 每日独立卡片,显示完整记录详情 - **按周查看**: 周度统计,简化表格布局 - **按月查看**: 月度趋势图表和收支分析 ### 🎯 智能功能 - **智能录入**: 语音录音界面,支持语音识别(预留接口) - **数据统计**: 本月、年度收支统计 - **图表可视化**: 月度收支趋势线图 ### 📱 用户界面 - **现代化UI**: Material 3设计风格 - **响应式布局**: 适配不同屏幕尺寸 - **底部导航**: 四个主要功能模块 - **精美启动页**: 渐变背景和品牌展示 ## 项目结构 ``` lib/ ├── main.dart # 应用入口和启动页 ├── models/ # 数据模型 │ ├── expense_record.dart # 记账记录模型 │ └── user.dart # 用户模型 ├── services/ # 服务层 │ ├── database_service.dart # 记账数据库服务 │ └── user_service.dart # 用户数据库服务 └── screens/ # 页面 ├── auth/ # 认证相关 │ └── login_page.dart # 登录注册页面 ├── daily/ # 按天记账 │ └── daily_page.dart # 按天查看页面 ├── weekly/ # 按周记账 │ └── weekly_page.dart # 按周查看页面 ├── monthly/ # 按月记账 │ └── monthly_page.dart # 按月查看页面 ├── profile/ # 个人中心 │ └── profile_page.dart # 我的页面 └── main_page.dart # 主页面(底部导航) ``` ## 技术栈 - **Flutter**: 3.3.4+ - **数据库**: SQLite (sqflite) - **图表**: fl_chart - **本地存储**: shared_preferences - **日期处理**: intl ## 核心功能 ### 1. 用户认证系统 - 用户注册时自动创建用户数据库 - 密码存储(实际项目中应加密) - 登录状态持久化 - 支持用户登出 ### 2. 记账数据管理 - 支持收入/支出两种类型 - 多种分类:餐饮、交通、购物等 - 详细记录:名称、金额、备注、日期 - 按日期范围查询数据 ### 3. 多视图展示 - **日视图**: 每天独立卡片,完整表格显示 - **周视图**: 按周分组,简化字段显示 - **月视图**: 图表展示趋势,详细统计 ### 4. 智能录入 - 精美录音界面设计 - 录音状态管理和动画效果 - 预留语音识别接口 - 支持语音命令解析 ### 5. 个人中心 - 用户信息展示 - 统计数据概览 - 功能菜单:数据分析、备份、帮助等 - 密码修改功能 ## 使用说明 ### 首次使用 1. 启动应用会显示精美的启动页 2. 进入登录页面,可选择注册新账户 3. 注册成功后自动跳转到登录页面 4. 登录后进入主界面 ### 记账操作 1. 在按天页面点击"新增记录"按钮 2. 选择类型(收入/支出)和分类 3. 填写名称、金额、备注 4. 点击保存完成记录 ### 智能录入 1. 在按天页面点击"智能录入"按钮 2. 点击话筒图标开始录音 3. 说出记账内容,如"早餐花了15元" 4. 点击上传进行语音识别 5. 确认后保存记录 ### 数据查看 - **按天**: 查看每日详细记录和收支统计 - **按周**: 查看周度汇总和记录列表 - **按月**: 查看月度趋势图表和统计 ## 开发计划 ### 已完成功能 ✅ - [x] 用户注册登录系统 - [x] 多维度记账视图 - [x] 智能录入界面 - [x] 数据统计图表 - [x] 个人中心功能 - [x] 现代化UI设计 ### 待开发功能 🚧 - [ ] 真正的语音识别集成 - [ ] 数据导出Excel功能 - [ ] 云端数据同步 - [ ] 更多图表类型 - [ ] 预算管理 - [ ] 分类图标自定义 - [ ] 深色主题支持 ## 安装运行 1. 确保Flutter环境已安装 2. 克隆项目到本地 3. 运行 `flutter pub get` 安装依赖 4. 运行 `flutter run` 启动应用 ## 注意事项 - 首次运行会自动创建数据库 - 用户数据存储在本地SQLite数据库中 - 语音识别功能需要集成第三方SDK - 建议在真实设备上测试语音相关功能 ./android/gradlew build --info export PATH="$PATH:$HOME/.pub-cache/bin" source ~/.bashrc dart pub global activate fvm https://pub.dev/packages/file_picker/versions https://github.com/flutter/flutter/issues/156304#issuecomment-2397707812