diff --git a/src/apis/business/business.js b/src/apis/business/business.js new file mode 100644 index 0000000..11e6c85 --- /dev/null +++ b/src/apis/business/business.js @@ -0,0 +1,126 @@ +// @/apis/bussiness/bussiness.js - 根据后端接口重新编写 +import http from '@/utils/http'; + +const { request } = http; + +// 获取文件夹列表(分页) +export function getFolderListApi(params) { + return request({ + url: '/businessData/folder/list', + method: 'get', + params: { + page: params?.page || 1, + pageSize: params?.pageSize || 10, + folderName: params?.folderName + } + }); +} + +// 获取文件列表(分页) +export function getFilesApi(params) { + return request({ + url: '/businessData/file/list', + method: 'get', + params: { + page: params?.page || 1, + pageSize: params?.pageSize || 10, + folderId: params?.folderId || 0 + } + }); +} + +// 创建文件夹 +export function createFolderApi(data) { + return request({ + url: '/businessData/folder/creatFolder', + method: 'post', + data: { + name: data.name, + parentId: data.parentId || 0 + } + }); +} + +// 重命名文件夹 +export function updateFolderApi(folderId, newName) { + return request({ + url: '/businessData/folder/rename', + method: 'put', + params: { + folderId: folderId, + newName: newName + } + }); +} + +// 删除文件夹 +export function deleteFolderApi(folderId) { + return request({ + url: '/businessData/folder/delete', + method: 'delete', + params: { + folderId: folderId + } + }); +} + +// 上传文件 +export function uploadFileApi(file, folderId, onUploadProgress, cancelToken) { + const formData = new FormData(); + formData.append('file', file); + + return request({ + url: '/businessData/file/add', + method: 'post', + params: { + folderId: folderId + }, + data: formData, + onUploadProgress, + cancelToken, + headers: { + 'Content-Type': 'multipart/form-data' + } + }); +} + +// 下载文件 +export function downloadFileApi(fileId) { + return request({ + url: '/businessData/file/download', + method: 'get', + params: { + fileId: fileId + }, + responseType: 'blob' + }); +} + +// 删除文件 +export function deleteFileApi(fileId) { + return request({ + url: '/businessData/file/delete', + method: 'delete', + params: { + fileId: fileId + } + }); +} + +// 预览文件(后端没有提供预览接口,使用下载接口) +export function previewFileApi(fileId) { + return request({ + url: '/businessData/file/download', + method: 'get', + params: { + fileId: fileId + }, + responseType: 'blob' + }); +} + +// 重命名文件(后端没有提供重命名接口,需要先删除再上传) +export function updateFileNameApi(fileId, data) { + // 注意:后端没有提供文件重命名接口,这里返回一个Promise.reject + return Promise.reject(new Error('后端暂不支持文件重命名功能')); +} \ No newline at end of file diff --git a/src/apis/business/business.ts b/src/apis/business/business.ts new file mode 100644 index 0000000..8a6dc25 --- /dev/null +++ b/src/apis/business/business.ts @@ -0,0 +1,62 @@ +import http from '@/utils/http' + +const { request } = http + +// 文件信息 +export interface KnowledgeFile { + id: string + name: string + size: string + type: string + uploadTime: string +} + +// 文件夹信息 +export interface KnowledgeFolder { + id: string + name: string + children?: KnowledgeFolder[] +} + +// 获取文件夹树 +export function getFolderTreeApi() { + return request({ + url: '/knowledge/folders', + method: 'get', + }) +} + +// 获取文件列表(按文件夹) +export function getFilesApi(folderId: string) { + return request({ + url: '/knowledge/files', + method: 'get', + params: { folderId }, + }) +} + +// 创建文件夹 +export function createFolderApi(data: { name: string; parentId?: string }) { + return request({ + url: '/knowledge/create-folder', + method: 'post', + data, + }) +} + +// 删除文件 +export function deleteFileApi(fileId: string) { + return request({ + url: `/knowledge/delete-file/${fileId}`, + method: 'delete', + }) +} + +// 下载文件 +export function downloadFileApi(fileId: string) { + return request({ + url: `/knowledge/download/${fileId}`, + method: 'get', + responseType: 'blob', + }) +} diff --git a/src/views/business-data/business.vue b/src/views/business-data/business.vue new file mode 100644 index 0000000..5b0dded --- /dev/null +++ b/src/views/business-data/business.vue @@ -0,0 +1,2328 @@ + + + + +