From bb38f1a2bb2c71ed09d409f2636a41c8b5f0d4c3 Mon Sep 17 00:00:00 2001 From: zhangzhanwei Date: Thu, 2 Apr 2026 13:42:55 +0800 Subject: [PATCH] feat: Share and system knowledge export button --- apps/locales/en_US/LC_MESSAGES/django.po | 6 ++++++ apps/locales/zh_CN/LC_MESSAGES/django.po | 6 ++++++ apps/locales/zh_Hant/LC_MESSAGES/django.po | 6 ++++++ .../system-resource-management/knowledge.ts | 21 +++++++++++++++++++ ui/src/api/system-shared/knowledge.ts | 21 +++++++++++++++++++ .../KnowledgeResourceIndex.vue | 13 ++++++++++++ 6 files changed, 73 insertions(+) diff --git a/apps/locales/en_US/LC_MESSAGES/django.po b/apps/locales/en_US/LC_MESSAGES/django.po index 8527ad2ae8d..81a636203f5 100644 --- a/apps/locales/en_US/LC_MESSAGES/django.po +++ b/apps/locales/en_US/LC_MESSAGES/django.po @@ -9224,5 +9224,11 @@ msgstr "Export knowledge bundle" msgid "Import knowledge bundle" msgstr "Import knowledge bundle" +msgid "Export system knowledge bundle" +msgstr "Export system knowledge bundle" + +msgid "Export shared knowledge bundle" +msgstr "Export shared knowledge bundle" + diff --git a/apps/locales/zh_CN/LC_MESSAGES/django.po b/apps/locales/zh_CN/LC_MESSAGES/django.po index a452c30e1d9..1207df47c81 100644 --- a/apps/locales/zh_CN/LC_MESSAGES/django.po +++ b/apps/locales/zh_CN/LC_MESSAGES/django.po @@ -9347,3 +9347,9 @@ msgstr "导出知识库" msgid "Import knowledge bundle" msgstr "导入知识库" +msgid "Export system knowledge bundle" +msgstr "导出系统知识库" + +msgid "Export shared knowledge bundle" +msgstr "导出共享知识库" + diff --git a/apps/locales/zh_Hant/LC_MESSAGES/django.po b/apps/locales/zh_Hant/LC_MESSAGES/django.po index 98b3e00c75c..482e74a1025 100644 --- a/apps/locales/zh_Hant/LC_MESSAGES/django.po +++ b/apps/locales/zh_Hant/LC_MESSAGES/django.po @@ -9344,3 +9344,9 @@ msgstr "匯出知識庫" msgid "Import knowledge bundle" msgstr "匯入知識庫" +msgid "Export system knowledge bundle" +msgstr "匯出系統知識庫" + +msgid "Export shared knowledge bundle" +msgstr "匯出共享知識庫" + diff --git a/ui/src/api/system-resource-management/knowledge.ts b/ui/src/api/system-resource-management/knowledge.ts index 4da753dc79b..ba58294c689 100644 --- a/ui/src/api/system-resource-management/knowledge.ts +++ b/ui/src/api/system-resource-management/knowledge.ts @@ -128,6 +128,26 @@ const exportZipKnowledge: ( ) } +/** + * 导出知识库 + * @param knowledge_name + * @param knowledge_id + * @param loading + * @returns + */ +const exportKnowledgeBundle: ( + knowledge_name: string, + knowledge_id: string, + loading?: Ref, +) => Promise = (knowledge_name, knowledge_id, loading) => { + return exportFile( + knowledge_name + '.zip', + `${prefix}/${knowledge_id}/export_knowledge`, + undefined, + loading + ) +} + /** * 生成关联问题 * @param knowledge_id 知识库id @@ -428,6 +448,7 @@ export default { exportKnowledgeWorkflow, importKnowledgeWorkflow, postTransformWorkflow, + exportKnowledgeBundle } as { [key: string]: any } diff --git a/ui/src/api/system-shared/knowledge.ts b/ui/src/api/system-shared/knowledge.ts index 8ea8d2e0a4b..e5afa303caf 100644 --- a/ui/src/api/system-shared/knowledge.ts +++ b/ui/src/api/system-shared/knowledge.ts @@ -129,6 +129,26 @@ const exportZipKnowledge: ( ) } +/** + * 导出知识库 + * @param knowledge_name + * @param knowledge_id + * @param loading + * @returns + */ +const exportKnowledgeBundle: ( + knowledge_name: string, + knowledge_id: string, + loading?: Ref, +) => Promise = (knowledge_name, knowledge_id, loading) => { + return exportFile( + knowledge_name + '.zip', + `${prefix}/${knowledge_id}/export_knowledge`, + undefined, + loading, + ) +} + /** * 生成关联问题 * @param knowledge_id 知识库id @@ -498,6 +518,7 @@ export default { importKnowledgeWorkflow, getMcpTools, postTransformWorkflow, + exportKnowledgeBundle } as { [key: string]: any } diff --git a/ui/src/views/system-resource-management/KnowledgeResourceIndex.vue b/ui/src/views/system-resource-management/KnowledgeResourceIndex.vue index cdccb5c270b..f3ad633efbb 100644 --- a/ui/src/views/system-resource-management/KnowledgeResourceIndex.vue +++ b/ui/src/views/system-resource-management/KnowledgeResourceIndex.vue @@ -255,6 +255,13 @@ {{ $t('views.document.setting.export') }} ZIP + + + {{ $t('views.document.setting.export') }} {{ $t('views.knowledge.title') }} + { }) } +const exportKnowledgeBundle = (item: any) => { + KnowledgeResourceApi.exportKnowledgeBundle(item.name, item.id, loading).then(() => { + MsgSuccess(t('common.exportSuccess')) + }) +} + function deleteKnowledge(row: any) { MsgConfirm( `${t('views.knowledge.delete.confirmTitle')}${row.name} ?`,