解决冲突并合并

This commit is contained in:
Mr.j 2025-08-06 14:59:01 +08:00
commit b44bcebf0f
7 changed files with 319 additions and 53 deletions

View File

@ -44,6 +44,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({
@ -102,17 +114,16 @@ export function uploadFileApi(data: FormData) {
// 更新文件名
export function updateFileNameApi(fileId: string, newName: string) {
return request({
url: `/knowledge/update-filename/${fileId}`,
url: `/knowledge/update-file-name/${fileId}`,
method: 'put',
data: { newName },
data: { name: newName },
})
}
// 预览文件
export function previewFileApi(fileId: string) {
return request<Blob>({
return request({
url: `/knowledge/preview/${fileId}`,
method: 'get',
responseType: 'blob',
})
}

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

@ -737,26 +737,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',
@ -1051,6 +1032,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'
} from '@/apis/bussiness'
//
const folderList = ref([]);

View File

@ -1,33 +1,27 @@
{
"extends": "@vue/tsconfig/tsconfig.web.json",
"compilerOptions": {
// "preserveValueImports": true, //
// "importsNotUsedAsValues": "error", //
"target": "ES2020",
"jsx": "preserve",
"lib": ["ES2020", "DOM"],
"useDefineForClassFields": true, // web
"baseUrl": ".",
// @vue/tsconfig/tsconfig.json
"module": "ES2020", //
"moduleResolution": "node", //
"target": "ES2020", // ECMAScript : 'ES3' (default), 'ES5', 'ES6'/'ES2015', 'ES2016', 'ES2017', or 'ESNEXT'
"jsx": "preserve", // jsx : 'preserve', 'react-native', or 'react'
"jsxFactory": "h", // 使JSXJSX.jsReact.createElement
"jsxFragmentFactory": "Fragment", // JSX jsxFactory react JSX 使 使: 'commonjs', 'amd', 'system', 'umd' or 'es2015'
"lib": ["ES2020", "DOM"], //
"baseUrl": ".", //
"module": "ES2020", //
"moduleResolution": "node", // 'node' (Node.js) or 'classic' (TypeScript pre-1.6)
"paths": {
"@/*": ["src/*"]
}, //
"resolveJsonModule": true, // web
"types": [],
"allowJs": true,
"checkJs": true,
"strict": true,
"@/*": ["src/*"] // baseUrl
},
"resolveJsonModule": true, // JSON
"allowJs": true, // javascript
"checkJs": true, // javascript
"strict": true, //
"noImplicitAny": false,
"noImplicitThis": true,
"sourceMap": true, //
"esModuleInterop": true,
"forceConsistentCasingInFileNames": true,
"isolatedModules": true,
"verbatimModuleSyntax": true,
"skipLibCheck": true,
"ignoreDeprecations": "5.0"
"sourceMap": true, // Mapfalse
"esModuleInterop": true, // CommonJSESallowSyntheticDefaultImportsfalse
"skipLibCheck": true, // false
"ignoreDeprecations": "5.0" // importsNotUsedAsValues TypeScript 5.5 compilerOption "ignoreprecations ": "5.0" 使 verbatimModuleSyntax
},
"include": ["src/**/*", "src/**/*.vue", "vite.config.ts"],
"exclude": ["node_modules", "dist", "**/*.js"]
"include": ["src/**/*", "src/**/*.vue", "vite.config.ts"], //
"exclude": ["node_modules", "dist", "**/*.js"] //
}