share.ts 902 Bytes
import { defHttp } from '/@/utils/http/axios';
import { ViewTypeEnum } from '/@/views/sys/share/config/config';

enum Api {
  CHECK = '/share/check',
  PUBLIC_LOGIN = '/auth/login/public',
  SHARE_CONTENT = '/share',
}

export const checkShareAccessToken = (type: ViewTypeEnum, id: string) => {
  return defHttp.get<Record<'data', boolean>>({
    url: `${Api.CHECK}/${type}/${id}`,
  });
};

export const sharePageLogin = (publicId: string) => {
  return defHttp.post<Record<'token' | 'refreshToken', string>>(
    {
      url: Api.PUBLIC_LOGIN,
      data: { publicId },
    },
    {
      joinPrefix: false,
    }
  );
};

export const getShareContent = (record: Record<'accessCredentials' | 'id', string>) => {
  const { id, accessCredentials } = record;
  return defHttp.get({
    url: `${Api.SHARE_CONTENT}/${ViewTypeEnum.DATA_BOARD}/share_data/${id}`,
    params: { accessCredentials },
  });
};