# 量化交易系统 - Vue 前端 基于 Vue 3 + Vuetify 的现代化量化交易前端界面 ## 🚀 技术栈 - **Vue 3** - 渐进式 JavaScript 框架 - **Vuetify 3** - Material Design 组件库 - **Vue Router 4** - 官方路由管理器 - **Axios** - HTTP 客户端 - **ECharts** - 数据可视化图表 - **Vite** - 快速构建工具 ## 📦 安装依赖 ```bash cd frontend npm install ``` ## 🏃‍♂️ 开发运行 ```bash # 启动开发服务器 npm run dev # 或直接使用 npx npx vite --host 0.0.0.0 --port 3000 ``` ## 🏗️ 生产构建 ```bash # 构建生产版本 npm run build # 预览构建结果 npm run preview ``` ## 🌐 访问地址 - **开发环境**: http://localhost:3001 - **生产环境**: 根据部署配置 ## 📱 功能特性 ### 1. 仪表板 (Dashboard) - 📊 实时服务状态监控 - 📈 关键指标展示 (待执行指令、统计记录、活跃品种) - 🔄 自动刷新数据 ### 2. 交易指令管理 (Trade Orders) - ➕ 发送新的交易指令 - ✅ **智能价格验证**: 自动检查买入/卖出指令的价格合理性 - 📋 查看所有待执行指令 - 🗑️ 批量清空指令 ### 3. 统计数据分析 (Statistics) - 📊 历史数据表格展示 - 📈 价格趋势图表 - 📋 汇总统计指标 ### 4. 服务状态监控 (Status) - ❤️ 健康检查状态 - 📊 详细的服务指标 - 🔄 实时自动刷新 (每5秒) ## 🔧 项目结构 ``` frontend/ ├── public/ # 静态资源 ├── src/ │ ├── api/ # API 接口 │ │ └── trading.js # 交易 API │ ├── components/ # 组件 (预留) │ ├── plugins/ # 插件配置 │ │ └── vuetify.js # Vuetify 配置 │ ├── router/ # 路由配置 │ │ └── index.js # 路由定义 │ ├── views/ # 页面视图 │ │ ├── Dashboard.vue # 仪表板 │ │ ├── TradeOrders.vue # 交易指令 │ │ ├── Statistics.vue # 统计数据 │ │ └── Status.vue # 服务状态 │ ├── App.vue # 根组件 │ ├── main.js # 入口文件 │ └── style.css # 全局样式 ├── package.json # 项目配置 ├── vite.config.js # Vite 配置 └── index.html # HTML 模板 ``` ## 🔗 API 集成 前端通过代理自动连接到后端 API: - **后端地址**: http://localhost:8000 - **代理路径**: `/api/*` → `http://localhost:8000/*` ## 🎨 UI 设计 - **Material Design**: 使用 Google Material Design 规范 - **响应式布局**: 支持桌面和移动设备 - **深色主题**: 支持亮色/暗色主题切换 - **中文界面**: 完全本地化的中文界面 ## 🔒 安全特性 ### 价格验证规则 - **买入指令**: 必须满足 `sl < price < tp` - **卖出指令**: 必须满足 `tp < price < sl` - **自动拒绝**: 不符合规则的指令会被服务器拒绝 ## 📊 数据可视化 - **ECharts 图表**: 价格趋势线图 - **实时更新**: 图表数据自动刷新 - **交互式**: 支持缩放、拖拽等交互 ## 🚀 性能优化 - **Vite 构建**: 快速的冷启动和热重载 - **代码分割**: 自动路由级代码分割 - **懒加载**: 组件按需加载 - **缓存优化**: 浏览器缓存策略 ## 🛠️ 开发工具 - **ESLint**: 代码规范检查 - **Vue DevTools**: Vue 开发调试工具 - **热重载**: 修改代码即时预览 ## 📝 开发指南 ### 添加新页面 1. 在 `src/views/` 创建 Vue 组件 2. 在 `src/router/index.js` 添加路由配置 3. 在 `src/App.vue` 的菜单中添加导航项 ### API 调用 ```javascript import { tradingAPI } from '@/api/trading' // 发送交易指令 await tradingAPI.sendTradeInstructions(instructions) // 查询统计数据 const stats = await tradingAPI.getStatistics() ``` ### 组件开发 ```vue ``` ## 🔄 与 React 版本对比 | 特性 | Vue 版本 | React 版本 | |------|----------|------------| | 框架 | Vue 3 + Composition API | React 18 + Hooks | | UI库 | Vuetify 3 | Material-UI 5 | | 路由 | Vue Router 4 | React Router 6 | | 图表 | ECharts | Recharts | | 构建 | Vite | Create React App | | 学习曲线 | 较平缓 | 较陡峭 | | 性能 | 优秀 | 优秀 | | 生态 | 成熟 | 庞大 | ## 🎯 优势特点 1. **Vue 生态**: 你熟悉的 Vue 框架和语法 2. **Vuetify**: 功能完整的 Material Design 组件库 3. **TypeScript 支持**: 可选的 TypeScript 支持 4. **开发体验**: 优秀的开发工具和热重载 5. **性能优化**: Vue 3 的优秀性能表现 ## 📞 技术支持 如果遇到问题,请检查: 1. 浏览器开发者工具的错误信息 2. 终端的日志输出 3. 确保后端服务正在运行 (http://localhost:8000) --- **🌟 享受 Vue 开发的乐趣!**