功能:告警数据看板替换原告警汇总页
- 5 个 KPI 卡片(今日告警/待处理/已处理/平均响应/在线设备) - 告警趋势面积图(7天/30天切换,按类型堆叠) - 告警类型分布环形图(中心显示总数) - 设备告警 Top10 横向条形图 - 告警级别分布柱状图 - 24小时时段分布图(高亮高峰时段) - 最近告警滚动列表 - 60秒自动刷新 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -66,12 +66,38 @@ export namespace AiotAlarmApi {
|
||||
export interface AlertStatistics {
|
||||
total?: number;
|
||||
todayCount?: number;
|
||||
yesterdayCount?: number;
|
||||
pendingCount?: number;
|
||||
handledCount?: number;
|
||||
avgResponseMinutes?: number | null;
|
||||
byType?: Record<string, number>;
|
||||
byStatus?: Record<string, number>;
|
||||
byLevel?: Record<string, number>;
|
||||
}
|
||||
|
||||
/** 告警趋势项 */
|
||||
export interface TrendItem {
|
||||
date: string;
|
||||
total: number;
|
||||
leave_post?: number;
|
||||
intrusion?: number;
|
||||
illegal_parking?: number;
|
||||
vehicle_congestion?: number;
|
||||
[key: string]: number | string | undefined;
|
||||
}
|
||||
|
||||
/** 设备告警排行项 */
|
||||
export interface DeviceTopItem {
|
||||
deviceId: string;
|
||||
deviceName: string;
|
||||
count: number;
|
||||
}
|
||||
|
||||
/** 时段分布项 */
|
||||
export interface HourDistItem {
|
||||
hour: number;
|
||||
count: number;
|
||||
}
|
||||
}
|
||||
|
||||
// ==================== 告警管理 API ====================
|
||||
@@ -115,6 +141,37 @@ export function getAlertStatistics(startTime?: string, endTime?: string) {
|
||||
);
|
||||
}
|
||||
|
||||
/** 获取告警趋势 */
|
||||
export function getAlertTrend(days: number = 7) {
|
||||
return requestClient.get<AiotAlarmApi.TrendItem[]>(
|
||||
'/aiot/alarm/alert/trend',
|
||||
{ params: { days } },
|
||||
);
|
||||
}
|
||||
|
||||
/** 获取设备告警排行 */
|
||||
export function getAlertDeviceTop(limit: number = 10, days: number = 7) {
|
||||
return requestClient.get<AiotAlarmApi.DeviceTopItem[]>(
|
||||
'/aiot/alarm/alert/device-top',
|
||||
{ params: { limit, days } },
|
||||
);
|
||||
}
|
||||
|
||||
/** 获取24小时告警分布 */
|
||||
export function getAlertHourDistribution(days: number = 7) {
|
||||
return requestClient.get<AiotAlarmApi.HourDistItem[]>(
|
||||
'/aiot/alarm/alert/hour-distribution',
|
||||
{ params: { days } },
|
||||
);
|
||||
}
|
||||
|
||||
/** 获取最近告警列表 */
|
||||
export function getRecentAlerts(pageSize: number = 10) {
|
||||
return requestClient.get<any>('/aiot/alarm/alert/page', {
|
||||
params: { pageNo: 1, pageSize },
|
||||
});
|
||||
}
|
||||
|
||||
// ==================== 摄像头告警汇总 API ====================
|
||||
|
||||
/** 以摄像头维度获取告警汇总 */
|
||||
|
||||
Reference in New Issue
Block a user