使用html和js模拟一个可用的现代化的城际列车出发板,展示列车的实时信息和停靠站点。
🔗在线Demo(看着点用,我Serverless Function免费额度没多少,另外12306的API搞多了会禁止获取,模拟数据倒是能随便玩)
- Node.js (版本 14 或更高)
- 下载地址: https://nodejs.org/
- 安装时选择 "Add to PATH" 选项
如果您还没有克隆项目,请在命令提示符中运行以下命令:
git clone https://github.com/HaoTian22/GDIC-RouteMap.git如果您没有安装Git,可以直接下载项目的ZIP文件并解压。
如果您尚未安装Node.js,请:
- 访问 https://nodejs.org/
- 下载LTS版本(建议选择22.x或更高版本)
- 运行安装程序,确保勾选 "Add to PATH"
- 重启命令提示符
- 安装依赖:
npm install
有两种方式启动代理服务器:
双击运行 start.bat 文件
- 打开命令提示符
- 进入项目的项目文件夹:
cd /d "您的项目路径\GDIC-RouteMap"
- 安装依赖(仅第一次需要):
npm install
- 启动服务器:
或
node server.js
npm run dev
- 确保代理服务器正在运行(端口3001)
- 打开浏览器
http://localhost:3001 - 您应该能看到列车出发板页面
GDIC-RouteMap/
├── index.html # 前端页面
├── start.bat # 启动脚本
├── README.md # 本文件
├── test.js # 测试文件
├── server.js # 后端服务器
├── package.json # 依赖配置
└── api/ # 给Vercel使用的API目录
└── server.js # 同样的后端服务器
- 解决跨域问题: 作为中介访问12306 API
- 车站代码获取:
/api/station-codes - 列车查询:
/api/query-trains - 列车详情:
/api/train-details
- 实时时间显示
- 站点选择: 可切换当前站点
- 列车信息显示: 显示发车时间、终点站、站台等
- 路线图: 显示列车停靠站点
- 12306数据: 可获取实时的12306数据
A:
- 确保Node.js已正确安装
- 检查端口3001是否被占用
- 尝试重新安装依赖:
npm install
A:
- 检查网络连接
- 12306网站可能有访问限制(虽然我加了本地缓存,但是没缓存的部分请求太多还是会有问题的)
- 系统会自动回退到模拟数据
A:
- 确保代理服务器正在运行
- 检查前端页面的代理地址设置
- 确保没有防火墙阻止连接(3001端口开放)
编辑 server.js 文件来修改API端点或添加新功能。
编辑 index.html 文件来修改界面或功能。
- 查看浏览器开发者工具的控制台
- 查看代理服务器的控制台输出
- 使用网络选项卡检查API调用
- 前端: HTML5, CSS3, JavaScript (ES6+)
- 后端: Node.js, Express.js, Axios
- API: 12306官方接口
本项目仅供学习和演示用途。请遵守12306网站的使用条款。
本项目不保证12306 API的可用性和稳定性。使用本项目需自行承担风险。作者不对任何因使用本项目而导致的损失负责。
因无法获取具体列车数据,本项目不提供实时正晚点信息和站台信息,请用户根据现场情况安排出行计划。
由于潜在程序Bug,列车数据有可能不准确,请用户自行核对12306官方数据及车站相关信息。

