Add monitoring metrics, numeric sorting, report-time display, vehicle number labels, and map layout fixes. Include accumulated mileage, hydrogen, OneOS authentication, open platform, ingestion, deployment, and UI updates. Exclude temporary files, generated reports, and credentials. Validate frontend 632 tests and production build, API packages, vehicle-map tests, and release installer tests. Gateway suite has one pre-existing date-sensitive identity throttling test failure reproduced on the parent commit.
2.9 KiB
2.9 KiB
羚牛 Vehicle Map
全国氢能车辆与加氢站运营驾驶舱。浏览器只访问本服务的 /api/dashboard,服务端使用开放平台 AppKey 获取其授权车辆、当日里程和资产库只读加氢站点位,AppKey 不会下发到浏览器。
当前部署
- ECS 服务:
lingniu-vehicle-map.service - 访问地址:https://map.d.lnoneos.com/
- 健康检查:https://map.d.lnoneos.com/api/health
原始仓库只有静态页面和静态文件服务,没有车辆数据接口;当前版本已改为通过服务端代理对接车辆数据开放平台,页面展示的数据不再使用硬编码车辆和加氢站样例。
本地运行
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级及以上显示当前视野内的单车真实位置。点击省、市、区县气泡会自动进入下一级。