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() {
)}
+ + )} +
);