# flutter-bookkeeping **Repository Path**: volatchange/flutter-bookkeeping ## Basic Information - **Project Name**: flutter-bookkeeping - **Description**: flutter记账app - **Primary Language**: Dart - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-12-30 - **Last Updated**: 2025-12-31 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Flutter记账本应用 一个功能完整的跨平台记账本应用,使用Flutter框架开发,支持Android、iOS、Web等多平台。 ## 功能特性 - ✅ 用户认证(登录/注册) - ✅ 收支记录管理 - ✅ 收支统计分析 - ✅ 图表可视化 - ✅ 响应式设计,适配不同屏幕尺寸 - ✅ 深色/浅色主题切换 - ✅ 多环境配置支持 - ✅ 基于.env文件的环境变量管理 ## 技术栈 ### 核心框架 - Flutter 3.35.1 - Dart 3.2.0+ ### 主要依赖 - **状态管理**:Provider - **网络请求**:Dio - **路由管理**:auto_route - **响应式设计**:flutter_screenutil - **环境变量**:flutter_dotenv - **数据库**:sqflite - **本地存储**:shared_preferences - **图表库**:fl_chart ## 项目结构 ``` lib/ ├── api/ # API接口定义 ├── core/ # 核心功能模块 │ ├── network.dart # 网络配置与管理 │ └── providers/ # 状态管理Provider ├── db/ # 数据库相关 ├── models/ # 数据模型 ├── pages/ # 页面组件 ├── router/ # 路由配置 ├── services/ # 业务逻辑服务 └── main.dart # 应用入口 ``` ## 环境配置 ### 开发环境 - 开发服务器:http://172.16.60.153:3010 - WebSocket:ws://172.16.60.153:3010 ### 生产环境 - 生产服务器:https://api.example.com - WebSocket:wss://api.example.com ### 环境变量管理 项目使用 `.env` 文件管理环境变量: - `.env`:开发环境配置 - `.env.production`:生产环境配置 主要环境变量: - `API_BASE_URL`:API基础URL - `WEB_SOCKET_URL`:WebSocket URL - `CONNECT_TIMEOUT`:连接超时时间 - `RECEIVE_TIMEOUT`:接收超时时间 - `LOG_LEVEL`:日志级别 - `ENABLE_DEBUG`:是否启用调试模式 - `ENVIRONMENT`:环境类型 ## 安装与运行 ### 1. 安装依赖 ```bash flutter pub get ``` ### 2. 运行项目 #### 开发环境 ```bash # 运行在Chrome浏览器 flutter run -d chrome --web-port 55552 # 运行在Android模拟器 flutter run -d # 运行在iOS模拟器 flutter run -d ``` #### 生产环境 ```bash # 构建生产版本APK flutter build apk --release # 构建生产版本AAB flutter build appbundle --release # 构建生产版本iOS包 flutter build ios --release ``` ## 开发指南 ### 代码风格 项目使用Flutter官方推荐的代码风格,通过 `flutter_lints` 进行代码检查: ```bash # 运行代码检查 flutter analyze # 格式化代码 flutter format lib/ ``` ### 响应式设计 项目使用 `flutter_screenutil` 实现响应式设计,基于375x812的设计稿尺寸: - 尺寸单位:`10.w`、`10.h` - 字体大小:`16.sp` - 圆角:`8.r` ### API调用 使用封装的API服务进行网络请求: ```dart final response = await ApiService.request( path: '/transactions', method: 'GET', queryParameters: {'page': 1, 'limit': 10}, ); ``` ## 测试 ### 单元测试 ```bash flutter test ``` ### 集成测试 ```bash flutter drive --target=test_driver/app.dart ``` ## 打包与发布 ### Android 1. 生成签名密钥 2. 配置签名信息 3. 构建发布版本 4. 上传到Google Play Store ### iOS 1. 配置Xcode项目 2. 配置证书和Provisioning Profile 3. 构建Archive 4. 上传到App Store Connect ## 许可证 MIT License ## 贡献 欢迎提交Issue和Pull Request! ## 联系方式 如有问题,请联系项目维护者。