gaoluyang
2026-06-24 712aa51536236d43e87273e4ce45ac5691dffad8
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
import { requestClient } from '#/api/request';
 
export namespace IotStatisticsApi {
  /** 统计摘要数据 */
  export interface StatisticsSummaryRespVO {
    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>; // 按品类统计的设备数量
  }
 
  /** 设备消息数量统计(按日期) */
  export interface DeviceMessageSummaryByDateRespVO {
    time: string; // 时间轴
    upstreamCount: number; // 上行消息数量
    downstreamCount: number; // 下行消息数量
  }
 
  /** 设备消息统计请求 */
  export interface DeviceMessageReqVO {
    interval: number;
    times?: string[];
  }
}
 
/** 获取 IoT 统计摘要数据 */
export function getStatisticsSummary() {
  return requestClient.get<IotStatisticsApi.StatisticsSummaryRespVO>(
    '/iot/statistics/get-summary',
  );
}
 
/** 获取设备消息的数据统计(按日期) */
export function getDeviceMessageSummaryByDate(
  params: IotStatisticsApi.DeviceMessageReqVO,
) {
  return requestClient.get<IotStatisticsApi.DeviceMessageSummaryByDateRespVO[]>(
    '/iot/statistics/get-device-message-summary-by-date',
    { params },
  );
}