import {request} from '@sensoro/core'; import qs from 'qs'; import { OperationDto } from '@/common/types/device-operation'; // 设备列表 export const fetchDeviceList = (params: Object) => request.get(`/sensorDevice/v1/sensorDevices?${qs.stringify(params)}`); // 设备详情 export const fetchDeviceInfo = (sn: string) => request.get(`/sensorDevice/v1/sensorDevices/${sn}`, {}); export const fetchDeviceInfoWithParam = (param: any) => request.get(`/sensorDevice/v1/sensorDevices/${param.id}`); // 设备更新 export const updateDeviceInfo = (sn: string, params: Object) => request.put(`/sensorDevice/v1/sensorDevices/${sn}/deployInfo`, { data: params }); // 设备删除 export const deleteDevice = (sn: string) => request.delete(`/sensorDevice/v1/sensorDevices/${sn}`); interface DeviceEventStatisticsParams { startTime: number; endTime: number; } /** * 获取设备事件趋势统计数据 * @param sn * @param params */ export async function fetchEventStatistics(sn: string, params: DeviceEventStatisticsParams) { return request.get(`/sensorDevice/v1/statistics/sensorDevices/${sn}/events`, { params }); } // 事件列表 export async function fetchEventList(sn: string, params: Object) { return request.get(`/sensorDevice/v1/sensorDevices/${sn}/events`, { params }); } // 从机列表 export async function fetchRelationDevices(sn: string, params: Object) { return request.get(`/sensorDevice/v1/sensorDevices/${sn}/relationDevices`, { params }); } // 设备数据日志 export const fetchDataLog = (sn: string, params: DeviceEventStatisticsParams) => request.get(`/sensorDevice/v1/data/list/${sn}`, { params }); // -------------------------------------统计接口 // 设备状态 export const fetchDeviceStatus = (params: Object) => request.get('/statistics/v1/statistics/sensorDevices/status', { params }); // 设备电量 export const batteryRanges = [ { highLevel: 10, lowLevel: 1 }, { highLevel: 30, lowLevel: 11 }, { highLevel: 60, lowLevel: 31 }, { highLevel: 80, lowLevel: 61 }, { highLevel: 100, lowLevel: 81 } ]; export const fetchDeviceBatteries = (params: Object) => request.get( `/statistics/v1/statistics/sensorDevices/batteries?${qs.stringify({ batteryRanges: batteryRanges, ...params })}` ); // 设备类型 export const fetchDeviceCategories = (params: Object) => request.get('/statistics/v1/statistics/sensorDevices/categories', { params }); // 设备网络状态 export const fetchDeviceNetworkStatus = (params: Object) => request.get('/statistics/v1/statistics/sensorDevices/networkStatus', { params }); // 传感器设备操作 export const deviceOperation = (params: OperationDto) => request.post('/sensorDevice/v1/sensorOperations', { data: params }); // 传感器操作记录 export const fetchDeviceOperation = (sn: string, params: Object) => request.get(`/sensorDevice/v1/sensorDevices/${sn}/operations`, { params }); /** * 下载设备列表 */ export const exportDeviceList = (params: Object) => { return request.get('/export/v1/export/sensorDevices', { responseType: 'blob', params }); };