import request from '@/config/axios' // IoT 设备 VO export interface DeviceVO { id: number // 设备 ID,主键,自增 deviceKey: string // 设备唯一标识符,全局唯一,用于识别设备 deviceName: string // 设备名称,在产品内唯一,用于标识设备 productId: number // 产品 ID,关联 iot_product 表的 id productKey: string // 产品 Key,关联 iot_product 表的 product_key deviceType: number // 设备类型:0 - 直连设备,1 - 网关子设备,2 - 网关设备 nickname: string // 设备备注名称,供用户自定义备注 gatewayId: number // 网关设备 ID,子设备需要关联的网关设备 ID status: number // 设备状态:0 - 未激活,1 - 在线,2 - 离线,3 - 已禁用 statusLastUpdateTime: Date // 设备状态最后更新时间 lastOnlineTime: Date // 最后上线时间 lastOfflineTime: Date // 最后离线时间 activeTime: Date // 设备激活时间 ip: string // 设备的 IP 地址 firmwareVersion: string // 设备的固件版本 deviceSecret: string // 设备密钥,用于设备认证,需安全存储 mqttClientId: string // MQTT 客户端 ID mqttUsername: string // MQTT 用户名 mqttPassword: string // MQTT 密码 authType: string // 认证类型(如一机一密、动态注册) latitude: number // 设备位置的纬度,范围 -90.000000 ~ 90.000000 longitude: number // 设备位置的经度,范围 -180.000000 ~ 180.000000 areaId: number // 地区编码,符合国家地区编码标准,关联地区表 address: string // 设备详细地址 serialNumber: string // 设备序列号 } // IoT 设备 API export const DeviceApi = { // 查询IoT 设备分页 getDevicePage: async (params: any) => { return await request.get({ url: `/iot/device/page`, params }) }, // 查询IoT 设备详情 getDevice: async (id: number) => { return await request.get({ url: `/iot/device/get?id=` + id }) }, // 新增IoT 设备 createDevice: async (data: DeviceVO) => { return await request.post({ url: `/iot/device/create`, data }) }, // 修改IoT 设备 updateDevice: async (data: DeviceVO) => { return await request.put({ url: `/iot/device/update`, data }) }, // 删除IoT 设备 deleteDevice: async (id: number) => { return await request.delete({ url: `/iot/device/delete?id=` + id }) }, // 导出IoT 设备 Excel exportDevice: async (params) => { return await request.download({ url: `/iot/device/export-excel`, params }) } }