# Flutter Monisuo 项目说明 ## 项目信息 - **名称**: flutter_monisuo (虚拟货币模拟交易平台) - **框架**: Flutter 3 - **语言**: Dart - **UI 库**: shadcn_ui 0.52.1 - **图标**: lucide_icons_flutter - **动画**: flutter_animate - **状态管理**: Provider ## 技术栈详情 ### 核心依赖 - Flutter SDK: >=3.0.0 <4.0.0 - shadcn_ui: ^0.52.1 - provider: ^6.1.1 - dio: ^5.4.0 - shared_preferences: ^2.2.2 ### 工具库 - intl: 国际化 - decimal: 精确计算 ## 开发命令 ```bash # 获取依赖 flutter pub get # 运行应用 flutter run # 构建生产版本 flutter build apk flutter build ios # 分析代码 flutter analyze # 运行测试 flutter test ``` ## 项目结构 ``` lib/ ├── core/ # 核心功能 │ ├── constants/ # 常量 │ ├── network/ # 网络请求 │ ├── storage/ # 本地存储 │ └── theme/ # 主题配置 ├── data/ # 数据层 │ ├── models/ # 数据模型 │ └── services/ # API 服务 ├── providers/ # 状态管理 ├── routes/ # 路由配置 ├── ui/ # UI 层 │ └── pages/ # 页面组件 └── main.dart # 应用入口 ``` ## 主要页面 ### 1. 认证模块 - `login_page.dart` - 登录页(需要重构) - `login_page_shadcn.dart` - shadcn 版本示例(已完成) - `register_page.dart` - 注册页(需要重构) ### 2. 主框架 - `main_page.dart` - 主页面(需要重构) - `main_page_shadcn.dart` - shadcn 版本示例(已完成) ### 3. 功能页面 - `home_page.dart` - 首页 - `market_page.dart` - 行情 - `trade_page.dart` - 交易 - `asset_page.dart` - 资产 - `mine_page.dart` - 我的 ## 当前状态 ### 已完成 - ✅ shadcn_ui 集成 - ✅ main.dart 更新为 ShadApp - ✅ 登录页 shadcn 示例 - ✅ 主页面 shadcn 示例 - ✅ 主题配置(Slate 深色) ### 进行中 - ⏳ 替换原文件为 shadcn 版本 - ⏳ 重构剩余页面 - ⏳ 创建自定义组件 ### 待开始 - ❌ 动画优化 - ❌ 性能优化 - ❌ 测试覆盖 ## 重构注意事项 ### 已有的 shadcn 组件 shadcn_ui 提供的组件: - ShadApp, ShadTheme - ShadButton (多种变体) - ShadCard, ShadDialog - ShadInputFormField, ShadSelect - ShadBadge, ShadAvatar - ShadListTile, ShadSwitch - 等等... ### 需要统一的样式 1. **按钮**: 所有按钮使用 ShadButton 2. **卡片**: 所有卡片使用 ShadCard 3. **输入**: 所有输入框使用 ShadInputFormField 4. **图标**: 所有图标使用 LucideIcons 5. **颜色**: 使用 ShadTheme 获取颜色 ### 禁止修改 - ❌ API 服务逻辑 - ❌ Provider 状态管理 - ❌ 数据模型结构 - ❌ 路由逻辑 ## 测试要点 1. **功能测试** - 用户登录/注册 - 查看行情数据 - 进行交易操作 - 查看资产信息 - 修改个人设置 2. **视觉测试** - 深色模式检查 - 浅色模式检查 - 动画流畅度 - 响应式布局 3. **构建测试** - Dart 分析通过 - Flutter 构建成功 - 无运行时错误 ## 学习要点 - 如果遇到新的 UI 模式,记录到本文档 - 如果发现业务逻辑依赖,记录到本文档 - 如果需要新的设计 token,记录到本文档 - 如果创建新的自定义组件,记录到本文档 ## 已知问题 1. **登录页**: 有两个版本,需要用 shadcn 版本替换原版 2. **主页面**: 有两个版本,需要用 shadcn 版本替换原版 3. **图标**: 部分页面仍使用 Material Icons,需要替换为 LucideIcons 4. **颜色**: 部分地方硬编码颜色,需要使用主题色 ## 下一步计划 1. 替换 main_page.dart 和 login_page.dart 2. 重构 home_page.dart 3. 重构 market_page.dart 和 trade_page.dart 4. 重构 asset_page.dart 和 mine_page.dart 5. 创建自定义组件(CoinCard, TradeButton 等) 6. 添加动画优化