This commit is contained in:
ygx
2026-03-17 23:31:21 +08:00
parent 2835695d78
commit ba2494f5b3
23 changed files with 5032 additions and 0 deletions

50
src/api/ops/alertLevel.ts Normal file
View File

@@ -0,0 +1,50 @@
import { request } from "@/api/request";
/** 获取告警级别列表(分页) */
export const fetchAlertLevelList = (data?: {
page?: number;
page_size?: number;
keyword?: string;
enabled?: string;
}) => {
return request.get("/Alert/v1/severity/list", data || {});
};
/** 获取告警级别详情 */
export const fetchAlertLevelDetail = (id: number) => {
return request.get(`/Alert/v1/severity/get/${id}`);
};
/** 创建告警级别 */
export const createAlertLevel = (data: {
name: string;
code: string;
description?: string;
color: string;
icon?: string;
priority?: number;
enabled?: boolean;
config?: string;
}) => {
return request.post("/Alert/v1/severity/create", data);
};
/** 更新告警级别 */
export const updateAlertLevel = (data: {
id: number;
name?: string;
code?: string;
description?: string;
color?: string;
icon?: string;
priority?: number;
enabled?: boolean;
config?: string;
}) => {
return request.post("/Alert/v1/severity/update", data);
};
/** 删除告警级别 */
export const deleteAlertLevel = (id: number) => {
return request.delete(`/Alert/v1/severity/delete/${id}`);
};

View File

@@ -0,0 +1,58 @@
import { request } from "@/api/request";
/** 获取通知渠道列表(分页) */
export const fetchNoticeChannelList = (data?: {
page?: number;
page_size?: number;
keyword?: string;
type?: string;
}) => {
return request.get("/Alert/v1/channel/list", { params: data || {} });
};
/** 获取通知渠道详情 */
export const fetchNoticeChannelDetail = (id: number) => {
return request.get(`/Alert/v1/channel/get/${id}`);
};
/** 创建通知渠道 */
export const createNoticeChannel = (data: {
name: string;
type: string;
config: string;
message_template?: string;
rate_limit?: number;
rate_limit_window?: number;
severity_filter?: string;
quiet_hours?: string;
retry_times?: number;
retry_interval?: number;
enabled?: boolean;
description?: string;
}) => {
return request.post("/Alert/v1/channel/create", data);
};
/** 更新通知渠道 */
export const updateNoticeChannel = (data: {
id: number;
name?: string;
type?: string;
config?: string;
message_template?: string;
rate_limit?: number;
rate_limit_window?: number;
severity_filter?: string;
quiet_hours?: string;
retry_times?: number;
retry_interval?: number;
enabled?: boolean;
description?: string;
}) => {
return request.post("/Alert/v1/channel/update", data);
};
/** 删除通知渠道 */
export const deleteNoticeChannel = (id: number) => {
return request.delete(`/Alert/v1/channel/delete/${id}`);
};

51
src/api/ops/rack.ts Normal file
View File

@@ -0,0 +1,51 @@
import { request } from "@/api/request";
/** 获取机柜列表(分页) */
export const fetchRackList = (data?: {
page?: number;
page_size?: number;
keyword?: string;
datacenter_id?: number;
floor_id?: number;
rack_type?: string;
status?: string;
sort?: string;
order?: string;
}) => {
return request.post("/Assets/v1/rack/list", data || {});
};
/** 获取机柜详情 */
export const fetchRackDetail = (id: number) => {
return request.get(`/Assets/v1/rack/detail/${id}`);
};
/** 创建机柜 */
export const createRack = (data: any) => {
return request.post("/Assets/v1/rack/create", data);
};
/** 更新机柜 */
export const updateRack = (data: any) => {
return request.put("/Assets/v1/rack/update", data);
};
/** 删除机柜 */
export const deleteRack = (id: number) => {
return request.delete(`/Assets/v1/rack/delete/${id}`);
};
/** 获取供应商列表(用于下拉选择) */
export const fetchSupplierList = () => {
return request.get("/Assets/v1/supplier/all");
};
/** 获取数据中心列表(用于下拉选择) */
export const fetchDatacenterList = () => {
return request.get("/Assets/v1/datacenter/all");
};
/** 获取楼层列表(用于下拉选择) */
export const fetchFloorListForSelect = (datacenterId?: number) => {
return request.get("/Assets/v1/floor/all", { params: { datacenter_id: datacenterId } });
};

64
src/api/ops/unit.ts Normal file
View File

@@ -0,0 +1,64 @@
import { request } from "@/api/request";
/** 获取机柜U位状态 */
export const fetchRackUnits = (rackId: number) => {
return request.get(`/Assets/v1/unit/rack/${rackId}`);
};
/** 获取U位列表别名 */
export const fetchUnitList = fetchRackUnits;
/** 分配U位 */
export const allocateUnit = (data: {
rack_id: number;
start_unit: number;
occupied_units: number;
asset_id?: number;
asset_code?: string;
asset_name: string;
asset_type: string;
power_consumption?: number;
description?: string;
}) => {
return request.post("/Assets/v1/unit/allocate", data);
};
/** 释放U位 */
export const releaseUnit = (data: {
rack_id: number;
start_unit: number;
end_unit: number;
}) => {
return request.post("/Assets/v1/unit/release", data);
};
/** 预留U位 */
export const reserveUnit = (data: {
rack_id: number;
start_unit: number;
occupied_units: number;
reserved_for: string;
reserved_until: string;
description?: string;
}) => {
return request.post("/Assets/v1/unit/reserve", data);
};
/** 取消预留 */
export const cancelReservation = (data: {
rack_id: number;
start_unit: number;
end_unit: number;
}) => {
return request.post("/Assets/v1/unit/cancel_reservation", data);
};
/** 更新U位状态 */
export const updateUnitStatus = (data: {
rack_id: number;
start_unit: number;
end_unit: number;
status: "available" | "disabled";
}) => {
return request.put("/Assets/v1/unit/status", data);
};