{"repo":"wan300/12306","free":true,"listed":false,"github":"https://github.com/wan300/12306","clone":"git clone https://github.com/wan300/12306.git","description":"🚂 基于 Python FastAPI + Vue 3 + Electron 开发的 12306 自动化抢票助手。支持自动登录、余票监控、订单提交及桌面化集成，提供直观的 GUI 管理界面。仅供学习交流使用。","language":"Python","stars":26,"topics":["12306","crawler","desktop-app","fastapi","python","ticket-booking","train-ticket"],"license":null,"category":"scrapers-browser-automation","readme_excerpt":"12306 自动化抢票系统 这是一个基于 Python FastAPI 和 Vue 3 开发的 12306 自动化抢票系统。包含后端 API 服务、前端管理界面以及一些独立的自动化脚本。 目录结构 - backend/ : FastAPI 后端服务 - app/ : 应用代码 - data/ : 数据存储 (日志, Session 等) - frontend/ : Vue 3 + Vite 前端项目 环境准备 后端环境 - Python 3.10+ 前端环境 - Node.js 16+ - npm 或 yarn 快速开始 1. 启动后端服务 进入 backend 目录，安装依赖并启动服务： Swagger API 文档地址: http://localhost:8000/docs 2. 启动前端界面 进入 frontend 目录，安装依赖并启动开发服务器： 访问地址: http://localhost:5173 (默认 Vite 端口) - 本项目仅供学习交流使用，请勿用于非法用途。 工程治理 本项目使用 Spec Kit 宪章记录工程原则，见 .specify/memory/constitution.md 。 需求、计划和任务应通过宪章检查，重点覆盖风险驱动测试、结构化错误处理和渐进式可维护性。 Docker 一键运行（前后端） 已提供前后端容器化配置，执行以下命令即可一键启动： 启动后访问： - 前端页面: http://localhost:5173 - 后端 API 文档: http://localhost:8000/docs 常用命令 数据持久化 docker-compose.yml 已将宿主机目录 backend/data 挂载到容器内 /app/backend/data ，数据库、会话、日志会被保留。 说明 - 该 Docker 方案为 Web 版前后端一键运行，不包含 Electron 桌面 GUI 容器化。 - 前端通过 Nginx 反向代理 /api 和 WebSocket 到后端容器，无需改动现有业务 API 调用。 Electron 桌面应用打包（Windows） 本项目支持将前后端一起打包为 Windows 桌面应用（内置后端可执行文件）。 环境要求 - Python 3.10+ - Node.js 16+ - npm 8+ 一键构建（推荐） 在项目根目录执行： 该命令会自动完成： 1. 后端 PyInstaller 构建 2. 前端 Vite 构建 3. Electron Builder 打包（Windows NSIS 安装包） 构建产物 - 安装包输出目录： frontend/release/ - 典型产物： 12306抢票助手-1.0.0-x64.exe 常用参数","default_branch":null,"files":null,"tree":[],"storefront":"/r/wan300","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/wan300/12306/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}