|
|
@@ -0,0 +1,78 @@
|
|
|
+# Flutter 项目:比特币交易所 App
|
|
|
+
|
|
|
+## 概述
|
|
|
+
|
|
|
+使用 Flutter 和 GetX 构建一个名为 `flutter_btc_exchange` 的比特币交易所应用。功能包括实时行情、多模式交易、AI 策略和资产管理。UI 要求美观流畅,初期使用 Mock 数据。
|
|
|
+
|
|
|
+## 功能需求
|
|
|
+
|
|
|
+包含五个主 Tab 页:**首页**, **行情**, **交易**, **AI策略**, **资产**。
|
|
|
+
|
|
|
+### 1. 认证
|
|
|
+- **登录/注册**: 实现基本的用户认证流程。
|
|
|
+- **其他页面**: 创建“用户详情”、“实名认证”、“绑卡”等空白页,待后续开发。
|
|
|
+
|
|
|
+### 2. 首页 (Home)
|
|
|
+- **顶部**: Logo、通知图标,以及“交易所”/“钱包” Tab。
|
|
|
+- **资产总览**: 显示总资产(CNY),并用图表展示今日收益(带刷新),下方有“充值”/“提现”按钮。
|
|
|
+- **快捷入口**: 10个功能按钮(如现货、合约交易等)。
|
|
|
+- **推广区**: Banner 横幅。
|
|
|
+- **市场 Tab**: “自选”、“热门”、“涨幅榜”等代币列表。
|
|
|
+- **新闻 Tab**: “发现”、“公告”等新闻列表。
|
|
|
+
|
|
|
+### 3. 行情页 (Market)
|
|
|
+- **顶部**: 搜索栏。
|
|
|
+- **主 Tab**: “市场”、“动态”、“牛人帮”。
|
|
|
+- **公告栏**: 滚动公告。
|
|
|
+- **行情分类 Tab**: “自选”、“现货”、“合约”等行情列表。
|
|
|
+
|
|
|
+### 4. 交易页 (Trade)
|
|
|
+- **图表区**: K线图或深度图。
|
|
|
+- **操作区**: “买入”/“卖出” Tab,含价格/数量输入框和交易按钮。
|
|
|
+- **订单区**: “当前委托”、“历史委托”等列表。
|
|
|
+
|
|
|
+### 5. AI 策略页 (核心)
|
|
|
+- **资产总览**: 显示策略账户总资产和图表。
|
|
|
+- **核心操作**: “盈亏分析”、“划转”按钮。
|
|
|
+- **策略管理**: “创建策略”、“运行中”、“历史策略” Tab。
|
|
|
+- **策略列表**: 展示可用策略,如现货网格、合约马丁格尔等。
|
|
|
+- **社区排行**: “AI推荐榜”、“达人榜”、“AI跟单”等。
|
|
|
+
|
|
|
+### 6. 资产页 (Assets)
|
|
|
+- **顶部**: Banner 和“充币”按钮。
|
|
|
+- **列表**: 显示用户持有的各币种资产。
|
|
|
+
|
|
|
+## 技术栈
|
|
|
+
|
|
|
+- **框架**: Flutter
|
|
|
+- **状态管理/路由**: GetX
|
|
|
+- **架构**: Clean Architecture (Domain, Data, Presentation)
|
|
|
+- **数据**: Mock 数据 (位于 `data/mock/`)
|
|
|
+- **核心依赖**: `get`, `dio`, `shared_preferences`, `fl_chart`, `cached_network_image` 等。
|
|
|
+
|
|
|
+## 项目结构
|
|
|
+
|
|
|
+```
|
|
|
+lib/
|
|
|
+├── main.dart # 入口
|
|
|
+├── app/ # 路由、绑定、应用配置
|
|
|
+├── core/ # 常量、主题、工具、服务
|
|
|
+├── data/ # 数据层 (Models, Repositories, Datasources, Mock)
|
|
|
+├── presentation/ # 表现层 (Pages, Widgets, Controllers)
|
|
|
+└── domain/ # 领域层 (Entities, Repositories, Usecases)
|
|
|
+```
|
|
|
+
|
|
|
+## 任务步骤
|
|
|
+
|
|
|
+1. **初始化**: 创建项目结构和文件。
|
|
|
+2. **添加依赖**: 在 `pubspec.yaml` 中添加所有依赖并运行 `flutter pub get`。
|
|
|
+3. **Mock数据**: 在 `data/mock/` 中创建模拟 API 响应的 JSON 文件。
|
|
|
+4. **模型定义**: 根据 JSON 创建 Dart 模型类。
|
|
|
+5. **架构搭建**: 实现 Domain, Data 层的接口和实现,从 Mock 读取数据。
|
|
|
+6. **路由/注入**: 配置 GetX 的路由和控制器绑定。
|
|
|
+7. **UI开发**: 构建五个主页面及认证页面,将通用部分抽象为 Widget。
|
|
|
+8. **控制器逻辑**: 创建 `GetXController`,通过 UseCases 获取数据并管理页面状态。
|
|
|
+9. **数据连接**: 使用 `GetBuilder` 或 `Obx` 将 View 与 Controller 连接,响应状态变化。
|
|
|
+10. **完善**: 实现页面导航、过渡动画和响应式布局。
|
|
|
+
|
|
|
+**先行任务**: 完成项目初始化、依赖添加和 Mock 数据创建。
|