index.ts 1.23 KB
import type { DictItem, LoginResultModel, RefreshTokenParams, UploadFileResponseType } from './model'
import type { PlatformInfo } from '#/store'
import { defHttp } from '@/utils/http'
import type { DictEnum } from '@/enums/dictEnum'
import { ContentTypeEnum } from '@/enums/httpEnum'

enum Api {
  GET_PLATFORM = '/platform/get',
  REFRESH_TOKEN = '/auth/token',
  GET_DICT = '/dict_item/find',
  UPLOAD_FILE = '/oss/upload',
  GET_PERMISSIONS = '/role/me/permissions',
}
export const getPlatformInfo = () => {
  return defHttp.get<PlatformInfo>({
    url: Api.GET_PLATFORM,
  })
}

export function doRefreshToken(params: RefreshTokenParams) {
  return defHttp.post<LoginResultModel>(
    {
      url: Api.REFRESH_TOKEN,
      params,
    },
    {
      joinPrefix: false,
    },
  )
}

export function getDictItem(dictCode: DictEnum) {
  return defHttp.post<DictItem[]>({
    url: Api.GET_DICT,
    data: { dictCode },
  })
}

export function doUploadFile(file: FormData) {
  return defHttp.post<UploadFileResponseType>({
    url: Api.UPLOAD_FILE,
    data: file,
    headers: {
      'Content-Type': ContentTypeEnum.FORM_DATA,
    },
  })
}

export function getCurrentRolePermission() {
  return defHttp.get<string[]>({
    url: Api.GET_PERMISSIONS,
  })
}