bigscreenCenter.ts 4 KB
import { defHttp } from '/@/utils/http/axios';
import type {
  queryPageParams,
  BigScreenCenterParams,
  ConfigurationCenterInfo,
  BigScreenCenterItemsModel,
  BigScreenInterfaceParams,
} from './model/bigscreenCenterModel';
import { getPageData } from '../../base';
import { FileUploadResponse } from '../../oem/model';
enum API {
  basicUrl = '/data_view',
  UPLOAD = '/oss/upload',
  //大屏公共接口
  DATA_VIEW_INTERFACE = '/data_view_interface',
  DATA_VIEW_SQL = '/dbConnect',
  DATA_SAVE_SQL = '/dbConnect/save',
  DATA_TEST_SQL = '/dbConnect/testDbConnect',
  DATA_DELETE_SQL = '/dbConnect/delete',
  DATA_GET_SQL = '/dbConnect/get',

  SHARE = '/data_view/share',
}

export const getPage = (params: queryPageParams) => {
  return getPageData<BigScreenCenterItemsModel>(params, API.basicUrl);
};

export const saveConfigurationCenter = (params: BigScreenCenterParams) => {
  return defHttp.post({
    url: API.basicUrl,
    data: params,
  });
};

export const updateConfigurationCenter = (params: BigScreenCenterParams) => {
  return defHttp.put({
    url: API.basicUrl,
    data: params,
  });
};

export const deleteBigScreenenter = (ids: string[]) => {
  return defHttp.delete({
    url: API.basicUrl,
    data: {
      ids: ids,
    },
  });
};

export const saveOrUpdateBigScreenCenter = (params: ConfigurationCenterInfo, isUpdate: boolean) => {
  return isUpdate ? updateConfigurationCenter(params) : saveConfigurationCenter(params);
};

export const uploadThumbnail = (file: FormData) => {
  return defHttp.post<FileUploadResponse>({ url: API.UPLOAD, params: file });
};

export const bigScreenPublish = (id) => {
  return defHttp.get({
    url: API.basicUrl + '/publish/' + id,
  });
};

export const bigScreenCancelPublish = (id) => {
  return defHttp.get({
    url: API.basicUrl + '/cancel_publish/' + id,
  });
};

/**
 * 大屏公共接口
 */

export const getDataViewSqlPage = (params: queryPageParams) => {
  return getPageData<BigScreenCenterItemsModel>(params, API.DATA_VIEW_SQL);
};
export const saveDataViewSql = (params: BigScreenInterfaceParams) => {
  return defHttp.post({
    url: API.DATA_SAVE_SQL,
    data: params,
  });
};
export const testDataViewSql = (params: BigScreenInterfaceParams) => {
  return defHttp.post({
    url: API.DATA_TEST_SQL,
    data: params,
  });
};
export const deleteBigViewSql = (id: string) => {
  return defHttp.get({
    url: API.DATA_DELETE_SQL + '?id=' + id,
  });
};

export const getBigViewSql = (id: string) => {
  return defHttp.get({
    url: API.DATA_GET_SQL + '?id=' + id,
  });
};

export const getDataViewInterfacePage = (params: queryPageParams) => {
  return getPageData<BigScreenCenterItemsModel>(params, API.DATA_VIEW_INTERFACE);
};

export const saveDataViewInterface = (params: BigScreenInterfaceParams) => {
  return defHttp.post({
    url: API.DATA_VIEW_INTERFACE,
    data: params,
  });
};

export const updateDataViewInterface = (params: BigScreenInterfaceParams) => {
  return defHttp.put({
    url: API.DATA_VIEW_INTERFACE,
    data: params,
  });
};

export const deleteBigViewInterface = (ids: string[]) => {
  return defHttp.delete({
    url: API.DATA_VIEW_INTERFACE,
    data: {
      ids: ids,
    },
  });
};

export const getPublish = (id) => {
  return defHttp.get({
    url: API.DATA_VIEW_INTERFACE + '/publish/' + id,
  });
};

export const getCancelPublish = (id) => {
  return defHttp.get({
    url: API.DATA_VIEW_INTERFACE + '/cancel_publish/' + id,
  });
};

//批量发布和取消发布
export const putPublishOrCancelPublish = (type, ids) => {
  return defHttp.put({
    url: `${API.DATA_VIEW_INTERFACE}/${
      type === 'batchPublish' ? 'batch_publish' : 'batch_cancel_publish'
    }/?ids=${ids.join(',')}`,
  });
};

export const shareLargeScreen = (record: {
  id: string;
  accessCredentials?: string;
  isShare: boolean;
}) => {
  const { accessCredentials, isShare, id } = record;
  return defHttp.post(
    {
      url: `${API.SHARE}/${id}`,
      params: { isShare, ...(accessCredentials ? { accessCredentials } : {}) },
    },
    {
      joinParamsToUrl: true,
    }
  );
};