Files
monisuo/flutter_monisuo/AGENTS.md

169 lines
3.9 KiB
Markdown
Raw Normal View History

# 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. 添加动画优化