add: 新增文件上传功能

This commit is contained in:
Kerwin
2025-08-15 18:41:09 +08:00
parent 14ef85801a
commit 9d4eb38272
18 changed files with 1633 additions and 11 deletions

View File

@@ -0,0 +1,36 @@
import { useApiFetch } from './useApiFetch'
export const useFileApi = () => {
const getFileList = (params?: any) => useApiFetch('/files', { params }).then(parseApiResponse)
const uploadFile = (data: FormData) => useApiFetch('/files/upload', {
method: 'POST',
body: data,
headers: {
// 不设置Content-Type让浏览器自动设置multipart/form-data
}
}).then(parseApiResponse)
const deleteFiles = (ids: number[]) => useApiFetch('/files', {
method: 'DELETE',
body: { ids }
}).then(parseApiResponse)
const updateFile = (data: any) => useApiFetch('/files', {
method: 'PUT',
body: data
}).then(parseApiResponse)
return {
getFileList,
uploadFile,
deleteFiles,
updateFile
}
}
// 解析API响应
function parseApiResponse(response: any) {
if (response.success) {
return response
} else {
throw new Error(response.message || '请求失败')
}
}