import axios from 'axios'; import { DeviceAlert, DeviceAlertRule } from "../../share/monitorTypes.ts"; // 告警相关响应类型 interface DeviceAlertDataResponse { data: DeviceAlert[]; total: number; page: number; pageSize: number; } interface DeviceAlertResponse { data: DeviceAlert; message?: string; } interface AlertDeleteResponse { message: string; } // 设备告警规则API接口定义 export const DeviceAlertRuleAPI = { // 获取设备告警规则 getDeviceAlertRules: async (params?: { page?: number, limit?: number, device_id?: number, rule_type?: string }): Promise => { try { const response = await axios.get(`/device-alert-rules`, { params }); return response.data; } catch (error) { throw error; } }, // 获取单个设备告警规则 getDeviceAlertRule: async (id: number): Promise => { try { const response = await axios.get(`/device-alert-rules/${id}`); return response.data; } catch (error) { throw error; } }, // 创建设备告警规则 createDeviceAlertRule: async (data: Partial): Promise => { try { const response = await axios.post(`/device-alert-rules`, data); return response.data; } catch (error) { throw error; } }, // 更新设备告警规则 updateDeviceAlertRule: async (id: number, data: Partial): Promise => { try { const response = await axios.put(`/device-alert-rules/${id}`, data); return response.data; } catch (error) { throw error; } }, // 删除设备告警规则 deleteDeviceAlertRule: async (id: number): Promise => { try { const response = await axios.delete(`/device-alert-rules/${id}`); return response.data; } catch (error) { throw error; } } };