📊 ZH Data 项目架构明细

数据整合平台 - 完整架构文档与开发进度追踪

📋 项目概览

3
数据模块
4
数据源
8
API 接口
100%
后端完成
🎯 项目目标: 构建一个多源数据整合平台,通过网页/小程序/APP三个端口展示金融数据、新闻资讯等信息,支持用户权限管理和数据可视化。

🏗️ 系统架构

┌─────────────────────────────────────────────────────────────────────┐
│                        用户访问层 (Access Layer)                      │
│  ┌──────────┐  ┌──────────┐  ┌──────────┐  ┌──────────┐            │
│  │  Web网站  │  │  小程序   │  │   APP    │  │  管理后台  │            │
│  │ zhdata.cloud│ │ 微信/支付宝│ │ iOS/Android│ │ 内部使用   │            │
│  └────┬─────┘  └────┬─────┘  └────┬─────┘  └────┬─────┘            │
└───────┼─────────────┼─────────────┼─────────────┼──────────────────┘
        │             │             │             │
        └─────────────┴─────────────┴─────────────┘
                        │
                    ┌───▼───┐
                    │ Nginx │ (反向代理 + SSL终止)
                    │ 80/443│
                    └───┬───┘
                        │
        ┌───────────────┼───────────────┐
        │               │               │
    ┌───▼───┐      ┌───▼───┐      ┌───▼───┐
    │ 静态资源│      │ API网关│      │ 管理接口│
    │ /var/www│      │ /api/* │      │ /admin/*│
    └────────┘      └───┬───┘      └────────┘
                        │
                    ┌───▼──────────────────────┐
                    │   FastAPI 后端服务        │
                    │   Port: 8000             │
                    │   - 用户认证              │
                    │   - 权限控制              │
                    │   - 数据查询              │
                    │   - 爬虫调度              │
                    └──────────┬───────────────┘
                               │
                    ┌──────────┼──────────┐
                    │          │          │
                ┌───▼───┐  ┌───▼───┐  ┌───▼───┐
                │ MySQL │  │ Redis │  │ 文件  │
                │ 主数据库│  │ 缓存  │  │ 存储  │
                │ zhdata│  │ (可选)│  │       │
                └───────┘  └───────┘  └───────┘
                               │
                    ┌──────────▼──────────┐
                    │   数据抓取层         │
                    │   - 金价格爬虫       │
                    │   - 油价爬虫         │
                    │   - 新闻爬虫         │
                    │   - 定时任务调度     │
                    └─────────────────────┘
            

🛠️ 技术栈

后端技术

  • Python 3.10+ 主语言
  • FastAPI Web 框架
  • SQLAlchemy ORM
  • PyMySQL 数据库驱动
  • APScheduler 定时任务
  • bcrypt 密码加密
  • PyJWT 令牌认证

前端技术

  • Vue 3 前端框架
  • Element Plus UI 组件
  • Axios HTTP 客户端
  • ECharts 数据可视化
  • CDN 资源加载

基础设施

  • MySQL 8.0 数据库
  • Nginx Web 服务器
  • Let's Encrypt SSL 证书
  • Ubuntu 24.04 操作系统
  • systemd 服务管理

爬虫技术

  • Requests HTTP 请求
  • BeautifulSoup HTML 解析
  • Playwright 动态页面
  • APScheduler 定时调度

📊 数据模块

🔥 热点新闻模块 已完成

  • 实时抓取全网热点
  • 多源聚合(百度新闻等)
  • 按热度排序
  • 每小时更新
  • 19 条/日

🌍 国际数据模块 已完成

  • 国际金价 (4570.89 美元/盎司)
  • WTI 原油 (96.60 美元/桶)
  • 布伦特原油
  • 白银价格
  • 主要股指 (SPX, NDX, DJI)
  • 同比/环比计算

🇨🇳 中国数据模块 开发中

  • 34 个省级行政区
  • 人口统计数据
  • 面积/地理信息
  • GDP 及排名
  • 财政收入
  • 每日更新

📈 行业数据模块 规划中

  • CPU 天梯榜
  • 企业市值排行
  • 物流行业数据
  • 科技行业分析
  • 金融行业排名
  • 每周更新

🔌 API 接口

POST /api/auth/sms/send - 发送短信验证码
POST /api/auth/register - 用户注册
POST /api/auth/login - 用户登录 (密码)
GET /api/auth/me - 获取当前用户信息
GET /api/modules - 获取所有数据模块
GET /api/modules/{id}/sources - 获取模块数据源
GET /api/modules/{id}/data - 获取模块数据 (含同比环比)
GET /api/modules/user/permissions - 获取用户权限

📅 开发进度与计划

2026-03-23
项目初始化 - 创建项目结构,配置数据库,搭建后端框架
2026-03-25
后端开发完成 - 用户系统、API 接口、爬虫框架全部完成
2026-03-25
前端网站上线 - 单页应用部署,密码登录功能完成
2026-03-25
数据爬虫运行 - 金价、油价、新闻爬虫成功抓取并入库
待开发
定时任务配置 - 设置每小时/每天自动抓取数据
待开发
小程序开发 - 基于 Vue3 + uni-app 开发微信小程序
待开发
APP 开发 - Flutter/React Native 跨平台应用
待开发
数据可视化增强 - 添加图表、趋势分析、预警功能

📁 项目目录结构

/home/ubuntu/data-project/
├── README.md                 # 项目说明文档
├── architecture.html         # 本架构文档
├── backend/                  # Python 后端
│   ├── main.py              # FastAPI 入口
│   ├── config.py            # 配置文件
│   ├── requirements.txt     # 依赖列表
│   ├── venv/                # Python 虚拟环境
│   ├── api/                 # API 路由
│   │   ├── auth.py         # 认证接口
│   │   └── modules.py      # 数据模块接口
│   ├── models/              # 数据模型
│   │   └── models.py       # SQLAlchemy 模型
│   └── crawler/             # 爬虫模块
│       ├── base.py         # 爬虫基类
│       ├── spiders/        # 具体爬虫
│       │   ├── gold_price.py
│       │   ├── oil_price.py
│       │   └── news.py
│       └── tasks/          # 定时任务
│           └── scheduler.py
├── frontend/                # 前端源码 (可选)
│   └── ...
├── scripts/                 # 脚本文件
│   └── init_db.sql         # 数据库初始化
└── docker/                  # Docker 配置 (可选)
    └── ...

🚀 部署信息

服务器信息

  • 域名: zhdata.cloud
  • HTTPS: 已启用 (Let's Encrypt)
  • 端口: 80/443 (Nginx), 8000 (API)
  • 系统: Ubuntu 24.04
  • 数据库: MySQL 8.0

访问地址

测试账号

  • 手机号: 13900009998
  • 密码: 123456
  • 角色: 普通用户

🎯 下一步开发计划

1. 定时任务配置

配置 APScheduler,实现:

  • 每小时抓取金价/油价
  • 每天抓取新闻
  • 数据异常报警

2. 小程序开发

使用 uni-app 框架:

  • 微信小程序
  • 支付宝小程序
  • H5 页面

3. APP 开发

使用 Flutter 框架:

  • iOS 应用
  • Android 应用
  • 离线缓存

4. 功能增强

添加高级功能:

  • 数据趋势图表
  • 价格预警通知
  • 多数据源对比
  • 用户收藏功能

📞 技术支持

项目由 OpenClaw 框架驱动 | 最后更新:2026-03-26

访问网站 | API 文档 | 架构文档