新增 AnalysisController 提供 6 个分析接口: - /admin/analysis/profit - 盈利分析(交易手续费/充提手续费/资金利差) - /admin/analysis/cash-flow - 资金流动趋势(按月统计充值/提现/净流入) - /admin/analysis/trade - 交易分析(买入/卖出统计+趋势) - /admin/analysis/coin-distribution - 币种交易分布 - /admin/analysis/user-growth - 用户增长分析(新增/活跃用户) - /admin/analysis/risk - 风险指标(大额交易/异常提现/KYC/冻结账户) - /admin/analysis/health - 综合健康度评分 更新 Mapper 添加分析查询方法: - OrderFundMapper: 手续费统计、时间范围查询、大额交易、异常提现 - OrderTradeMapper: 交易金额统计、活跃用户、币种分布 前端 API 对接: - 新增 6 个分析相关 Query hooks - 更新 analytics.vue 使用真实数据 - 动态决策建议基于实际数据
267 lines
6.6 KiB
Markdown
267 lines
6.6 KiB
Markdown
# 目标
|
||
|
||
使用 shadcn_ui 现代化 Flutter 虚拟货币交易平台的主题和 UI,统一设计系统,提升用户体验。
|
||
|
||
## 参考文件
|
||
|
||
- `specs/theme-modernization.md` - 主题现代化规范
|
||
- `AGENTS.md` - 项目说明和注意事项
|
||
- `../REFACTOR_PLAN.md` - 已有的重构计划
|
||
- `IMPLEMENTATION_PLAN.md` - 实施计划(待创建)
|
||
|
||
## 任务范围
|
||
|
||
### Phase 1: 分析和学习 (Analysis & Learning)
|
||
1. 读取并理解 `../REFACTOR_PLAN.md` - 已有的重构计划
|
||
2. 分析现有页面:
|
||
- 哪些页面已经用 shadcn 重构
|
||
- 哪些页面还在使用 Material 组件
|
||
- 哪些地方有硬编码的颜色/样式
|
||
3. 识别主题配置:
|
||
- 当前的 ShadTheme 配置
|
||
- 品牌色、涨跌色、中性色
|
||
- 深色/浅色模式支持
|
||
4. 列出需要创建的自定义组件
|
||
|
||
### Phase 2: 核心页面替换 (Core Pages Replacement)
|
||
**高优先级 - 立即执行**
|
||
|
||
1. **主页面替换**
|
||
- 文件: `lib/ui/pages/main/main_page.dart`
|
||
- 替换为: `lib/ui/pages/main/main_page_shadcn.dart`
|
||
- 操作: 删除原文件,重命名 shadcn 版本
|
||
|
||
2. **登录页替换**
|
||
- 文件: `lib/ui/pages/auth/login_page.dart`
|
||
- 替换为: `lib/ui/pages/auth/login_page_shadcn.dart`
|
||
- 操作: 删除原文件,重命名 shadcn 版本
|
||
|
||
3. **首页重构**
|
||
- 文件: `lib/ui/pages/home/home_page.dart`
|
||
- 目标:
|
||
- 使用 ShadCard 展示资产概览
|
||
- 使用 ShadButton 进行快捷操作
|
||
- 使用 LucideIcons 替换 Material Icons
|
||
- 添加 flutter_animate 动画
|
||
|
||
### Phase 3: 功能页面重构 (Feature Pages Refactoring)
|
||
**高优先级**
|
||
|
||
1. **行情页面 (market_page.dart)**
|
||
- 币种列表使用 ShadCard
|
||
- 价格变化使用 ShadBadge(涨绿跌红)
|
||
- 搜索框使用 ShadInput
|
||
- 列表项使用 ShadListTile
|
||
|
||
2. **交易页面 (trade_page.dart)**
|
||
- 买入按钮:绿色 ShadButton
|
||
- 卖出按钮:红色 ShadButton.destructive
|
||
- 数量输入:ShadInputFormField
|
||
- 币种选择:ShadSelect(如果需要)
|
||
|
||
3. **资产页面 (asset_page.dart)**
|
||
- 总资产卡片:大号 ShadCard
|
||
- 充值/提现按钮:ShadButton
|
||
- 资金列表:ShadListTile
|
||
|
||
4. **个人中心 (mine_page.dart)**
|
||
- 菜单项:统一布局
|
||
- 设置项:ShadSwitch
|
||
- 退出登录:ShadButton.destructive
|
||
|
||
### Phase 4: 自定义组件创建 (Custom Components)
|
||
**中优先级**
|
||
|
||
创建可复用的业务组件:
|
||
|
||
1. **CoinCard - 币种卡片**
|
||
```dart
|
||
// lib/ui/components/coin_card.dart
|
||
// 显示:币种图标、名称、代码、价格、24h变化
|
||
// 使用:ShadCard + ShadAvatar + ShadBadge
|
||
```
|
||
|
||
2. **TradeButton - 交易按钮**
|
||
```dart
|
||
// lib/ui/components/trade_button.dart
|
||
// 买入:绿色 ShadButton
|
||
// 卖出:红色 ShadButton.destructive
|
||
```
|
||
|
||
3. **AssetCard - 资产卡片**
|
||
```dart
|
||
// lib/ui/components/asset_card.dart
|
||
// 显示:标题、余额、变化
|
||
// 使用:ShadCard + 大号文本
|
||
```
|
||
|
||
4. **PriceChart - 价格图表**(可选)
|
||
```dart
|
||
// lib/ui/components/price_chart.dart
|
||
// 显示:价格趋势
|
||
// 使用:CustomPaint + flutter_animate
|
||
```
|
||
|
||
### Phase 5: 注册页面重构 (Register Page)
|
||
**中优先级**
|
||
|
||
- 文件: `lib/ui/pages/auth/register_page.dart`
|
||
- 创建完整的注册表单
|
||
- 使用 ShadForm + ShadInputFormField
|
||
- 添加表单验证
|
||
|
||
### Phase 6: 动画优化 (Animation Enhancement)
|
||
**低优先级**
|
||
|
||
使用 flutter_animate 添加动画:
|
||
|
||
1. **页面切换动画**
|
||
- 淡入淡出效果
|
||
- 滑动效果
|
||
|
||
2. **列表加载动画**
|
||
- 交错淡入
|
||
- 滑动进入
|
||
|
||
3. **交互反馈动画**
|
||
- 按钮点击缩放
|
||
- 卡片悬停效果
|
||
|
||
### Phase 7: 主题定制 (Theme Customization)
|
||
**可选**
|
||
|
||
1. **品牌色定制**
|
||
```dart
|
||
// 在 main.dart 中
|
||
const brandGreen = Color(0xFF00D4AA);
|
||
const upColor = Color(0xFF10B981);
|
||
const downColor = Color(0xFFEF4444);
|
||
```
|
||
|
||
2. **配色方案调整**
|
||
- 可选:Zinc, Blue, Violet 等
|
||
|
||
### Phase 8: 验证和测试 (Validation & Testing)
|
||
|
||
1. **功能验证**
|
||
- 运行应用,测试所有功能
|
||
- 确保无运行时错误
|
||
|
||
2. **视觉验证**
|
||
- 检查所有页面一致性
|
||
- 检查深色模式效果
|
||
- 检查动画流畅度
|
||
|
||
3. **代码验证**
|
||
- 运行 `flutter analyze`
|
||
- 确保无警告和错误
|
||
|
||
## 优先级
|
||
|
||
### P0 - 立即执行
|
||
1. 替换 main_page.dart
|
||
2. 替换 login_page.dart
|
||
3. 重构 home_page.dart
|
||
|
||
### P1 - 高优先级
|
||
1. 重构 market_page.dart
|
||
2. 重构 trade_page.dart
|
||
3. 重构 asset_page.dart
|
||
4. 重构 mine_page.dart
|
||
|
||
### P2 - 中优先级
|
||
1. 创建自定义组件
|
||
2. 重构 register_page.dart
|
||
|
||
### P3 - 低优先级
|
||
1. 动画优化
|
||
2. 主题定制
|
||
3. 性能优化
|
||
|
||
## 完成标准
|
||
|
||
- [ ] 所有核心页面已重构为 shadcn 组件
|
||
- [ ] 所有按钮使用 ShadButton
|
||
- [ ] 所有卡片使用 ShadCard
|
||
- [ ] 所有输入框使用 ShadInputFormField
|
||
- [ ] 所有图标使用 LucideIcons
|
||
- [ ] 统一的间距和颜色
|
||
- [ ] 流畅的动画效果
|
||
- [ ] 功能验证通过
|
||
- [ ] `flutter analyze` 无错误
|
||
- [ ] 应用可正常运行
|
||
|
||
## 注意事项
|
||
|
||
- ⚠️ **不要修改业务逻辑**
|
||
- ⚠️ **不要修改 API 调用**
|
||
- ⚠️ **不要修改 Provider 逻辑**
|
||
- ⚠️ **不要删除现有功能**
|
||
- ⚠️ **每次修改后测试功能**
|
||
- ⚠️ **保持代码整洁**
|
||
|
||
## 工作流程
|
||
|
||
1. **先读取理解**:阅读现有代码和重构计划
|
||
2. **优先替换**:先完成已有 shadcn 版本的替换
|
||
3. **逐个重构**:按优先级重构每个页面
|
||
4. **创建组件**:提取可复用的自定义组件
|
||
5. **持续验证**:每完成一个页面就测试
|
||
6. **更新文档**:完成后更新 IMPLEMENTATION_PLAN.md
|
||
|
||
## 输出格式
|
||
|
||
创建 `IMPLEMENTATION_PLAN.md`:
|
||
|
||
```markdown
|
||
# Monisuo 主题现代化实施计划
|
||
|
||
## Status
|
||
STATUS: BUILDING
|
||
|
||
## Progress
|
||
|
||
### Phase 1: Analysis ✅
|
||
- [分析结果]
|
||
|
||
### Phase 2: Core Pages
|
||
- [ ] main_page.dart 替换
|
||
- [ ] login_page.dart 替换
|
||
- [ ] home_page.dart 重构
|
||
|
||
### Phase 3: Feature Pages
|
||
- [ ] market_page.dart 重构
|
||
- [ ] trade_page.dart 重构
|
||
- [ ] asset_page.dart 重构
|
||
- [ ] mine_page.dart 重构
|
||
|
||
### Phase 4: Custom Components
|
||
- [ ] CoinCard 创建
|
||
- [ ] TradeButton 创建
|
||
- [ ] AssetCard 创建
|
||
|
||
## Changes Made
|
||
[详细记录每个文件的修改]
|
||
|
||
## Issues Found
|
||
[发现的问题]
|
||
|
||
## Questions
|
||
[需要确认的问题]
|
||
|
||
## Completion
|
||
When all tasks are done, update status to:
|
||
STATUS: COMPLETE
|
||
```
|
||
|
||
## 开始指令
|
||
|
||
开始工作:
|
||
1. 读取 `../REFACTOR_PLAN.md` 了解已有计划
|
||
2. 读取 `specs/theme-modernization.md` 了解规范
|
||
3. 读取 `AGENTS.md` 了解项目结构
|
||
4. 创建 `IMPLEMENTATION_PLAN.md`
|
||
5. 开始执行 P0 优先级任务
|
||
|
||
Let's modernize the Monisuo Flutter app with a beautiful shadcn_ui theme! 🎨✨
|