perf(monitor): aggregate realtime workspace
This commit is contained in:
@@ -67,10 +67,13 @@ GET /api/dashboard/summary
|
||||
GET /api/v2/monitor/summary?keyword=粤A&protocol=JT808&status=driving
|
||||
GET /api/v2/monitor/map?zoom=5
|
||||
GET /api/v2/monitor/map?zoom=13&bounds=113,22,114,24&status=online
|
||||
GET /api/v2/monitor/workspace?zoom=13&bounds=113,22,114,24&railLimit=200
|
||||
```
|
||||
|
||||
`summary` and `map` share keyword, protocol and `online|offline|driving|idle` status semantics. `map` accepts `bounds=minLongitude,minLatitude,maxLongitude,maxLatitude`; malformed, non-finite, reversed or out-of-world bounds return `MONITOR_BOUNDS_INVALID`. Below zoom 11 the response remains clustered or mixed. At zoom 11 and above it returns lightweight MassMarks only when the visible point set is at most 2,000; otherwise it adaptively coarsens cells until no more than 2,000 clusters remain. It never returns full telemetry JSON in a point. The browser keeps the normal list at 200 rows, requests map data independently, waits 300ms after `moveend/zoomend`, and drops stale viewport bounds when a direct vehicle search must locate and focus its unique result.
|
||||
|
||||
`workspace` is the production map-screen BFF response. It executes one bounded realtime snapshot read, then derives `summary`, the first `railLimit` realtime vehicle rows (hard-capped at 200), and the viewport-aware `map` payload from that same snapshot. The standalone `summary`, `map`, and realtime-vehicle APIs remain available for list mode and external compatibility, but the browser must not fan them out concurrently for one map refresh.
|
||||
|
||||
Returns vehicle service KPIs, source distribution, vehicle service status distribution, link health, and realtime backlog.
|
||||
|
||||
### Vehicle Service
|
||||
|
||||
Reference in New Issue
Block a user