mirror of
https://github.com/ctwj/urldb.git
synced 2025-11-25 11:29:37 +08:00
add: 新增文件上传功能
This commit is contained in:
36
web/composables/useFileApi.ts
Normal file
36
web/composables/useFileApi.ts
Normal 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 || '请求失败')
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user