数据整合平台 - 完整架构文档与开发进度追踪
┌─────────────────────────────────────────────────────────────────────┐
│ 用户访问层 (Access Layer) │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ Web网站 │ │ 小程序 │ │ APP │ │ 管理后台 │ │
│ │ zhdata.cloud│ │ 微信/支付宝│ │ iOS/Android│ │ 内部使用 │ │
│ └────┬─────┘ └────┬─────┘ └────┬─────┘ └────┬─────┘ │
└───────┼─────────────┼─────────────┼─────────────┼──────────────────┘
│ │ │ │
└─────────────┴─────────────┴─────────────┘
│
┌───▼───┐
│ Nginx │ (反向代理 + SSL终止)
│ 80/443│
└───┬───┘
│
┌───────────────┼───────────────┐
│ │ │
┌───▼───┐ ┌───▼───┐ ┌───▼───┐
│ 静态资源│ │ API网关│ │ 管理接口│
│ /var/www│ │ /api/* │ │ /admin/*│
└────────┘ └───┬───┘ └────────┘
│
┌───▼──────────────────────┐
│ FastAPI 后端服务 │
│ Port: 8000 │
│ - 用户认证 │
│ - 权限控制 │
│ - 数据查询 │
│ - 爬虫调度 │
└──────────┬───────────────┘
│
┌──────────┼──────────┐
│ │ │
┌───▼───┐ ┌───▼───┐ ┌───▼───┐
│ MySQL │ │ Redis │ │ 文件 │
│ 主数据库│ │ 缓存 │ │ 存储 │
│ zhdata│ │ (可选)│ │ │
└───────┘ └───────┘ └───────┘
│
┌──────────▼──────────┐
│ 数据抓取层 │
│ - 金价格爬虫 │
│ - 油价爬虫 │
│ - 新闻爬虫 │
│ - 定时任务调度 │
└─────────────────────┘
/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 配置 (可选)
└── ...
配置 APScheduler,实现:
使用 uni-app 框架:
使用 Flutter 框架:
添加高级功能: