商务信息库修复

This commit is contained in:
chabai 2025-08-06 10:55:54 +08:00
parent 6317d898a3
commit 817a709639
6 changed files with 341 additions and 22 deletions

View File

@ -35,6 +35,18 @@ export function getFilesApi(folderId: string) {
})
}
// 获取文件夹列表
export function getFolderListApi(params: { page: number; pageSize: number; folderName?: string }) {
return request<{
list: KnowledgeFolder[]
total: number
}>({
url: '/knowledge/folder-list',
method: 'get',
params,
})
}
// 创建文件夹
export function createFolderApi(data: { name: string; parentId?: string }) {
return request({
@ -44,6 +56,23 @@ export function createFolderApi(data: { name: string; parentId?: string }) {
})
}
// 更新文件夹
export function updateFolderApi(folderId: string, data: { name: string }) {
return request({
url: `/knowledge/update-folder/${folderId}`,
method: 'put',
data,
})
}
// 删除文件夹
export function deleteFolderApi(folderId: string) {
return request({
url: `/knowledge/delete-folder/${folderId}`,
method: 'delete',
})
}
// 删除文件
export function deleteFileApi(fileId: string) {
return request({
@ -60,3 +89,32 @@ export function downloadFileApi(fileId: string) {
responseType: 'blob',
})
}
// 上传文件
export function uploadFileApi(data: FormData) {
return request({
url: '/knowledge/upload',
method: 'post',
data,
headers: {
'Content-Type': 'multipart/form-data',
},
})
}
// 更新文件名
export function updateFileNameApi(fileId: string, newName: string) {
return request({
url: `/knowledge/update-file-name/${fileId}`,
method: 'put',
data: { name: newName },
})
}
// 预览文件
export function previewFileApi(fileId: string) {
return request({
url: `/knowledge/preview/${fileId}`,
method: 'get',
})
}

165
src/apis/bussiness/index.ts Normal file
View File

@ -0,0 +1,165 @@
// @/apis/bussiness/index.ts - 商务数据库信息模块API
import http from '@/utils/http'
import type {
FolderInfo,
FileInfo,
FolderListParams,
FileListParams,
FolderListResponse,
FileListResponse,
CreateFolderParams,
RenameFolderParams,
DeleteFolderParams,
UploadFileParams,
DownloadFileParams,
DeleteFileParams,
PreviewFileParams,
RenameFileParams
} from './type'
const { request } = http
// 导出类型定义
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'
}
})
}
// 创建文件夹
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)
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: 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
}
})
}
// 预览文件(后端没有提供预览接口,使用下载接口)
export function previewFileApi(fileId: string) {
return request({
url: '/businessData/file/download',
method: 'get',
params: {
fileId: fileId
},
responseType: 'blob'
})
}
// 重命名文件(后端没有提供重命名接口,需要先删除再上传)
export function updateFileNameApi(fileId: string, data: RenameFileParams) {
// 注意后端没有提供文件重命名接口这里返回一个Promise.reject
return Promise.reject(new Error('后端暂不支持文件重命名功能'))
}

View File

@ -0,0 +1,95 @@
/** 文件夹信息接口 */
export interface FolderInfo {
folderId: string
name: string
parentId: string
createTime?: string
updateTime?: string
}
/** 文件信息接口 */
export interface FileInfo {
fileId: string
fileName: string
fileSize: number
fileType: string
folderId: string
createTime?: string
updateTime?: string
}
/** 文件夹列表查询参数 */
export interface FolderListParams {
page?: number
pageSize?: number
folderName?: string
}
/** 文件列表查询参数 */
export interface FileListParams {
page?: number
pageSize?: number
folderId?: string
}
/** 文件夹列表响应 */
export interface FolderListResponse {
data: FolderInfo[]
total: number
current: number
size: number
}
/** 文件列表响应 */
export interface FileListResponse {
data: FileInfo[]
total: number
current: number
size: number
}
/** 创建文件夹请求参数 */
export interface CreateFolderParams {
name: string
parentId?: string
}
/** 重命名文件夹请求参数 */
export interface RenameFolderParams {
folderId: string
newName: string
}
/** 删除文件夹请求参数 */
export interface DeleteFolderParams {
folderId: string
}
/** 上传文件请求参数 */
export interface UploadFileParams {
file: File
folderId: string
onUploadProgress?: (progressEvent: any) => void
cancelToken?: any
}
/** 下载文件请求参数 */
export interface DownloadFileParams {
fileId: string
}
/** 删除文件请求参数 */
export interface DeleteFileParams {
fileId: string
}
/** 预览文件请求参数 */
export interface PreviewFileParams {
fileId: string
}
/** 重命名文件请求参数 */
export interface RenameFileParams {
fileId: string
newName: string
}

View File

@ -703,26 +703,7 @@ export const systemRoutes: RouteRecordRaw[] = [
],
},
// 添加商务知识库
{
path: '/bussiness-knowledge',
name: 'bussinesskonwledge',
component: Layout,
redirect: '/bussiness-knowledge/data',
meta: { title: '商务资料知识库', icon: 'message', hidden: false, sort: 6 },
children: [
{
path: '/bussiness-konwledge/data',
name: 'bussiness-knowledge',
component: () => import('@/views/bussiness-data/bussiness.vue'),
meta: {
title: '商务数据库信息',
icon: 'info-circle',
hidden: false,
},
},
],
},
{
path: 'project-management/project-implementation/',
name: 'Project-Implementation',
@ -1017,6 +998,26 @@ export const systemRoutes: RouteRecordRaw[] = [
},
// ],
// },
// 商务数据库信息模块
{
path: '/business-knowledge',
name: 'BusinessKnowledge',
component: Layout,
redirect: '/business-knowledge/data',
meta: { title: '商务数据库信息', icon: 'database', hidden: false, sort: 5.5 },
children: [
{
path: '/business-knowledge/data',
name: 'BusinessKnowledgeData',
component: () => import('@/views/bussiness-data/bussiness.vue'),
meta: {
title: '商务数据库信息',
icon: 'info-circle',
hidden: false,
},
},
],
},
{
path: '/chat-platform',
name: 'ChatPlatform',

View File

@ -70,6 +70,6 @@ declare global {
// for type re-export
declare global {
// @ts-ignore
export type { Component, ComponentPublicInstance, ComputedRef, DirectiveBinding, ExtractDefaultPropTypes, ExtractPropTypes, ExtractPublicPropTypes, InjectionKey, PropType, Ref, MaybeRef, MaybeRefOrGetter, VNode, WritableComputedRef } from 'vue'
export type { Component, ComponentPublicInstance, ComputedRef, ExtractDefaultPropTypes, ExtractPropTypes, ExtractPublicPropTypes, InjectionKey, PropType, Ref, VNode, WritableComputedRef } from 'vue'
import('vue')
}

View File

@ -532,7 +532,7 @@ import {
uploadFileApi,
updateFileNameApi,
previewFileApi
} from '@/apis/bussiness/bussiness.js'
} from '@/apis/bussiness'
//
const folderList = ref([]);