import request from '@/utils/request'; import { AxiosPromise } from 'axios'; import { DashboardVO, RealtimeStats, DeviceStatusVO, SuccessRateTrend, StatisticsOverview, AlarmStatVO } from './types'; // ==================== 新增接口(按需刷新) ==================== /** * 【新接口1】获取实时统计数据(按秒刷新) * 包含:顶部统计(设备数量、在线数量、离线数量、告警数量)+ 告警统计列表 * * @param alarmLimit 告警列表限制数量(默认10条) */ export const getRealtimeStats = (alarmLimit?: number): AxiosPromise => { return request({ url: '/rfid/dashboard/realtime', method: 'get', params: { alarmLimit } }); }; /** * 【新接口2】获取设备状态列表(定时刷新) * 包含每个设备的在线状态、告警状态及最新读取记录 * * @param locationId 位置ID(可选,用于按位置筛选) */ export const getDeviceStatusList = (locationId?: number): AxiosPromise => { return request({ url: '/rfid/dashboard/deviceStatus', method: 'get', params: { locationId } }); }; /** * 【新接口3】获取成功率趋势(按小时统计) * 不需要频繁刷新 * * @param type 类型:today-今日(默认),yesterday-昨日 */ export const getSuccessRateTrends = (type?: string): AxiosPromise => { return request({ url: '/rfid/dashboard/successRate', method: 'get', params: { type } }); }; // ==================== 原有接口(保留) ==================== /** * 获取完整看板数据 * * @param locationId 位置ID(可选) */ export const getDashboardData = (locationId?: number): AxiosPromise => { return request({ url: '/rfid/dashboard/data', method: 'get', params: { locationId } }); }; /** * 获取统计概览 */ export const getOverview = (): AxiosPromise => { return request({ url: '/rfid/dashboard/overview', method: 'get' }); }; /** * 获取告警统计列表 * * @param limit 限制数量(默认10条) */ export const getAlarmStats = (limit?: number): AxiosPromise => { return request({ url: '/rfid/dashboard/alarmStats', method: 'get', params: { limit } }); };