Files
lingniu-vehicle-ingest/vehicle-map

羚牛 Vehicle Map

全国氢能车辆与加氢站运营驾驶舱。浏览器只访问本服务的 /api/dashboard,服务端使用开放平台 AppKey 获取其授权车辆、当日里程和资产库只读加氢站点位,AppKey 不会下发到浏览器。

当前部署

原始仓库只有静态页面和静态文件服务,没有车辆数据接口;当前版本已改为通过服务端代理对接车辆数据开放平台,页面展示的数据不再使用硬编码车辆和加氢站样例。

本地运行

export OPEN_PLATFORM_APP_KEY='<32位AppKey>'
python3 server.py

默认地址:http://127.0.0.1:20800

请通过上述 HTTP 地址访问,不能直接双击打开 index.html:页面需要同源调用本服务的数据 API。

数据访问

  • GET /api/dashboard 公开返回车辆信息、站点基础信息及加氢量。
  • 不保存访问码、不创建浏览器会话,也不区分公开或受保护的数据接口。

接口依赖

  • POST /api/v1/vehicles/realtime/query:全部授权车辆实时位置与状态;
  • POST /api/v1/vehicles/mileage/query:全部授权车辆当日里程;
  • POST /api/v1/hydrogen-stations/query:资产库只读加氢站地图点位。

以上三个接口均使用开放平台的 Authorization: Bearer <AppKey> 鉴权。生产 AppKey 仅保存在 ECS 的 /opt/lingniu-vehicle-map/env/vehicle-map.env,文件权限为 root:vehicle-map 0640。同一配置文件中的 AMAP_REGEOCODE_KEY 仅在服务端使用:站点省、市、区按 GCJ-02 坐标调用高德逆地理生成,不能使用资产表的行政区字段;请求通过全局速率限制避免高德 QPS 限流,结果以坐标为键落盘缓存 7 天。详细地址仍直接保留资产原始字段。

本服务提供:

  • GET /api/health:进程及配置状态;
  • GET /api/dashboard:面向前端的公开聚合数据,默认缓存 2 分钟;加氢站目录同样缓存 2 分钟。服务启动后会后台预热缓存,避免首位访问者等待上游数据请求。
  • GET /api/stations:已按 GPS 解析行政区的公开站点目录,供独立加氢站导航服务复用;不含加氢量。

全国视图按车辆最新 GPS 坐标落入省级行政区,不按车牌归属地推断;没有有效实时坐标的车辆会单独计入“无实时位置”,不会伪造省份归属。页面每 15 秒请求一次,但服务端最多每 2 分钟刷新一次上游快照,以换取更快、更稳定的首屏加载。

车辆地图按缩放级别逐级下钻:全国视角(小于7级)按省聚合,7–9.5级按市聚合,9.5–12级按区县聚合,12级及以上显示当前视野内的单车真实位置。点击省、市、区县气泡会自动进入下一级。