index.ts 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. import request from '@/config/axios'
  2. // IoT 设备 VO
  3. export interface DeviceVO {
  4. id: number // 设备 ID,主键,自增
  5. deviceKey: string // 设备唯一标识符
  6. deviceName: string // 设备名称
  7. productId: number // 产品编号
  8. productKey: string // 产品标识
  9. deviceType: number // 设备类型
  10. nickname: string // 设备备注名称
  11. gatewayId: number // 网关设备 ID
  12. status: number // 设备状态
  13. statusLastUpdateTime: Date // 设备状态最后更新时间
  14. lastOnlineTime: Date // 最后上线时间
  15. lastOfflineTime: Date // 最后离线时间
  16. activeTime: Date // 设备激活时间
  17. createTime: Date // 创建时间
  18. ip: string // 设备的 IP 地址
  19. firmwareVersion: string // 设备的固件版本
  20. deviceSecret: string // 设备密钥,用于设备认证,需安全存储
  21. mqttClientId: string // MQTT 客户端 ID
  22. mqttUsername: string // MQTT 用户名
  23. mqttPassword: string // MQTT 密码
  24. authType: string // 认证类型
  25. latitude: number // 设备位置的纬度
  26. longitude: number // 设备位置的经度
  27. areaId: number // 地区编码
  28. address: string // 设备详细地址
  29. serialNumber: string // 设备序列号
  30. }
  31. export interface DeviceUpdateStatusVO {
  32. id: number // 设备 ID,主键,自增
  33. status: number // 设备状态
  34. }
  35. // IoT 设备数据 VO
  36. export interface DeviceDataVO {
  37. deviceId: number // 设备编号
  38. thinkModelFunctionId: number // 物模型编号
  39. productKey: string // 产品标识
  40. deviceName: string // 设备名称
  41. identifier: string // 属性标识符
  42. name: string // 属性名称
  43. dataType: string // 数据类型
  44. updateTime: Date // 更新时间
  45. value: string // 最新值
  46. }
  47. // 设备 API
  48. export const DeviceApi = {
  49. // 查询设备分页
  50. getDevicePage: async (params: any) => {
  51. return await request.get({ url: `/iot/device/page`, params })
  52. },
  53. // 查询设备详情
  54. getDevice: async (id: number) => {
  55. return await request.get({ url: `/iot/device/get?id=` + id })
  56. },
  57. // 新增设备
  58. createDevice: async (data: DeviceVO) => {
  59. return await request.post({ url: `/iot/device/create`, data })
  60. },
  61. // 修改设备
  62. updateDevice: async (data: DeviceVO) => {
  63. return await request.put({ url: `/iot/device/update`, data })
  64. },
  65. // 修改设备状态
  66. updateDeviceStatus: async (data: DeviceUpdateStatusVO) => {
  67. return await request.put({ url: `/iot/device/update-status`, data })
  68. },
  69. // 删除设备
  70. deleteDevice: async (id: number) => {
  71. return await request.delete({ url: `/iot/device/delete?id=` + id })
  72. },
  73. // 获取设备数量
  74. getDeviceCount: async (productId: number) => {
  75. return await request.get({ url: `/iot/device/count?productId=` + productId })
  76. },
  77. // 获取设备属性最新数据
  78. getDevicePropertiesLatestData: async (params: any) => {
  79. return await request.get({ url: `/iot/device/data/latest-data`, params })
  80. }
  81. }