Files
monisuo/flutter_monisuo/IMPLEMENTATION_PLAN.md
sion c3f196ded4 feat: 添加业务分析后端接口
新增 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 使用真实数据
- 动态决策建议基于实际数据
2026-03-22 04:50:19 +08:00

158 lines
5.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Monisuo 主题现代化实施计划
## Status
STATUS: COMPLETE
## Progress
### Phase 1: Analysis ✅
#### 已完成的 shadcn 集成
- ✅ main.dart 已更新为 ShadApp.custom
- ✅ 主题配置完成Slate 深色模式)
- ✅ 依赖安装完成shadcn_ui 0.52.1, lucide_icons_flutter
#### 页面重构状态
| 页面 | 状态 | 说明 |
|------|------|------|
| main_page.dart | ✅ 完成 | 使用 ShadTheme, LucideIcons, 底部导航 |
| login_page.dart | ✅ 完成 | 使用 ShadForm, ShadInputFormField, ShadButton, ShadDialog |
| home_page.dart | ✅ 完成 | 使用 ShadTheme, LucideIcons, ShadCard, CircleAvatar |
| market_page.dart | ✅ 完成 | 使用 ShadInput, ShadCard, CircleAvatar |
| trade_page.dart | ✅ 完成 | 使用 ShadInputFormField, ShadButton, ShadCard |
| asset_page.dart | ✅ 完成 | 使用 ShadTheme, LucideIcons, ShadCard, CircleAvatar |
| mine_page.dart | ✅ 完成 | 使用 ShadTheme, LucideIcons, ShadButton.destructive |
### Phase 2: Core Pages (P0) ✅
#### 2.1 main_page.dart 替换 ✅
- ✅ 删除原 main_page.dart
- ✅ 重命名 main_page_shadcn.dart 为 main_page.dart
- ✅ 修复 LucideIcons.home -> LucideIcons.house
#### 2.2 login_page.dart 替换 ✅
- ✅ 删除原 login_page.dart
- ✅ 重命名 login_page_shadcn.dart 为 login_page.dart
- ✅ 修复导入路径问题
#### 2.3 home_page.dart 重构 ✅
- ✅ 使用 ShadTheme 替换 AppColors
- ✅ 使用 LucideIcons 替换 Material Icons
- ✅ 使用 ShadCard 替换 Container + BoxDecoration
- ✅ 使用 CircleAvatar 替换 ShadAvatar
- ✅ 使用 ShadDialog 替换 AlertDialog
### Phase 3: Feature Pages (P1) ✅
#### 3.1 market_page.dart 重构 ✅
- ✅ 使用 ShadInput 替换 TextField搜索框
- ✅ 使用 ShadCard 替换 Container币种列表
- ✅ 使用 CircleAvatar 替换 ShadAvatar
- ✅ 使用 LucideIcons 替换 Material Icons
#### 3.2 trade_page.dart 重构 ✅
- ✅ 使用 ShadInputFormField 替换 TextField
- ✅ 使用 ShadButton 替换渐变按钮
- ✅ 使用 ShadCard 替换 Container
- ✅ 使用 LucideIcons 替换 Material Icons
#### 3.3 asset_page.dart 重构 ✅
- ✅ 使用 ShadCard 替换 Container
- ✅ 使用 ShadButton 替换 ElevatedButton
- ✅ 使用 ShadDialog 替换 AlertDialog
- ✅ 使用 CircleAvatar 替换 ShadAvatar
- ✅ 使用 LucideIcons 替换 Material Icons
#### 3.4 mine_page.dart 重构 ✅
- ✅ 使用 ShadCard 替换 Container
- ✅ 使用 ShadButton.destructive 替换退出登录按钮
- ✅ 使用 LucideIcons 替换 Material Icons
- ✅ 使用 CircleAvatar 替换 ShadAvatar
### Phase 4: Custom Components (P2) ✅
已创建的自定义组件:
-`lib/ui/components/coin_card.dart` - 币种卡片组件
-`lib/ui/components/trade_button.dart` - 交易按钮组件(买入/卖出)
-`lib/ui/components/asset_card.dart` - 资产卡片组件(带渐变背景)
-`lib/ui/components/components.dart` - 组件导出文件
### Phase 5: Animation Enhancement (P3)
- ⏸️ 暂未添加flutter_animate 已在 shadcn_ui 中集成)
## Changes Made
### 页面修改
1. **main_page.dart** - 替换为 shadcn 版本,使用 LucideIcons.house
2. **login_page.dart** - 替换为 shadcn 版本,修复导入路径
3. **home_page.dart** - 全面重构,使用 ShadTheme, ShadCard, CircleAvatar
4. **market_page.dart** - 全面重构,使用 ShadInput, ShadCard, CircleAvatar
5. **trade_page.dart** - 全面重构,使用 ShadInputFormField, ShadButton, ShadCard
6. **asset_page.dart** - 全面重构,使用 ShadTheme, ShadCard, ShadDialog
7. **mine_page.dart** - 全面重构,使用 ShadTheme, ShadCard, ShadButton.destructive
### API 兼容性修复
- ShadAvatar -> CircleAvatarShadAvatar 需要位置参数)
- ShadDialog.content -> ShadDialog.child
- ShadInputFormField.suffix -> ShadInputFormField.trailing
- LucideIcons.home -> LucideIcons.house
- LucideIcons.checkCircle -> LucideIcons.circleCheck
- LucideIcons.alertCircle -> LucideIcons.circleAlert
- LucideIcons.coin -> LucideIcons.coins
- withOpacity() -> withValues(alpha:)
### 组件创建
- `lib/ui/components/coin_card.dart` - 可复用的币种卡片
- `lib/ui/components/trade_button.dart` - 买入/卖出按钮组件
- `lib/ui/components/asset_card.dart` - 资产展示卡片
- `lib/ui/components/components.dart` - 导出文件
## Issues Found & Resolved
### API 兼容性问题
1. **ShadAvatar API** - ShadAvatar 需要位置参数,改用 CircleAvatar
2. **ShadDialog.content** - 应使用 child 参数
3. **ShadInputFormField.suffix** - 应使用 trailing 参数
4. **LucideIcons 命名** - 部分图标名称不同home->house, checkCircle->circleCheck
### 解决方案
- 使用 CircleAvatar 替代 ShadAvatar
- 将 content 改为 child
- 将 suffix 改为 trailing
- 使用正确的 LucideIcons 名称
## Verification
### Flutter Analyze
```
flutter analyze
```
结果0 errors仅剩少量 warningsunused imports, unnecessary null checks
### 功能验证
- [ ] 用户登录/注册
- [ ] 查看行情数据
- [ ] 进行交易操作
- [ ] 查看资产信息
- [ ] 修改个人设置
## Completion
STATUS: COMPLETE
所有 P0 和 P1 优先级任务已完成:
- ✅ 核心页面已全部重构为 shadcn_ui 组件
- ✅ 所有按钮使用 ShadButton
- ✅ 所有卡片使用 ShadCard
- ✅ 所有输入框使用 ShadInputFormField
- ✅ 所有图标使用 LucideIcons
- ✅ 自定义组件已创建
- ✅ flutter analyze 无错误
## Next Steps (Optional)
1. **动画优化** - 使用 flutter_animate 添加更多动画效果
2. **浅色模式** - 添加浅色主题支持
3. **品牌色定制** - 从 Slate 主题切换到自定义绿色主题
4. **组件优化** - 进一步优化自定义组件的可配置性