file
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
import request from '@/utils/request'
|
||||
import type { PageResult } from '@/types/common'
|
||||
import type { FileQuery, FileUploadVO, FileVO } from '@/types/file'
|
||||
|
||||
// 叠加在 VITE_APP_BASE_API(/api/v1) 之上,经 Vite proxy 剥离 /api/v1 后命中后端 /api/admin/files
|
||||
const BASE_URL = '/api/admin/files'
|
||||
|
||||
export const FileAPI = {
|
||||
/** 分页查询文件列表 */
|
||||
query(params: FileQuery) {
|
||||
return request<PageResult<FileVO>>({ url: BASE_URL, method: 'get', params })
|
||||
},
|
||||
|
||||
/**
|
||||
* 上传单个文件(multipart/form-data)。
|
||||
* 实例默认 Content-Type 为 application/json,此处显式置为 undefined,
|
||||
* 由 axios 在 toJSON 阶段剔除该头,最终交由浏览器自动补全 boundary。
|
||||
*/
|
||||
upload(file: File) {
|
||||
const formData = new FormData()
|
||||
formData.append('file', file)
|
||||
return request<FileUploadVO>({
|
||||
url: `${BASE_URL}/upload`,
|
||||
method: 'post',
|
||||
data: formData,
|
||||
headers: { 'Content-Type': undefined },
|
||||
})
|
||||
},
|
||||
|
||||
/** 删除文件(同时清理存储内容与元数据) */
|
||||
delete(id: number) {
|
||||
return request<{ id: number }>({ url: `${BASE_URL}/${id}`, method: 'delete' })
|
||||
},
|
||||
}
|
||||
Reference in New Issue
Block a user