移动端架构

SODOS Exchange前端系统采用多端技术架构,覆盖 Web 端和移动端,提供一致的用户体验和功能特性。

移动端架构

技术栈

移动端基于 Flutter 跨平台框架开发,支持 iOS 和 Android 双平台。

核心框架

  • Flutter SDK: 3.7.2+
  • Dart SDK: 3.0+
  • 运行环境: iOS 12.0+ / Android 5.0+ (API 21+)

主要依赖

状态管理

  • Provider (v6.1.2) - 应用状态管理
  • Equatable (v2.0.7) - 状态比较和优化

网络通信

  • Dio (v5.4.3) - HTTP 网络请求
  • HTTP (v1.4.0) - 基础网络支持
  • WebSocket Channel (v2.4.5) - 实时数据推送
  • msgpack_dart (v1.0.1) - 二进制数据解析

本地存储

  • Hive (v2.2.3) - 轻量级数据库
  • Hive Flutter (v1.1.0) - Flutter 集成
  • Shared Preferences (v2.2.3) - 键值对存储
  • Path Provider (v2.1.1) - 文件路径管理

UI 组件

  • Cached Network Image (v3.4.0) - 图片缓存
  • Lottie (v3.3.1) - 动画支持
  • Flutter Animate (v4.5.2) - 动画效果
  • Shimmer (v3.0.0) - 骨架屏加载
  • Carousel Slider (v5.1.1) - 轮播图
  • Easy Refresh (v3.4.0) - 下拉刷新
  • Toastification (v3.0.3) - 消息提示

图表分析

  • Syncfusion Flutter Charts (v30.1.40) - K线图表
  • Syncfusion Flutter Sliders (v30.1.38) - 滑块组件

功能插件

  • QR Flutter (v4.1.0) - 二维码生成
  • Mobile Scanner (v7.0.1) - 二维码扫描
  • WebView Flutter (v4.13.0) - 网页内容显示
  • Firebase Core/Messaging - 推送通知
  • Local Auth (v2.3.0) - 生物识别
  • Google Sign In (v6.2.1) - Google 登录
  • Sign In With Apple (v6.1.1) - Apple 登录

架构设计

分层架构

┌─────────────────────────────────────────────┐
│           🖥️ UI Layer (表现层)              │
│   ├── Pages (页面)                          │
│   ├── Widgets (组件)                        │
│   └── Charts (图表)                         │
├─────────────────────────────────────────────┤
│      🔄 State Management (状态管理层)       │
│   ├── Providers (状态提供者)                │
│   ├── Notifiers (通知器)                    │
│   └── Managers (管理器)                     │
├─────────────────────────────────────────────┤
│        🌐 Service Layer (服务层)            │
│   ├── Network Services (网络服务)           │
│   ├── WebSocket Services (实时数据)         │
│   ├── Config Services (配置管理)            │
│   └── Auth Services (认证服务)              │
├─────────────────────────────────────────────┤
│         📊 Data Layer (数据层)              │
│   ├── Models (数据模型)                     │
│   ├── Repository (数据仓库)                 │
│   ├── Local Storage (本地存储)              │
│   └── Cache (缓存管理)                      │
├─────────────────────────────────────────────┤
│      🎨 Theme System (主题系统)             │
│   ├── Templates (主题模板)                  │
│   ├── Colors (颜色系统)                     │
│   ├── Styles (样式定义)                     │
│   └── Theme Manager (主题管理)              │
└─────────────────────────────────────────────┘

目录结构

lib/
├── 🚀 main.dart                 # 应用入口
├── 🎨 core/                     # 核心模块
│   ├── config/                  # 配置管理
│   ├── managers/                # 核心管理器
│   ├── models/                  # 核心数据模型
│   ├── providers/               # 核心状态管理
│   ├── templates/               # 主题模板系统
│   │   ├── base/                # 基础主题
│   │   └── okx/                 # OKX 主题
│   └── theme/                   # 主题系统
│       ├── colors/              # 颜色定义
│       ├── styles/              # 样式定义
│       └── managers/            # 主题管理器
├── 📊 data/                     # 数据层
├── 🌍 l10n/                     # 国际化
│   ├── generated/               # 自动生成的语言文件
│   ├── arb/                     # 语言资源文件
│   └── managers/                # 语言管理器
├── 📱 pages/                    # 页面组件
│   ├── auth/                    # 认证页面
│   │   ├── login/               # 登录
│   │   └── register/            # 注册
│   ├── home/                    # 首页
│   ├── market/                  # 市场行情
│   ├── trade/                   # 交易页面
│   │   ├── spot_trade/          # 现货交易
│   │   ├── contract_trade/      # 合约交易
│   │   ├── copy_order_trade/    # 跟单交易
│   │   └── leverage_trade/      # 杠杆交易
│   ├── assets/                  # 资产管理
│   ├── wealth/                  # 财富管理
│   └── tools/                   # 工具页面
├── 🔌 providers/                # 状态管理
├── 🛣️ routes/                   # 路由管理
├── 🌐 services/                 # 服务层
├── 📦 models/                   # 数据模型
│   ├── user/                    # 用户模型
│   ├── trade/                   # 交易模型
│   ├── market/                  # 市场模型
│   ├── assets/                  # 资产模型
│   └── network/                 # 网络模型
├── 🛠️ utils/                    # 工具类
│   ├── common/                  # 通用工具
│   ├── formatting/              # 格式化工具
│   ├── device/                  # 设备信息
│   └── ui/                      # UI 工具
├── 🧩 widgets/                  # 通用组件
│   ├── common/                  # 公共组件
│   ├── dialogs/                 # 对话框
│   └── trade_common/            # 交易通用组件
└── 📈 charts/                   # 图表组件
    ├── kline/                   # K线图
    └── kline_chart/             # 图表工具

核心功能模块

1. 交易功能

现货交易

  • 支持限价单、市价单
  • 实时订单撮合
  • 深度图表展示
  • 历史订单查询

合约交易

  • 永续合约、交割合约
  • 杠杆交易支持
  • 持仓管理
  • 风险控制

跟单交易

  • 智能跟单系统
  • 策略复制
  • 收益统计
  • 交易员排行

杠杆交易

  • 多倍杠杆支持
  • 保证金管理
  • 强平预警
  • 借贷记录

闪兑交易

  • 快速币币兑换
  • 实时汇率
  • 滑点保护

链上交易

  • 去中心化交易
  • 钱包连接
  • 链上转账

2. 市场数据

实时行情

  • WebSocket 实时推送
  • 价格变动提醒
  • 深度数据展示
  • 成交量统计

K线图表

  • 多时间维度(1分钟 - 1月)
  • 技术指标(MA、MACD、KDJ、RSI等)
  • 画线工具
  • 图表缩放和拖动

市场列表

  • 分类筛选(现货、合约、杠杆)
  • 涨跌幅排序
  • 成交量排序
  • 自选收藏

智能搜索

  • 快速查找交易对
  • 币种信息展示
  • 热门推荐

3. 资产管理

账户总览

  • 总资产统计
  • 资产分布图表
  • 盈亏分析
  • 资产估值

持仓管理

  • 当前持仓列表
  • 持仓收益计算
  • 持仓分析图表
  • 平仓操作

订单管理

  • 当前委托
  • 历史委托
  • 成交明细
  • 订单筛选

资金流水

  • 充值记录
  • 提现记录
  • 交易流水
  • 划转记录

4. 用户系统

账户管理

  • 主账户登录
  • 子账户切换
  • 密码管理
  • 安全设置

身份认证

  • KYC 实名认证
  • 人脸识别
  • 证件识别(BlinkID SDK)
  • 安全验证

安全功能

  • 生物识别登录(指纹/Face ID)
  • 二次验证
  • 设备管理
  • 登录日志

个人设置

  • 个性化配置
  • 语言切换
  • 货币单位
  • 通知设置

5. 主题系统

动态主题

  • 多套主题模板(Base、OKX 等)
  • 后端远程配置
  • 24小时配置缓存
  • 权限控制

深色模式

  • 浅色/深色模式切换
  • 自动跟随系统
  • 护眼模式

自定义配置

  • 颜色自定义
  • 字体大小
  • 显示密度

技术特性

状态管理

使用 Provider 进行全局状态管理,通过 ChangeNotifier 实现响应式状态更新。主要管理主题状态、用户状态、市场数据状态等全局状态,支持多 Provider 组合使用。

网络请求

使用 Dio 进行网络请求,配置了统一的请求拦截器、错误处理拦截器和日志拦截器。支持请求超时控制、自动重试、数据缓存等功能,确保网络通信的稳定性和可靠性。

WebSocket 实时通信

通过 WebSocket Channel 实现实时数据推送,支持市场行情订阅、订单状态推送、账户资产变动通知等实时功能。采用自动重连机制,保证长连接的稳定性。

本地存储

使用 Hive 轻量级数据库进行本地数据持久化,支持对象存储和加密存储。主要用于存储用户信息、登录状态、交易配置、自选列表等数据。

国际化

采用 Flutter 官方国际化方案,支持中文、英文等多语言。通过 ARB 文件管理翻译资源,自动生成类型安全的国际化代码,实现语言的动态切换。

路由管理

采用命名路由管理方式,统一管理应用内所有页面跳转。支持路由参数传递、路由守卫、页面转场动画等功能,提供清晰的页面导航体验。


性能优化

启动优化

  • 启动画面延迟感知
  • 延迟加载非关键模块
  • 资源预加载策略
  • 代码拆分和懒加载

渲染优化

  • 使用 const 构造函数减少重建
  • RepaintBoundary 隔离重绘区域
  • 列表虚拟化滚动
  • 图片缓存和懒加载

内存优化

  • 及时释放未使用资源
  • 图片内存控制
  • 监听器自动清理
  • 对象池复用

网络优化

  • 请求缓存机制
  • 连接池复用
  • 数据压缩传输
  • 分页加载

安全机制

数据加密

  • 敏感数据加密存储
  • HTTPS 通信
  • Token 安全管理
  • 密钥保护

生物识别

  • 指纹识别(Touch ID)
  • 面容识别(Face ID)
  • 本地认证
  • 安全存储

代码保护

  • 代码混淆
  • 签名验证
  • 反调试保护
  • 关键逻辑保护

构建和发布

Android 构建

  • 支持构建 APK 和 App Bundle 格式
  • 配置签名文件和混淆规则
  • 多渠道打包支持

iOS 构建

  • 支持构建 IPA 文件
  • 配置证书和描述文件
  • App Store 发布配置

版本管理

采用语义化版本号管理:主版本.次版本.修订版本+构建号(如 1.0.0+1),在 pubspec.yaml 中统一配置应用版本信息。


开发工具

调试工具

  • Flutter Inspector - UI 检查工具
  • Dart DevTools - 性能分析
  • Network Inspector - 网络请求监控
  • Provider DevTools - 状态调试

代码质量

  • Flutter Lints - 代码规范检查
  • Dart Analyzer - 静态分析
  • Dart Format - 代码格式化

加密数字货币交易所系统-WEB3区块链开发者 • © 2026