feat: add vehicle and hydrogen heatmaps
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful

This commit is contained in:
kkfluous
2026-07-13 21:41:20 +08:00
parent a558db5795
commit 392a36a0ec
23 changed files with 2313 additions and 52 deletions

View File

@@ -0,0 +1,34 @@
import { fetchJson } from '../../auth/api-client';
import type { AmapConfig, HeatmapMeta, HeatmapMetric, HeatmapResponse, NearbyResponse } from './types';
export function fetchAmapConfig(signal?: AbortSignal) {
return fetchJson<AmapConfig>('/api/vehicle-heatmap/config', { signal });
}
export function fetchHeatmapMeta(signal?: AbortSignal) {
return fetchJson<HeatmapMeta>('/api/vehicle-heatmap/meta', { signal });
}
export function fetchHeatmapPoints(
params: { startDate: string; endDate: string; query: string; batchModel: string; metric: HeatmapMetric },
signal?: AbortSignal,
) {
const search = new URLSearchParams(params);
return fetchJson<HeatmapResponse>(`/api/vehicle-heatmap/points?${search}`, { signal });
}
export function fetchNearbyVehicles(
params: { lng: number; lat: number; startDate: string; endDate: string; query: string; batchModel: string },
signal?: AbortSignal,
) {
const search = new URLSearchParams({
lng: String(params.lng),
lat: String(params.lat),
startDate: params.startDate,
endDate: params.endDate,
query: params.query,
batchModel: params.batchModel,
radiusKm: '50',
});
return fetchJson<NearbyResponse>(`/api/vehicle-heatmap/nearby?${search}`, { signal });
}