From bcff977d3867ee4f346e3a73e918b4cbb757e1e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E6=98=B1=E8=BE=BE?= Date: Mon, 14 Apr 2025 21:18:56 +0800 Subject: [PATCH] =?UTF-8?q?feat(knowledge):=20=E5=AE=9E=E7=8E=B0=E7=9F=A5?= =?UTF-8?q?=E8=AF=86=E5=BA=93=E6=96=87=E4=BB=B6=E4=B8=8A=E4=BC=A0=E5=92=8C?= =?UTF-8?q?=E9=A2=84=E5=A4=84=E7=90=86=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增文件上传接口和相关组件 - 实现文件上传、预处理和保存功能 - 添加预处理结果预览功能 -优化知识库详情展示,增加文件内容和关键词显示 - 实现知识库文件删除功能 - TODO 拆分的文档展示 还需要调整 可能会把tags 放在标题上 需要修改样式 --- src/api/generatedApi/index.js | 44 ++++++++- src/assets/js/utils/request.js | 16 ++-- src/assets/js/utils/utilOptions.js | 22 +++++ src/components/RenderMinerU/index.vue | 57 +++++++++--- .../detail/components/preprocessing.vue | 54 ++++++++--- src/views/knowledge/detail/create.vue | 35 ++++--- src/views/knowledge/detail/index.vue | 92 ++++++++++++++++--- 7 files changed, 263 insertions(+), 57 deletions(-) diff --git a/src/api/generatedApi/index.js b/src/api/generatedApi/index.js index 447a2a4..7a216d0 100644 --- a/src/api/generatedApi/index.js +++ b/src/api/generatedApi/index.js @@ -56,6 +56,15 @@ export function minerUBbox(params) { params: params }) } +//minerU 获取文档处理状态 +export function minerUQuery(params) { + return request({ + url: getUrl('/dataset/document/query'), + method: 'get', + params: params, + noLoading: true + }) +} //minerU 获取markdown export function minerUMarkDown(params) { return getUrl(`document/mineru/md?documentId=${params.documentId}`) @@ -139,9 +148,40 @@ export function updateRuleExtractSplit(data) { //知识库文件上传-自定义 export function uploadFileByCustom(data) { - return getUrl(`/datasetDocumentEx/uploadFileByCustom`, 'jifen') + return request({ + url: getUrl(`/datasetDocumentEx/uploadFileByCustom`), + method: 'post', + data, + headers: { + 'Content-Type': 'multipart/form-data' + } + }) } //知识库文件上传-通用 export function uploadFileByTemplate(data) { - return getUrl(`/datasetDocumentEx/uploadFileByTemplate`, 'jifen') + return request({ + url: getUrl(`/datasetDocumentEx/uploadFileByTemplate`), + method: 'post', + data, + headers: { + 'Content-Type': 'multipart/form-data' + } + }) +} + +// 知识库文件详情 +export function datasetQuerySegments(data) { + return request({ + url: getUrl(`/datasetDocumentEx/querySegments`, 'jifen'), + method: 'get', + params: data + }) +} +// 知识库文件删除 +export function datasetQueryDelete(data) { + return request({ + url: getUrl(`/datasetDocumentEx/delete?documentId=${data.id}`, 'jifen'), + method: 'delete', + data + }) } diff --git a/src/assets/js/utils/request.js b/src/assets/js/utils/request.js index df9485a..f2e80c3 100644 --- a/src/assets/js/utils/request.js +++ b/src/assets/js/utils/request.js @@ -18,7 +18,9 @@ function startLoading() { } function endLoading() { //使用Element loading-close 方法 - loading.close() + if (loading) { + loading.close() + } } // request interceptor @@ -32,9 +34,11 @@ service.interceptors.request.use( if (loading) { endLoading() } + + console.log(config.noLoading) //linkage 接口 // config.type 可以从api的接口地址定义 可以不触发loading - if (config.type != false) { + if (config.noLoading != true) { startLoading() } return config @@ -48,7 +52,7 @@ service.interceptors.response.use( response => { const res = response.data endLoading() - if(!res.content){ + if (!res.content) { Message({ message: res.message, type: 'error', @@ -75,7 +79,7 @@ service.interceptors.response.use( }) } else { Message({ - message: res.content.message || 'Error', + message: res.content.message || res.content.resultMessage || 'Error', type: 'error', duration: 5 * 1000 }) @@ -91,8 +95,8 @@ service.interceptors.response.use( return false } else { res.content.result = '0' - res.result = String(res.result?res.result:0) - res.code = String(res.code ? res.code: 0 ) + res.result = String(res.result ? res.result : 0) + res.code = String(res.code ? res.code : 0) return res } } diff --git a/src/assets/js/utils/utilOptions.js b/src/assets/js/utils/utilOptions.js index fb69665..901a466 100644 --- a/src/assets/js/utils/utilOptions.js +++ b/src/assets/js/utils/utilOptions.js @@ -8,3 +8,25 @@ export const documentSourceOptions = [ value: '1' } ] + +export const segmentedModeOptions = [ + { + label: '传统分段模式', + value: '0' + }, + { + label: 'Q&A分段模式', + value: '1' + } +] + +export const segmentedModeOptionsMap = [ + { + label: '是', + value: '0' + }, + { + label: '否', + value: '1' + } +] diff --git a/src/components/RenderMinerU/index.vue b/src/components/RenderMinerU/index.vue index 1da3a0b..8d820d8 100644 --- a/src/components/RenderMinerU/index.vue +++ b/src/components/RenderMinerU/index.vue @@ -1,8 +1,7 @@ - +