Skip to content

HaoTian22/GDIC-DepartureBoard

Repository files navigation

广东城际广惠-广佛肇线列车出发板

概述

使用html和js模拟一个可用的现代化的城际列车出发板,展示列车的实时信息和停靠站点。

预览:
横屏模式 image

竖屏模式 image

🔗在线Demo(看着点用,我Serverless Function免费额度没多少,另外12306的API搞多了会禁止获取,模拟数据倒是能随便玩)

环境要求

  1. Node.js (版本 14 或更高)

快速开始

1. 克隆项目

如果您还没有克隆项目,请在命令提示符中运行以下命令:

git clone https://github.com/HaoTian22/GDIC-RouteMap.git

如果您没有安装Git,可以直接下载项目的ZIP文件并解压。

1. 安装Node.js

如果您尚未安装Node.js,请:

  1. 访问 https://nodejs.org/
  2. 下载LTS版本(建议选择22.x或更高版本)
  3. 运行安装程序,确保勾选 "Add to PATH"
  4. 重启命令提示符
  5. 安装依赖:npm install

2. 启动代理服务器

有两种方式启动代理服务器:

方式一:使用批处理文件(推荐)

双击运行 start.bat 文件

方式二:手动启动

  1. 打开命令提示符
  2. 进入项目的项目文件夹:
    cd /d "您的项目路径\GDIC-RouteMap"
  3. 安装依赖(仅第一次需要):
    npm install
  4. 启动服务器:
    node server.js
    npm run dev

3. 启动前端页面

  1. 确保代理服务器正在运行(端口3001)
  2. 打开浏览器http://localhost:3001
  3. 您应该能看到列车出发板页面

项目结构

GDIC-RouteMap/
├── index.html              # 前端页面
├── start.bat               # 启动脚本
├── README.md              # 本文件
├── test.js           # 测试文件
├── server.js              # 后端服务器
├── package.json       # 依赖配置
└── api/             # 给Vercel使用的API目录
    └── server.js          # 同样的后端服务器

功能说明

代理服务器功能

  1. 解决跨域问题: 作为中介访问12306 API
  2. 车站代码获取: /api/station-codes
  3. 列车查询: /api/query-trains
  4. 列车详情: /api/train-details

前端页面功能

  1. 实时时间显示
  2. 站点选择: 可切换当前站点
  3. 列车信息显示: 显示发车时间、终点站、站台等
  4. 路线图: 显示列车停靠站点
  5. 12306数据: 可获取实时的12306数据

常见问题

Q: 代理服务器启动失败

A:

  1. 确保Node.js已正确安装
  2. 检查端口3001是否被占用
  3. 尝试重新安装依赖:npm install

Q: 无法获取12306数据

A:

  1. 检查网络连接
  2. 12306网站可能有访问限制(虽然我加了本地缓存,但是没缓存的部分请求太多还是会有问题的)
  3. 系统会自动回退到模拟数据

Q: 前端页面无法连接代理服务器

A:

  1. 确保代理服务器正在运行
  2. 检查前端页面的代理地址设置
  3. 确保没有防火墙阻止连接(3001端口开放)

开发说明

修改代理服务器

编辑 server.js 文件来修改API端点或添加新功能。

修改前端页面

编辑 index.html 文件来修改界面或功能。

调试

  1. 查看浏览器开发者工具的控制台
  2. 查看代理服务器的控制台输出
  3. 使用网络选项卡检查API调用

技术栈

  • 前端: HTML5, CSS3, JavaScript (ES6+)
  • 后端: Node.js, Express.js, Axios
  • API: 12306官方接口

许可证

本项目仅供学习和演示用途。请遵守12306网站的使用条款。

免责声明

本项目不保证12306 API的可用性和稳定性。使用本项目需自行承担风险。作者不对任何因使用本项目而导致的损失负责。

因无法获取具体列车数据,本项目不提供实时正晚点信息和站台信息,请用户根据现场情况安排出行计划。

由于潜在程序Bug,列车数据有可能不准确,请用户自行核对12306官方数据及车站相关信息。

About

使用html和js模拟一个可用的现代化的城际列车出发板,展示车站内列车的出发和停靠站点

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors