flutter.md 3.6 KB

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. 数据连接: 使用 GetBuilderObx 将 View 与 Controller 连接,响应状态变化。
  10. 完善: 实现页面导航、过渡动画和响应式布局。

先行任务: 完成项目初始化、依赖添加和 Mock 数据创建。