Files
agricultural-sock-amalysis/docs/public/docs/zh-cn/guide/frontend.md
2025-06-12 19:37:54 +08:00

8.9 KiB
Raw Blame History

🎨 Vue.js前端界面文档

📋 模块概述

frontend 是农业股票数据分析系统的前端用户界面模块基于Vue.js 3.3.0构建提供现代化的响应式Web界面支持实时数据展示、交互式图表、股票分析和市场监控功能。

🏗️ 技术架构

核心技术栈

  • Vue 3.3.0 - 渐进式JavaScript框架
  • Vue Router 4.2.0 - 官方路由管理器
  • Vuex 4.0.2 - 状态管理模式
  • Element Plus 2.3.0 - Vue 3组件库
  • ECharts 5.4.0 - 数据可视化图表库
  • Axios 1.4.0 - HTTP客户端
  • Vite 4.3.0 - 构建工具
  • SASS 1.62.0 - CSS预处理器
  • WebSocket - 实时数据通信

系统架构图

┌─────────────────────────────────────────────────────────────┐
│                    Vue.js 前端应用                          │
├─────────────────────────────────────────────────────────────┤
│  ┌─────────────────┐  ┌─────────────────┐  ┌─────────────┐  │
│  │   视图层         │  │   状态管理       │  │   路由管理   │  │
│  │   Views         │  │    Vuex        │  │ Vue Router  │  │
│  │                 │  │                 │  │             │  │
│  │ • 仪表板页面     │  │ • 股票数据状态   │  │ • 路由配置   │  │
│  │ • 市场分析页面   │  │ • 用户界面状态   │  │ • 导航守卫   │  │
│  │ • 股票详情页面   │  │ • 异步操作      │  │ • 懒加载     │  │
│  │ • 数据管理页面   │  │ • 缓存管理      │  │ • 嵌套路由   │  │
│  └─────────────────┘  └─────────────────┘  └─────────────┘  │
├─────────────────────────────────────────────────────────────┤
│  ┌─────────────────┐  ┌─────────────────┐  ┌─────────────┐  │
│  │   组件层         │  │   服务层         │  │   工具层     │  │
│  │  Components     │  │   Services      │  │   Utils     │  │
│  │                 │  │                 │  │             │  │
│  │ • 图表组件       │  │ • API接口       │  │ • 工具函数   │  │
│  │ • 表格组件       │  │ • WebSocket     │  │ • 常量定义   │  │
│  │ • 搜索组件       │  │ • 数据处理      │  │ • 格式化     │  │
│  │ • 排行榜组件     │  │ • 错误处理      │  │ • 验证器     │  │
│  └─────────────────┘  └─────────────────┘  └─────────────┘  │
└─────────────────────────────────────────────────────────────┘

📁 项目结构

frontend/
├── public/
│   ├── index.html                       # 入口HTML文件
│   └── favicon.ico                      # 网站图标
├── src/
│   ├── main.js                          # 应用入口文件
│   ├── App.vue                          # 根组件
│   ├── views/                           # 页面视图
│   │   ├── Dashboard.vue                # 仪表板页面
│   │   ├── MarketAnalysis.vue           # 市场分析页面
│   │   ├── StockDetail.vue              # 股票详情页面
│   │   ├── StockSearch.vue              # 股票搜索页面
│   │   ├── Rankings.vue                 # 排行榜页面
│   │   ├── DataManagement.vue           # 数据管理页面
│   │   └── HealthCheck.vue              # 健康检查页面
│   ├── components/                      # 可复用组件
│   │   └── MarketOverview.vue           # 市场总览组件
│   ├── router/                          # 路由配置
│   │   └── index.js                     # 路由定义
│   ├── store/                           # 状态管理
│   │   ├── index.js                     # Vuex store
│   │   └── modules/                     # 模块化store
│   ├── api/                             # API接口
│   │   ├── stock.js                     # 股票数据API
│   │   └── market.js                    # 市场分析API
│   ├── utils/                           # 工具函数
│   │   ├── request.js                   # HTTP请求封装
│   │   ├── format.js                    # 数据格式化
│   │   └── constants.js                 # 常量定义
│   └── styles/                          # 样式文件
│       ├── main.scss                    # 主样式文件
│       └── variables.scss               # 样式变量
├── package.json                         # 项目依赖配置
├── vite.config.js                       # Vite构建配置
└── .eslintrc.js                         # ESLint配置

🔧 核心功能模块

1. 仪表板页面 (Dashboard.vue)

功能描述: 系统主页面,提供股票市场的整体概览和关键指标展示。

主要功能:

  • 实时市场数据展示
  • 涨跌分布统计图表
  • 成交量趋势分析
  • 热门股票快速入口
  • 市场新闻资讯展示

2. 市场分析页面 (MarketAnalysis.vue)

功能描述: 提供深度的市场分析功能,包括技术指标、趋势分析和预测模型。

主要功能:

  • K线图表展示
  • 技术指标分析MA、RSI、MACD
  • 市场热力图
  • 行业对比分析
  • 历史数据回测

3. 股票详情页面 (StockDetail.vue)

功能描述: 展示单个股票的详细信息,包括实时价格、历史走势和基本面分析。

主要功能:

  • 实时价格展示
  • 历史价格走势图
  • 成交量分析
  • 基本面数据PE、PB、市值等
  • 相关新闻和公告

4. 股票搜索页面 (StockSearch.vue)

功能描述: 提供智能的股票搜索功能,支持多种搜索条件和筛选器。

主要功能:

  • 关键词搜索(股票代码、名称)
  • 高级筛选(价格区间、市值、行业)
  • 搜索结果排序
  • 收藏夹功能
  • 搜索历史记录

5. 排行榜页面 (Rankings.vue)

功能描述: 展示各类股票排行榜,帮助用户快速发现市场热点。

主要功能:

  • 涨幅排行榜
  • 跌幅排行榜
  • 成交量排行榜
  • 市值排行榜
  • 换手率排行榜

6. 数据管理页面 (DataManagement.vue)

功能描述: 为管理员提供数据管理功能,包括数据导入、导出和系统监控。

主要功能:

  • 股票数据批量导入
  • 历史数据导出
  • 数据同步状态监控
  • 系统健康检查
  • 错误日志查看

🚀 部署与运行

1. 开发环境

# 安装依赖
npm install

# 启动开发服务器
npm run dev

# 代码检查
npm run lint

# 代码格式化
npm run format

2. 生产构建

# 构建生产版本
npm run build

# 预览构建结果
npm run preview

3. Docker部署

Dockerfile:

# 构建阶段
FROM node:16-alpine as builder
WORKDIR /app
COPY package*.json ./
RUN npm ci --only=production

COPY . .
RUN npm run build

# 生产阶段
FROM nginx:alpine
COPY --from=builder /app/dist /usr/share/nginx/html
COPY nginx.conf /etc/nginx/nginx.conf
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]

nginx.conf:

server {
    listen 80;
    server_name localhost;
    
    location / {
        root /usr/share/nginx/html;
        index index.html;
        try_files $uri $uri/ /index.html;
    }
    
    location /api {
        proxy_pass http://backend:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
    
    location /ws {
        proxy_pass http://backend:8080;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
}

📄 许可证

本模块采用 MIT 许可证,详见项目根目录 LICENSE 文件。


联系信息: