Industrial-image-management.../src/apis/bussiness/index.ts

188 lines
3.9 KiB
TypeScript
Raw Normal View History

// @/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,
folderId: params?.folderId || '0',
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'
})
}
// 重命名文件
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) {
return renameFileApi(fileId, data.newFileName)
2025-08-06 10:55:54 +08:00
}