From 89ad56744b00c833773a64255711cb1cc38a05f4 Mon Sep 17 00:00:00 2001 From: wangdan-fit2cloud Date: Tue, 17 Jun 2025 18:11:35 +0800 Subject: [PATCH] feat: lark knowledge --- ui/src/api/knowledge/knowledge.ts | 32 +++++------ ui/src/api/shared/knowledge.ts | 53 ++++++++----------- ui/src/views/knowledge/component/BaseForm.vue | 2 +- .../CreateKnowledgeDialog.vue | 2 +- .../CreateLarkKnowledgeDialog.vue | 40 ++++++++------ .../knowledge-shared/component/BaseForm.vue | 2 +- .../CreateLarkKnowledgeDialog.vue | 12 ++--- 7 files changed, 66 insertions(+), 77 deletions(-) diff --git a/ui/src/api/knowledge/knowledge.ts b/ui/src/api/knowledge/knowledge.ts index 18c064f0..4cc399cf 100644 --- a/ui/src/api/knowledge/knowledge.ts +++ b/ui/src/api/knowledge/knowledge.ts @@ -13,21 +13,6 @@ Object.defineProperty(prefix, 'value', { }, }) -/** - * 获得知识库文件夹列表 - * @params 参数 - * {folder_id: string, - * name: string, - * user_id: string, - * desc: string,} - */ -const getKnowledgeByFolder: (data?: any, loading?: Ref) => Promise>> = ( - data, - loading, -) => { - return get(`${prefix.value}`, data, loading) -} - /** * 知识库列表(无分页) * @param 参数 @@ -212,7 +197,7 @@ const postKnowledge: (data: knowledgeData, loading?: Ref) => Promise) => Promise>> = (loading) => { @@ -255,6 +239,7 @@ const postWebKnowledge: (data: any, loading?: Ref) => Promise) => Promise>> = ( data, loading, @@ -262,8 +247,15 @@ const postLarkKnowledge: (data: any, loading?: Ref) => Promise +) => Promise> = (knowledge_id, data, loading) => { + return put(`${prefix}/lark/${knowledge_id}`, data, undefined, loading) +} + export default { - getKnowledgeByFolder, getKnowledgeList, getKnowledgeListPage, getKnowledgeDetail, @@ -278,6 +270,6 @@ export default { postKnowledge, getKnowledgeModel, postWebKnowledge, - postLarkKnowledge, + putLarkKnowledge } diff --git a/ui/src/api/shared/knowledge.ts b/ui/src/api/shared/knowledge.ts index a6df3fcc..a8ef430c 100644 --- a/ui/src/api/shared/knowledge.ts +++ b/ui/src/api/shared/knowledge.ts @@ -4,22 +4,7 @@ import { type Ref } from 'vue' import type { pageRequest } from '@/api/type/common' import type { knowledgeData } from '@/api/type/knowledge' -const prefix = '/system/shared' - -/** - * 获得知识库文件夹列表 - * @params 参数 - * {folder_id: string, - * name: string, - * user_id: string, - * desc: string,} - */ -const getKnowledgeByFolder: (data?: any, loading?: Ref) => Promise>> = ( - data, - loading, -) => { - return get(`${prefix}/knowledge`, data, loading) -} +const prefix = '/system/shared/knowledge' /** * 知识库列表(无分页) @@ -35,7 +20,7 @@ const getKnowledgeList: (param?: any, loading?: Ref) => Promise { - return get(`${prefix}/knowledge`, param, loading) + return get(`${prefix}`, param, loading) } /** @@ -53,7 +38,7 @@ const getKnowledgeListPage: ( param?: any, loading?: Ref, ) => Promise> = (page, param, loading) => { - return get(`${prefix}/knowledge/${page.current_page}/${page.page_size}`, param, loading) + return get(`${prefix}/${page.current_page}/${page.page_size}`, param, loading) } /** @@ -64,7 +49,7 @@ const getKnowledgeDetail: (knowledge_id: string, loading?: Ref) => Prom knowledge_id, loading, ) => { - return get(`${prefix}/knowledge/${knowledge_id}`, undefined, loading) + return get(`${prefix}/${knowledge_id}`, undefined, loading) } /** @@ -81,7 +66,7 @@ const putKnowledge: ( data: any, loading?: Ref, ) => Promise> = (knowledge_id, data, loading) => { - return put(`${prefix}/knowledge/${knowledge_id}`, data, undefined, loading) + return put(`${prefix}/${knowledge_id}`, data, undefined, loading) } /** @@ -103,7 +88,7 @@ const putReEmbeddingKnowledge: ( knowledge_id: string, loading?: Ref, ) => Promise> = (knowledge_id, loading) => { - return put(`${prefix}/knowledge/${knowledge_id}/embedding`, undefined, undefined, loading) + return put(`${prefix}/${knowledge_id}/embedding`, undefined, undefined, loading) } /** @@ -119,7 +104,7 @@ const exportKnowledge: ( ) => Promise = (knowledge_name, knowledge_id, loading) => { return exportExcel( knowledge_name + '.xlsx', - `${prefix}/${knowledge_id}/knowledge/${knowledge_id}/export`, + `${prefix}/${knowledge_id}/export`, undefined, loading, ) @@ -138,7 +123,7 @@ const exportZipKnowledge: ( ) => Promise = (knowledge_name, knowledge_id, loading) => { return exportFile( knowledge_name + '.zip', - `${prefix}/${knowledge_id}/knowledge/${knowledge_id}/export_zip`, + `${prefix}/${knowledge_id}/export_zip`, undefined, loading, ) @@ -184,7 +169,7 @@ const putSyncWebKnowledge: ( sync_type: string, loading?: Ref, ) => Promise> = (knowledge_id, sync_type, loading) => { - return put(`${prefix}/knowledge/${knowledge_id}/sync`, undefined, { sync_type }, loading) + return put(`${prefix}/${knowledge_id}/sync`, undefined, { sync_type }, loading) } /** @@ -201,7 +186,7 @@ const postKnowledge: (data: knowledgeData, loading?: Ref) => Promise { - return post(`${prefix}/knowledge/base`, data, undefined, loading, 1000 * 60 * 5) + return post(`${prefix}/base`, data, undefined, loading, 1000 * 60 * 5) } /** @@ -226,7 +211,7 @@ const getKnowledgeEmdeddingModel: ( * @returns */ const getKnowledgeModel: (loading?: Ref) => Promise>> = (loading) => { - return get(`${prefix}/knowledge/model`, loading) + return get(`${prefix}/model`, loading) } /** @@ -245,17 +230,25 @@ const postWebKnowledge: (data: any, loading?: Ref) => Promise { - return post(`${prefix}/knowledge/web`, data, undefined, loading) + return post(`${prefix}/web`, data, undefined, loading) } const postLarkKnowledge: (data: any, loading?: Ref) => Promise>> = ( data, loading, ) => { - return post(`${prefix}/knowledge/lark/save`, data, null, loading) + return post(`${prefix}/lark/save`, data, null, loading) } +const putLarkKnowledge: ( + knowledge_id: string, + data: any, + loading?: Ref +) => Promise> = (knowledge_id, data, loading) => { + return put(`${prefix}/lark/${knowledge_id}`, data, undefined, loading) +} + + export default { - getKnowledgeByFolder, getKnowledgeList, getKnowledgeListPage, getKnowledgeDetail, @@ -270,8 +263,8 @@ export default { postKnowledge, getKnowledgeModel, postWebKnowledge, - postLarkKnowledge, + putLarkKnowledge } as { [key: string]: any } diff --git a/ui/src/views/knowledge/component/BaseForm.vue b/ui/src/views/knowledge/component/BaseForm.vue index 52d222ad..ca4f1eae 100644 --- a/ui/src/views/knowledge/component/BaseForm.vue +++ b/ui/src/views/knowledge/component/BaseForm.vue @@ -29,7 +29,7 @@ { } KnowledgeApi.postKnowledge(obj, loading).then((res) => { MsgSuccess(t('common.createSuccess')) - // router.push({ path: `/knowledge/${res.data.id}/${currentFolder.value.id}/document` }) + router.push({ path: `/knowledge/${res.data.id}/${currentFolder.value.id}/document` }) emit('refresh') }) } else { diff --git a/ui/src/views/knowledge/create-component/CreateLarkKnowledgeDialog.vue b/ui/src/views/knowledge/create-component/CreateLarkKnowledgeDialog.vue index 6a7eea7e..561e4ac4 100644 --- a/ui/src/views/knowledge/create-component/CreateLarkKnowledgeDialog.vue +++ b/ui/src/views/knowledge/create-component/CreateLarkKnowledgeDialog.vue @@ -10,21 +10,21 @@ (false) +const currentFolder = ref(null) -const datasetForm = ref({ +const knowledgeForm = ref({ type: '0', source_url: '', selector: '', @@ -124,29 +125,34 @@ const rules = reactive({ watch(dialogVisible, (bool) => { if (!bool) { - datasetForm.value = { + knowledgeForm.value = { type: '0', source_url: '', selector: '', } - DatasetFormRef.value?.clearValidate() + knowledgeFormRef.value?.clearValidate() } }) -const open = () => { +const open = (folder: string) => { + currentFolder.value = folder dialogVisible.value = true } const submitHandle = async () => { if (await BaseFormRef.value?.validate()) { - await DatasetFormRef.value.validate((valid: any) => { + await knowledgeFormRef.value.validate((valid: any) => { if (valid) { - const obj = { ...BaseFormRef.value.form, ...datasetForm.value } - // KnowledgeApi.postLarkKnowledge(obj, loading).then((res) => { - // MsgSuccess(t('common.createSuccess')) - // router.push({ path: `/knowledge/${res.data.id}/document` }) - // emit('refresh') - // }) + const obj = { + folder_id: currentFolder.value?.id, + ...BaseFormRef.value.form, + ...knowledgeForm.value, + } + KnowledgeApi.postLarkKnowledge(obj, loading).then((res: any) => { + MsgSuccess(t('common.createSuccess')) + router.push({ path: `/knowledge/${res.data.id}/${currentFolder.value.id}/document` }) + emit('refresh') + }) } else { return false } diff --git a/ui/src/views/shared/knowledge-shared/component/BaseForm.vue b/ui/src/views/shared/knowledge-shared/component/BaseForm.vue index a653e927..09104926 100644 --- a/ui/src/views/shared/knowledge-shared/component/BaseForm.vue +++ b/ui/src/views/shared/knowledge-shared/component/BaseForm.vue @@ -29,7 +29,7 @@ { await KnowledgeFormRef.value.validate((valid: any) => { if (valid) { const obj = { ...BaseFormRef.value.form, ...datasetForm.value } - KnowledgeApi.postLarkKnowledge({ ...obj, embedding_model_id: obj.embedding }, loading).then( - (res: any) => { - MsgSuccess(t('common.createSuccess')) - router.push({ path: `/knowledge/${res.data.id}/document` }) - emit('refresh') - }, - ) + KnowledgeApi.postLarkKnowledge(obj, loading).then((res: any) => { + MsgSuccess(t('common.createSuccess')) + router.push({ path: `/knowledge/${res.data.id}/document` }) + emit('refresh') + }) } else { return false }