index.ts 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. import request from '@/config/axios'
  2. // 文件预签名地址 Response VO
  3. export interface FilePresignedUrlRespVO {
  4. // 文件配置编号
  5. configId: number
  6. // 文件上传 URL
  7. uploadUrl: string
  8. // 文件 URL
  9. url: string
  10. // 文件路径
  11. path: string
  12. }
  13. // 查询文件列表
  14. export const getFilePage = (params: PageParam) => {
  15. return request.get({ url: '/infra/file/page', params })
  16. }
  17. // 删除文件
  18. export const deleteFile = (id: number) => {
  19. return request.delete({ url: '/infra/file/delete?id=' + id })
  20. }
  21. // 批量删除文件
  22. export const deleteFileList = (ids: number[]) => {
  23. return request.delete({ url: '/infra/file/delete-list', params: { ids: ids.join(',') } })
  24. }
  25. // 获取文件预签名地址
  26. export const getFilePresignedUrl = (name: string, directory?: string) => {
  27. return request.get<FilePresignedUrlRespVO>({
  28. url: '/infra/file/presigned-url',
  29. params: { name, directory }
  30. })
  31. }
  32. // 创建文件
  33. export const createFile = (data: any) => {
  34. return request.post({ url: '/infra/file/create', data })
  35. }
  36. // 上传文件
  37. export const updateFile = (data: any, onUploadProgress?: Function) => {
  38. return request.upload({ url: '/infra/file/upload', data, onUploadProgress })
  39. }