|
|
|
|
@ -3,7 +3,7 @@ import { AxiosPromise } from 'axios';
|
|
|
|
|
import {
|
|
|
|
|
DashboardVO,
|
|
|
|
|
RealtimeStats,
|
|
|
|
|
DeviceStatusVO,
|
|
|
|
|
LocationTreeNode,
|
|
|
|
|
SuccessRateTrend,
|
|
|
|
|
StatisticsOverview,
|
|
|
|
|
AlarmStatVO
|
|
|
|
|
@ -12,44 +12,41 @@ import {
|
|
|
|
|
// ==================== 新增接口(按需刷新) ====================
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 【新接口1】获取实时统计数据(按秒刷新)
|
|
|
|
|
* 【接口1】获取实时统计数据(按秒刷新)
|
|
|
|
|
* 包含:顶部统计(设备数量、在线数量、离线数量、告警数量)+ 告警统计列表
|
|
|
|
|
*
|
|
|
|
|
* @param alarmLimit 告警列表限制数量(默认10条)
|
|
|
|
|
* @param alarmLimit 告警列表限制数量(可选,不传则返回全部,供滚动显示)
|
|
|
|
|
*/
|
|
|
|
|
export const getRealtimeStats = (alarmLimit?: number): AxiosPromise<RealtimeStats> => {
|
|
|
|
|
return request({
|
|
|
|
|
url: '/rfid/dashboard/realtime',
|
|
|
|
|
method: 'get',
|
|
|
|
|
params: { alarmLimit }
|
|
|
|
|
params: alarmLimit ? { alarmLimit } : {}
|
|
|
|
|
});
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 【新接口2】获取设备状态列表(定时刷新)
|
|
|
|
|
* 包含每个设备的在线状态、告警状态及最新读取记录
|
|
|
|
|
*
|
|
|
|
|
* @param locationId 位置ID(可选,用于按位置筛选)
|
|
|
|
|
* 【接口2】获取位置树(含设备信息)
|
|
|
|
|
* 返回完整的位置树结构,位置类型为 3 时表示设备节点
|
|
|
|
|
* 不返回读取记录数据,具体记录由 WebSocket 实时推送
|
|
|
|
|
* 前端通过 deviceId 匹配 WebSocket 数据
|
|
|
|
|
*/
|
|
|
|
|
export const getDeviceStatusList = (locationId?: number): AxiosPromise<DeviceStatusVO[]> => {
|
|
|
|
|
export const getLocationTree = (): AxiosPromise<LocationTreeNode[]> => {
|
|
|
|
|
return request({
|
|
|
|
|
url: '/rfid/dashboard/deviceStatus',
|
|
|
|
|
method: 'get',
|
|
|
|
|
params: { locationId }
|
|
|
|
|
method: 'get'
|
|
|
|
|
});
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 【新接口3】获取成功率趋势(按小时统计)
|
|
|
|
|
* 【接口3】获取成功率趋势(按小时统计)
|
|
|
|
|
* 不需要频繁刷新
|
|
|
|
|
*
|
|
|
|
|
* @param type 类型:today-今日(默认),yesterday-昨日
|
|
|
|
|
* 返回 24 条数据,每条包含今日和昨日的成功率
|
|
|
|
|
*/
|
|
|
|
|
export const getSuccessRateTrends = (type?: string): AxiosPromise<SuccessRateTrend[]> => {
|
|
|
|
|
export const getSuccessRateTrends = (): AxiosPromise<SuccessRateTrend[]> => {
|
|
|
|
|
return request({
|
|
|
|
|
url: '/rfid/dashboard/successRate',
|
|
|
|
|
method: 'get',
|
|
|
|
|
params: { type }
|
|
|
|
|
method: 'get'
|
|
|
|
|
});
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
@ -90,3 +87,11 @@ export const getAlarmStats = (limit?: number): AxiosPromise<AlarmStatVO[]> => {
|
|
|
|
|
params: { limit }
|
|
|
|
|
});
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 兼容老接口名称:getDashboardStats
|
|
|
|
|
* 等价于 getDashboardData,便于逐步迁移老代码
|
|
|
|
|
*/
|
|
|
|
|
export const getDashboardStats = (locationId?: number): AxiosPromise<DashboardVO> => {
|
|
|
|
|
return getDashboardData(locationId);
|
|
|
|
|
};
|
|
|
|
|
|