这是一个基于 Python FastAPI 和 Vue 3 开发的 12306 自动化抢票系统。包含后端 API 服务、前端管理界面以及一些独立的自动化脚本。
backend/: FastAPI 后端服务app/: 应用代码data/: 数据存储 (日志, Session 等)
frontend/: Vue 3 + Vite 前端项目
- Python 3.10+
- Node.js 16+
- npm 或 yarn
进入 backend 目录,安装依赖并启动服务:
cd backend
# 安装依赖
pip install -r requirements.txt
# 启动服务 (默认端口 8000)
# 也可以使用: uvicorn main:app --reload
python main.pySwagger API 文档地址: http://localhost:8000/docs
进入 frontend 目录,安装依赖并启动开发服务器:
cd frontend
# 安装依赖
npm install
# 启动开发服务器
npm run dev访问地址: http://localhost:5173 (默认 Vite 端口)
- 本项目仅供学习交流使用,请勿用于非法用途。
已提供前后端容器化配置,执行以下命令即可一键启动:
# 在项目根目录执行
docker compose up -d --build启动后访问:
- 前端页面: http://localhost:5173
- 后端 API 文档: http://localhost:8000/docs
# 查看服务状态
docker compose ps
# 查看日志
docker compose logs -f
# 仅看后端日志
docker compose logs -f backend
# 停止并移除容器
docker compose downdocker-compose.yml 已将宿主机目录 backend/data 挂载到容器内 /app/backend/data,数据库、会话、日志会被保留。
- 该 Docker 方案为 Web 版前后端一键运行,不包含 Electron 桌面 GUI 容器化。
- 前端通过 Nginx 反向代理
/api和 WebSocket 到后端容器,无需改动现有业务 API 调用。
本项目支持将前后端一起打包为 Windows 桌面应用(内置后端可执行文件)。
- Python 3.10+
- Node.js 16+
- npm 8+
在项目根目录执行:
python build_app.py --target windows该命令会自动完成:
- 后端 PyInstaller 构建
- 前端 Vite 构建
- Electron Builder 打包(Windows NSIS 安装包)
- 安装包输出目录:
frontend/release/ - 典型产物:
12306抢票助手-1.0.0-x64.exe
# 清理旧产物
python build_app.py --clean
# 跳过后端构建(后端已构建时)
python build_app.py --skip-backend --target windows
# 跳过前端构建(前端已构建时)
python build_app.py --skip-frontend --target windows