From 8bd323cc73ac7823d8c44eca59479c11d90bb2a5 Mon Sep 17 00:00:00 2001 From: "Logan.Li" Date: Tue, 27 Oct 2026 14:33:21 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E7=B3=BB=E7=BB=9F=E8=AE=BE?= =?UTF-8?q?=E7=BD=AE=E6=8B=86=E5=88=86=E9=A1=B6=E9=83=A8=20Tab=20=E5=88=86?= =?UTF-8?q?=E9=A1=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 4 个 Tab:通用(外观主题+通知+语言区域)/ AI 助手 / 消息通知 / 用户目录(LDAP),复用编辑器 TopBar 下划线样式 - AI/消息通知/用户目录 Tab 标题带启用状态小圆点(绿=已启用) - 原「保存设置/恢复默认」按钮移入通用 Tab(只作用于外观与通知) - 内容区只渲染当前 Tab 卡片,纯布局重构,表单逻辑不变 --- frontend/src/pages/SystemSettings.tsx | 78 ++++++++++++++++++++++----- 1 file changed, 65 insertions(+), 13 deletions(-) diff --git a/frontend/src/pages/SystemSettings.tsx b/frontend/src/pages/SystemSettings.tsx index c49b0fa..4a6f40c 100644 --- a/frontend/src/pages/SystemSettings.tsx +++ b/frontend/src/pages/SystemSettings.tsx @@ -261,6 +261,21 @@ export default function SystemSettings() { toast.info('已恢复默认设置', { description: '仅本地重置,点击「保存设置」后生效' }); }; + // 顶部 Tab 分页:通用 / AI 助手 / 消息通知 / 用户目录 + type SettingsTab = 'general' | 'ai' | 'notify' | 'directory'; + const [activeTab, setActiveTab] = useState('general'); + + const aiOn = !!settings?.llmEnabled && !!settings?.llmApiKeySet; + const larkOn = !!settings?.larkEnabled && !!settings?.larkWebhook; + const ldapOn = !!settings?.ldapEnabled && !!settings?.ldapHost && !!settings?.ldapBindDN && !!settings?.ldapBaseDN; + + const tabs: { id: SettingsTab; label: string; dot?: boolean | null }[] = [ + { id: 'general', label: '通用' }, + { id: 'ai', label: 'AI 助手', dot: aiOn }, + { id: 'notify', label: '消息通知', dot: larkOn }, + { id: 'directory', label: '用户目录', dot: ldapOn }, + ]; + return (
{/* Header */} @@ -273,21 +288,44 @@ export default function SystemSettings() { )}
-
-
+ + {/* Tab 栏(与流水线编辑器 TopBar 同款下划线样式) */} +
+ {tabs.map((t) => ( + - -
+ ))} {/* Content */}
+ {activeTab === 'general' && ( + <> + {/* 外观主题保存/恢复操作 */} +
+ + +
{/* Appearance */}
@@ -478,10 +516,13 @@ export default function SystemSettings() {

语言与时区暂未生效,仅作展示

-
+ + )} + {activeTab === 'ai' && ( + <> {/* AI 助手配置 */} -
+
AI 助手(智能发布) @@ -555,9 +596,13 @@ export default function SystemSettings() {
+ + )} + {activeTab === 'notify' && ( + <> {/* 飞书 / Lark 通知 */} -
+
飞书 / Lark 群通知 @@ -593,9 +638,13 @@ export default function SystemSettings() {
+ + )} + {activeTab === 'directory' && ( + <> {/* LDAP 目录服务 */} -
+
LDAP 目录服务 @@ -693,6 +742,9 @@ export default function SystemSettings() {
)}
+ + )} +
);