rack.ts 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. import axios from 'axios';
  2. import { RackInfo } from "../../share/monitorTypes.ts";
  3. // 机柜管理API接口定义
  4. export const RackAPI = {
  5. // 获取机柜列表
  6. getRackList: async (params?: {
  7. page?: number,
  8. limit?: number,
  9. rack_name?: string,
  10. rack_code?: string,
  11. area?: string
  12. }) => {
  13. try {
  14. const response = await axios.get(`/racks`, { params });
  15. return response.data;
  16. } catch (error) {
  17. throw error;
  18. }
  19. },
  20. // 获取单个机柜信息
  21. getRack: async (id: number) => {
  22. try {
  23. const response = await axios.get(`/racks/${id}`);
  24. return response.data;
  25. } catch (error) {
  26. throw error;
  27. }
  28. },
  29. // 创建机柜
  30. createRack: async (data: Partial<RackInfo>) => {
  31. try {
  32. const response = await axios.post(`/racks`, data);
  33. return response.data;
  34. } catch (error) {
  35. throw error;
  36. }
  37. },
  38. // 更新机柜
  39. updateRack: async (id: number, data: Partial<RackInfo>) => {
  40. try {
  41. const response = await axios.put(`/racks/${id}`, data);
  42. return response.data;
  43. } catch (error) {
  44. throw error;
  45. }
  46. },
  47. // 删除机柜
  48. deleteRack: async (id: number) => {
  49. try {
  50. const response = await axios.delete(`/racks/${id}`);
  51. return response.data;
  52. } catch (error) {
  53. throw error;
  54. }
  55. }
  56. };