You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

110 lines
2.9 KiB
TypeScript

import request from '@/utils/request';
import { AxiosPromise } from 'axios';
import {
DashboardVO,
RealtimeStats,
LocationTreeNode,
SuccessRateTrend,
StatisticsOverview,
AlarmStatVO,
DeviceLatestRecordVO
} from './types';
// ==================== 新增接口(按需刷新) ====================
/**
* 1
* 线线+
*
* @param alarmLimit
*/
export const getRealtimeStats = (alarmLimit?: number): AxiosPromise<RealtimeStats> => {
return request({
url: '/rfid/dashboard/realtime',
method: 'get',
params: alarmLimit ? { alarmLimit } : {}
});
};
/**
* 2
* 3
* WebSocket
* deviceId WebSocket
*/
export const getLocationTree = (): AxiosPromise<LocationTreeNode[]> => {
return request({
url: '/rfid/dashboard/deviceStatus',
method: 'get'
});
};
/**
* 3
*
* 24
*/
export const getSuccessRateTrends = (): AxiosPromise<SuccessRateTrend[]> => {
return request({
url: '/rfid/dashboard/successRate',
method: 'get'
});
};
/**
* 4
* ID
*/
export const getDeviceLatestRecords = (): AxiosPromise<DeviceLatestRecordVO[]> => {
return request({
url: '/rfid/dashboard/deviceLatestRecords',
method: 'get'
});
};
// ==================== 原有接口(保留) ====================
/**
*
*
* @param locationId ID
*/
export const getDashboardData = (locationId?: number): AxiosPromise<DashboardVO> => {
return request({
url: '/rfid/dashboard/data',
method: 'get',
params: { locationId }
});
};
/**
*
*/
export const getOverview = (): AxiosPromise<StatisticsOverview> => {
return request({
url: '/rfid/dashboard/overview',
method: 'get'
});
};
/**
*
*
* @param limit 10
*/
export const getAlarmStats = (limit?: number): AxiosPromise<AlarmStatVO[]> => {
return request({
url: '/rfid/dashboard/alarmStats',
method: 'get',
params: { limit }
});
};
/**
* getDashboardStats
* getDashboardData便
*/
export const getDashboardStats = (locationId?: number): AxiosPromise<DashboardVO> => {
return getDashboardData(locationId);
};