index.ts 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. import request from '@/config/axios'
  2. /** IoT 统计数据类型 */
  3. export interface IotStatisticsSummaryRespVO {
  4. productCategoryCount: number
  5. productCount: number
  6. deviceCount: number
  7. deviceMessageCount: number
  8. productCategoryTodayCount: number
  9. productTodayCount: number
  10. deviceTodayCount: number
  11. deviceMessageTodayCount: number
  12. deviceOnlineCount: number
  13. deviceOfflineCount: number
  14. deviceInactiveCount: number
  15. productCategoryDeviceCounts: Record<string, number>
  16. }
  17. /** 新的消息统计数据项 */
  18. export interface IotStatisticsDeviceMessageSummaryByDateRespVO {
  19. time: string
  20. upstreamCount: number
  21. downstreamCount: number
  22. }
  23. /** 新的消息统计接口参数 */
  24. export interface IotStatisticsDeviceMessageReqVO {
  25. interval: number
  26. times?: string[]
  27. }
  28. /** 设备位置数据 VO */
  29. export interface DeviceLocationRespVO {
  30. id: number
  31. deviceName: string
  32. nickname?: string
  33. productName?: string
  34. state: number
  35. longitude: number
  36. latitude: number
  37. }
  38. // IoT 数据统计 API
  39. export const StatisticsApi = {
  40. // 查询全局的数据统计
  41. getStatisticsSummary: async () => {
  42. return await request.get<IotStatisticsSummaryRespVO>({
  43. url: `/iot/statistics/get-summary`
  44. })
  45. },
  46. // 获取设备消息的数据统计
  47. getDeviceMessageSummaryByDate: async (params: IotStatisticsDeviceMessageReqVO) => {
  48. return await request.get<IotStatisticsDeviceMessageSummaryByDateRespVO[]>({
  49. url: `/iot/statistics/get-device-message-summary-by-date`,
  50. params
  51. })
  52. }
  53. }