edgeInstance.ts 3.43 KB
import { EdgeInstanceItemType, QueryEdgeInstancePageParams } from './model/edgeInstance';
import { PaginationResult } from '/#/axios';
import { defHttp } from '/@/utils/http/axios';

enum EdgeManageApi {
  PAGE_LIST_GET = '/tenant/edgeInfos',
  EDGE = '/edge',
  EDGE_INFO = '/edge/info',
  EDGE_EVENTS = '/events/EDGE',
  EDGE_DEVICE_INFO = '/device/info',
  EDGE_SYNC = '/edge/sync',
  EDGE_DEVICE_DISTRIBUTION = '/tenant/deviceInfos',
}

//分页
export const edgeInstancePage = (params: QueryEdgeInstancePageParams) => {
  return defHttp.get<PaginationResult<EdgeInstanceItemType>>(
    {
      url: EdgeManageApi.PAGE_LIST_GET,
      params,
    },
    {
      joinPrefix: false,
    }
  );
};

// 创建或编辑
export const createOrEditEdgeInstance = (data: EdgeInstanceItemType) => {
  return defHttp.post<EdgeInstanceItemType>(
    {
      url: EdgeManageApi.EDGE,
      data,
    },
    {
      joinPrefix: false,
    }
  );
};

// 删除
export const deleteEdgeInstance = (id: string) => {
  return defHttp.delete(
    {
      url: `${EdgeManageApi.EDGE}/${id}`,
    },
    {
      joinPrefix: false,
    }
  );
};

// 详情
export const infoEdgeInstance = (id: string) => {
  return defHttp.get(
    {
      url: `${EdgeManageApi.EDGE_INFO}/${id}`,
    },
    {
      joinPrefix: false,
    }
  );
};

// 边缘事件
export const edgeEventPage = (params: QueryEdgeInstancePageParams, id: string | undefined) => {
  return defHttp.get(
    {
      url: `${EdgeManageApi.EDGE_EVENTS}/${id}`,
      params,
    },
    {
      joinPrefix: false,
    }
  );
};

// 边缘设备
export const edgeDevicePage = (params: QueryEdgeInstancePageParams, id: string | undefined) => {
  return defHttp.get(
    {
      url: `${EdgeManageApi.EDGE}/${id}/devices`,
      params,
    },
    {
      joinPrefix: false,
    }
  );
};

// 边缘设备详情
export const infoEdgeDevice = (id: string) => {
  return defHttp.get(
    {
      url: `${EdgeManageApi.EDGE_DEVICE_INFO}/${id}`,
    },
    {
      joinPrefix: false,
    }
  );
};

// 边缘同步
export const syncEdge = (id: string) => {
  return defHttp.post(
    {
      url: `${EdgeManageApi.EDGE_SYNC}/${id}`,
    },
    {
      joinPrefix: false,
    }
  );
};

//设备分配查询
export const edgeDeviceDistributionPage = (params: QueryEdgeInstancePageParams) => {
  return defHttp.get<PaginationResult<EdgeInstanceItemType>>(
    {
      url: EdgeManageApi.EDGE_DEVICE_DISTRIBUTION,
      params,
    },
    {
      joinPrefix: false,
    }
  );
};

//设备分配给边缘
export const edgeDeviceDistribution = (edgeId: string | undefined, deviceId: string) => {
  return defHttp.post<PaginationResult<EdgeInstanceItemType>>(
    {
      url: `${EdgeManageApi.EDGE}/${edgeId}/device/${deviceId}`,
      data: {
        headers: {
          normalizedNames: {},
          lazyUpdate: null,
        },
        params: {
          updates: null,
          cloneFrom: null,
          encoder: {},
          map: null,
          interceptorConfig: {
            ignoreLoading: false,
            ignoreErrors: false,
            resendRequest: false,
          },
        },
      },
    },
    {
      joinPrefix: false,
    }
  );
};

//取消设备分配给边缘
export const edgeDeviceDeleteDistribution = (edgeId: string | undefined, deviceId: string) => {
  return defHttp.delete<PaginationResult<EdgeInstanceItemType>>(
    {
      url: `${EdgeManageApi.EDGE}/${edgeId}/device/${deviceId}`,
    },
    {
      joinPrefix: false,
    }
  );
};