Files
yudao-ui-admin-vue3/src/api/iot/statistics/index.ts

61 lines
1.6 KiB
TypeScript
Raw Normal View History

2025-02-27 09:29:46 +08:00
import request from '@/config/axios'
/** IoT 统计数据类型 */
2025-02-28 15:20:28 +08:00
export interface IotStatisticsSummaryRespVO {
productCategoryCount: number
productCount: number
deviceCount: number
deviceMessageCount: number
productCategoryTodayCount: number
productTodayCount: number
deviceTodayCount: number
deviceMessageTodayCount: number
deviceOnlineCount: number
deviceOfflineCount: number
deviceInactiveCount: number
productCategoryDeviceCounts: Record<string, number>
}
2025-04-15 11:27:41 +08:00
/** 时间戳-数值的键值对类型 */
interface TimeValueItem {
[key: string]: number
}
/** IoT 消息统计数据类型 */
2025-02-28 15:20:28 +08:00
export interface IotStatisticsDeviceMessageSummaryRespVO {
2025-04-16 10:47:29 +08:00
statType: number
2025-04-15 11:27:41 +08:00
upstreamCounts: TimeValueItem[]
downstreamCounts: TimeValueItem[]
2025-02-28 15:20:28 +08:00
}
/** 新的消息统计数据项 */
export interface IotStatisticsDeviceMessageSummaryByDateRespVO {
time: string
upstreamCount: number
downstreamCount: number
}
/** 新的消息统计接口参数 */
export interface IotStatisticsDeviceMessageReqVO {
interval: number
times?: string[]
}
2025-02-27 09:29:46 +08:00
// IoT 数据统计 API
export const StatisticsApi = {
// 查询全局的数据统计
getStatisticsSummary: async () => {
return await request.get<IotStatisticsSummaryRespVO>({
2025-02-28 15:20:28 +08:00
url: `/iot/statistics/get-summary`
})
},
2025-02-27 09:29:46 +08:00
// 获取设备消息的数据统计
getDeviceMessageSummaryByDate: async (params: IotStatisticsDeviceMessageReqVO) => {
return await request.get<IotStatisticsDeviceMessageSummaryByDateRespVO[]>({
url: `/iot/statistics/get-device-message-summary-by-date`,
params
2025-02-28 15:20:28 +08:00
})
}
}