2025-08-12 14:18:00 +08:00
|
|
|
// @/apis/bussiness/index.ts - 智能商务API
|
2025-08-06 10:55:54 +08:00
|
|
|
import http from '@/utils/http'
|
|
|
|
import type {
|
|
|
|
FolderInfo,
|
|
|
|
FileInfo,
|
|
|
|
FolderListParams,
|
|
|
|
FileListParams,
|
|
|
|
FolderListResponse,
|
|
|
|
FileListResponse,
|
|
|
|
CreateFolderParams,
|
|
|
|
RenameFolderParams,
|
|
|
|
DeleteFolderParams,
|
|
|
|
UploadFileParams,
|
|
|
|
DownloadFileParams,
|
|
|
|
DeleteFileParams,
|
|
|
|
PreviewFileParams,
|
|
|
|
RenameFileParams
|
|
|
|
} from './type'
|
|
|
|
|
2025-08-06 17:31:05 +08:00
|
|
|
const { request, requestRaw } = http
|
2025-08-06 10:55:54 +08:00
|
|
|
|
|
|
|
// 导出类型定义
|
|
|
|
export type {
|
|
|
|
FolderInfo,
|
|
|
|
FileInfo,
|
|
|
|
FolderListParams,
|
|
|
|
FileListParams,
|
|
|
|
FolderListResponse,
|
|
|
|
FileListResponse,
|
|
|
|
CreateFolderParams,
|
|
|
|
RenameFolderParams,
|
|
|
|
DeleteFolderParams,
|
|
|
|
UploadFileParams,
|
|
|
|
DownloadFileParams,
|
|
|
|
DeleteFileParams,
|
|
|
|
PreviewFileParams,
|
|
|
|
RenameFileParams
|
|
|
|
}
|
|
|
|
|
|
|
|
// 获取文件夹列表(分页)
|
|
|
|
export function getFolderListApi(params?: FolderListParams) {
|
|
|
|
return request<FolderListResponse>({
|
|
|
|
url: '/businessData/folder/list',
|
|
|
|
method: 'get',
|
|
|
|
params: {
|
|
|
|
page: params?.page || 1,
|
|
|
|
pageSize: params?.pageSize || 10,
|
|
|
|
folderName: params?.folderName
|
|
|
|
}
|
|
|
|
})
|
|
|
|
}
|
|
|
|
|
|
|
|
// 获取文件列表(分页)
|
|
|
|
export function getFilesApi(params?: FileListParams) {
|
|
|
|
return request<FileListResponse>({
|
|
|
|
url: '/businessData/file/list',
|
|
|
|
method: 'get',
|
|
|
|
params: {
|
|
|
|
page: params?.page || 1,
|
|
|
|
pageSize: params?.pageSize || 10,
|
2025-08-07 15:26:29 +08:00
|
|
|
folderId: params?.folderId || '0',
|
2025-08-12 14:18:00 +08:00
|
|
|
fileName: params?.fileName,
|
|
|
|
sortField: params?.sortField,
|
|
|
|
sortOrder: params?.sortOrder
|
2025-08-06 10:55:54 +08:00
|
|
|
}
|
|
|
|
})
|
|
|
|
}
|
|
|
|
|
|
|
|
// 创建文件夹
|
|
|
|
export function createFolderApi(data: CreateFolderParams) {
|
|
|
|
return request({
|
|
|
|
url: '/businessData/folder/creatFolder',
|
|
|
|
method: 'post',
|
|
|
|
data: {
|
|
|
|
name: data.name,
|
|
|
|
parentId: data.parentId || '0'
|
|
|
|
}
|
|
|
|
})
|
|
|
|
}
|
|
|
|
|
|
|
|
// 重命名文件夹
|
|
|
|
export function updateFolderApi(folderId: string, newName: string) {
|
|
|
|
return request({
|
|
|
|
url: '/businessData/folder/rename',
|
|
|
|
method: 'put',
|
|
|
|
params: {
|
|
|
|
folderId: folderId,
|
|
|
|
newName: newName
|
|
|
|
}
|
|
|
|
})
|
|
|
|
}
|
|
|
|
|
|
|
|
// 删除文件夹
|
|
|
|
export function deleteFolderApi(folderId: string) {
|
|
|
|
return request({
|
|
|
|
url: '/businessData/folder/delete',
|
|
|
|
method: 'delete',
|
|
|
|
params: {
|
|
|
|
folderId: folderId
|
|
|
|
}
|
|
|
|
})
|
|
|
|
}
|
|
|
|
|
|
|
|
// 上传文件
|
|
|
|
export function uploadFileApi(
|
|
|
|
file: File,
|
|
|
|
folderId: string,
|
|
|
|
onUploadProgress?: (progressEvent: any) => void,
|
|
|
|
cancelToken?: any
|
|
|
|
) {
|
|
|
|
const formData = new FormData()
|
|
|
|
formData.append('file', file)
|
|
|
|
|
2025-08-06 17:31:05 +08:00
|
|
|
return requestRaw({
|
2025-08-06 10:55:54 +08:00
|
|
|
url: '/businessData/file/add',
|
|
|
|
method: 'post',
|
|
|
|
params: {
|
|
|
|
folderId: folderId
|
|
|
|
},
|
|
|
|
data: formData,
|
|
|
|
onUploadProgress,
|
|
|
|
cancelToken,
|
|
|
|
headers: {
|
|
|
|
'Content-Type': 'multipart/form-data'
|
|
|
|
}
|
2025-08-06 17:31:05 +08:00
|
|
|
}).then(response => response.data)
|
|
|
|
.catch(error => {
|
|
|
|
// 确保错误不会抛出,而是返回一个错误对象
|
|
|
|
console.error('上传文件API错误:', error)
|
|
|
|
return {
|
|
|
|
code: 500,
|
|
|
|
msg: error.message || '上传失败',
|
|
|
|
success: false
|
|
|
|
}
|
|
|
|
})
|
2025-08-06 10:55:54 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
// 下载文件
|
|
|
|
export function downloadFileApi(fileId: string) {
|
|
|
|
return request({
|
|
|
|
url: '/businessData/file/download',
|
|
|
|
method: 'get',
|
|
|
|
params: {
|
|
|
|
fileId: fileId
|
|
|
|
},
|
|
|
|
responseType: 'blob'
|
|
|
|
})
|
|
|
|
}
|
|
|
|
|
|
|
|
// 删除文件
|
|
|
|
export function deleteFileApi(fileId: string) {
|
|
|
|
return request({
|
|
|
|
url: '/businessData/file/delete',
|
|
|
|
method: 'delete',
|
|
|
|
params: {
|
|
|
|
fileId: fileId
|
|
|
|
}
|
|
|
|
})
|
|
|
|
}
|
|
|
|
|
2025-08-08 10:26:36 +08:00
|
|
|
// 预览文件
|
2025-08-06 10:55:54 +08:00
|
|
|
export function previewFileApi(fileId: string) {
|
|
|
|
return request({
|
2025-08-08 10:26:36 +08:00
|
|
|
url: '/businessData/file/preview',
|
2025-08-06 10:55:54 +08:00
|
|
|
method: 'get',
|
|
|
|
params: {
|
|
|
|
fileId: fileId
|
|
|
|
},
|
|
|
|
responseType: 'blob'
|
|
|
|
})
|
|
|
|
}
|
|
|
|
|
2025-08-07 15:26:29 +08:00
|
|
|
// 重命名文件
|
|
|
|
export function renameFileApi(fileId: string, newFileName: string) {
|
|
|
|
return request({
|
|
|
|
url: '/businessData/file/rename',
|
|
|
|
method: 'put',
|
|
|
|
params: {
|
|
|
|
fileId: fileId,
|
|
|
|
newFileName: newFileName
|
|
|
|
}
|
|
|
|
})
|
|
|
|
}
|
|
|
|
|
|
|
|
// 重命名文件(兼容旧接口)
|
2025-08-06 10:55:54 +08:00
|
|
|
export function updateFileNameApi(fileId: string, data: RenameFileParams) {
|
2025-08-07 15:26:29 +08:00
|
|
|
return renameFileApi(fileId, data.newFileName)
|
2025-08-06 10:55:54 +08:00
|
|
|
}
|