From f9593fc050b729b8700a635eb4251b63289042db Mon Sep 17 00:00:00 2001 From: wizardchen Date: Tue, 30 Dec 2025 11:37:30 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=94=AF=E6=8C=81=E5=88=97=E5=87=BAMin?= =?UTF-8?q?IO=20=E5=AD=98=E5=82=A8=E6=A1=B6=E5=8F=8A=E6=9D=83=E9=99=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/api/system/index.ts | 14 +++ frontend/src/i18n/locales/en-US.ts | 8 +- frontend/src/i18n/locales/zh-CN.ts | 8 +- .../knowledge/settings/KBAdvancedSettings.vue | 89 ++++++++++++++- internal/handler/system.go | 106 ++++++++++++++++++ internal/router/router.go | 1 + 6 files changed, 220 insertions(+), 6 deletions(-) diff --git a/frontend/src/api/system/index.ts b/frontend/src/api/system/index.ts index 9063b6f6..24c5e1c5 100644 --- a/frontend/src/api/system/index.ts +++ b/frontend/src/api/system/index.ts @@ -96,3 +96,17 @@ export function updateConversationConfig(config: ConversationConfig): Promise<{ export function getPromptTemplates(): Promise<{ data: PromptTemplatesConfig }> { return get('/api/v1/tenants/kv/prompt-templates') } + +export interface MinioBucketInfo { + name: string + policy: 'public' | 'private' | 'custom' + created_at?: string +} + +export interface ListMinioBucketsResponse { + buckets: MinioBucketInfo[] +} + +export function listMinioBuckets(): Promise<{ data: ListMinioBucketsResponse }> { + return get('/api/v1/system/minio/buckets') +} diff --git a/frontend/src/i18n/locales/en-US.ts b/frontend/src/i18n/locales/en-US.ts index 827f8daa..73b509d8 100755 --- a/frontend/src/i18n/locales/en-US.ts +++ b/frontend/src/i18n/locales/en-US.ts @@ -1270,7 +1270,13 @@ export default { minio: { bucketLabel: 'Bucket Name', bucketDescription: 'Name of the MinIO bucket (required)', - bucketPlaceholder: 'Enter bucket name (required)', + bucketPlaceholder: 'Select or enter bucket name', + bucketHint: 'Select an existing bucket with public read access, or enter a new name to create automatically', + policyLabels: { + public: 'Public Read', + private: 'Private', + custom: 'Custom' + }, useSslLabel: 'Use SSL', useSslDescription: 'Whether to use SSL connection', pathPrefixLabel: 'Path Prefix', diff --git a/frontend/src/i18n/locales/zh-CN.ts b/frontend/src/i18n/locales/zh-CN.ts index de441f69..ae8f26e5 100755 --- a/frontend/src/i18n/locales/zh-CN.ts +++ b/frontend/src/i18n/locales/zh-CN.ts @@ -1621,7 +1621,13 @@ export default { minio: { bucketLabel: "Bucket 名称", bucketDescription: "MinIO 存储桶名称(必填)", - bucketPlaceholder: "请输入 Bucket 名称(必填)", + bucketPlaceholder: "选择或输入 Bucket 名称", + bucketHint: "选择已存在的公有读权限 Bucket,或输入新名称将自动创建", + policyLabels: { + public: "公有读", + private: "私有", + custom: "自定义" + }, useSslLabel: "使用 SSL", useSslDescription: "是否使用 SSL 连接", pathPrefixLabel: "路径前缀", diff --git a/frontend/src/views/knowledge/settings/KBAdvancedSettings.vue b/frontend/src/views/knowledge/settings/KBAdvancedSettings.vue index f4a4011c..6b26824d 100644 --- a/frontend/src/views/knowledge/settings/KBAdvancedSettings.vue +++ b/frontend/src/views/knowledge/settings/KBAdvancedSettings.vue @@ -110,14 +110,51 @@

{{ $t('knowledgeEditor.advanced.multimodal.minio.bucketDescription') }}

+
-
- + + > + +
+ {{ bucket.name }} + + {{ $t(`knowledgeEditor.advanced.multimodal.minio.policyLabels.${bucket.policy}`) }} + +
+
+
+ + +
@@ -252,9 +289,10 @@