Blame view

Yi.Vben5.Vue3/apps/web-antd/src/api/system/oss/index.ts 1.84 KB
515fceeb   “wangming”   框架初始化
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
  import type { AxiosRequestConfig } from '@vben/request';
  
  import type { OssFile } from './model';
  
  import type { ID, IDS, PageQuery, PageResult } from '#/api/common';
  
  import { ContentTypeEnum } from '#/api/helper';
  import { requestClient } from '#/api/request';
  
  enum Api {
    ossDownload = '/resource/oss/download',
    ossInfo = '/resource/oss/listByIds',
    ossList = '/resource/oss/list',
    ossUpload = '/resource/oss/upload',
    root = '/resource/oss',
  }
  
  /**
   * 文件list
   * @param params 参数
   * @returns 分页
   */
  export function ossList(params?: PageQuery) {
    return requestClient.get<PageResult<OssFile>>(Api.ossList, { params });
  }
  
  /**
   * 查询文件信息 返回为数组
   * @param ossIds id数组
   * @returns 信息数组
   */
  export function ossInfo(ossIds: ID | IDS) {
    return requestClient.get<OssFile[]>(`${Api.ossInfo}/${ossIds}`);
  }
  
  /**
   * @deprecated 使用apps/web-antd/src/api/core/upload.ts uploadApi方法
   * @param file 文件
   * @returns void
   */
  export function ossUpload(file: Blob | File) {
    const formData = new FormData();
    formData.append('file', file);
    return requestClient.postWithMsg(Api.ossUpload, formData, {
      headers: { 'Content-Type': ContentTypeEnum.FORM_DATA },
      timeout: 30 * 1000,
    });
  }
  
  /**
   * 下载文件  返回为二进制
   * @param ossId ossId
   * @param onDownloadProgress 下载进度(可选)
   * @returns blob
   */
  export function ossDownload(
    ossId: ID,
    onDownloadProgress?: AxiosRequestConfig['onDownloadProgress'],
  ) {
    return requestClient.get<Blob>(`${Api.ossDownload}/${ossId}`, {
      responseType: 'blob',
      timeout: 30 * 1000,
      isTransformResponse: false,
      onDownloadProgress,
    });
  }
  
  /**
   * 删除文件
   * @param ossIds id数组
   * @returns void
   */
  export function ossRemove(ossIds: IDS) {
    return requestClient.deleteWithMsg<void>(Api.root, {
      params: { ids: ossIds.join(',') },
    });
  }