refactor(quality): Q8 前端巨型组件拆分 — SystemSettingsTab 754L→173L (-77%), 提取通用/安全/LDAP 3 个独立子 Tab 组件

- GeneralSettingsTab.tsx (154L): 通用设置 Tab(审计策略 + 系统信息)
- SecuritySettingsTab.tsx (309L): 安全设置 Tab(安全策略 + 会话设置 9 项开关)
- LdapSettingsTab.tsx (243L): LDAP 设置 Tab(配置表单 + 管理区转发)
- 主文件仅保留 Props 接口 + Tab 路由 + 分发逻辑(173L)
- 每个子 Tab 用 Pick<SystemSettingsTabProps,...> 精确声明 props 子集
- tsc -b=0, npm build✓(17.71s), ESLint errors=0/warnings=59(无新增)
- 17/17 集成回归测试通过, Docker 部署 healthy
This commit is contained in:
attacker committed 2026-07-07 01:05:07 +08:00
1 parent 2cc5ad719b
commit 8a4dfb0db6
7 files changed
+797 -589

No files matched your search

+51
View File
@@ -1151,3 +1151,54 @@ python3 /srv/aiops/tests/integration_test.py --host 127.0.0.1 --port 8080 | tail
- [x] U6: `npm run build` 零错误(✓ built in 17.50s)
- [x] U7: ESLint errors=0(无新增)
- [x] U8: 17/17 集成回归测试通过(零回归)
---
## P0-Q8: 前端巨型组件拆分 — SystemSettingsTab
### 验证用例
```bash
# U1: 主文件行数
wc -l /srv/aiops/frontend/src/components/system/SystemSettingsTab.tsx
# 期望: < 200 行
# U2: 子 Tab 文件存在
ls -la /srv/aiops/frontend/src/components/system/system-settings/
# 期望: GeneralSettingsTab.tsx, SecuritySettingsTab.tsx, LdapSettingsTab.tsx
# U3: TypeScript 编译零错误
cd /srv/aiops/frontend && npx tsc -b 2>&1 | grep 'error TS' | wc -l
# 期望: 0
# U4: Vite 构建
npm run build 2>&1 | tail -1
# 期望: built in Ns
# U5: ESLint 无新增 errors
npx eslint src/components/system/SystemSettingsTab.tsx src/components/system/system-settings/ --format json 2>/dev/null | python3 -c "
import json, sys
data = json.load(sys.stdin)
errors = sum(1 for r in data for m in r.get('messages', []) if m.get('severity') == 2)
assert errors == 0, f'{errors} errors'
print('✅ ESLint errors=0')
"
# U6: go build
cd /srv/aiops/backend && go build ./...
# 期望: 零错误
# U7: 集成回归
python3 /srv/aiops/tests/integration_test.py --host 127.0.0.1 --port 8080 | tail -3
# 期望: 17/17 passed
```
### 通过标准
- [x] U1: SystemSettingsTab.tsx 从 754 行降至 **173 行**(< 200 ✅)
- [x] U2: 3 个子 Tab 文件全部存在(GeneralSettingsTab/SecuritySettingsTab/LdapSettingsTab)
- [x] U3: `tsc -b` 零错误
- [x] U4: `npm run build` 零错误(✓ built in 17.71s)
- [x] U5: ESLint errors 保持 **0**(无新增)
- [x] U6: `go build` 零错误
- [x] U7: 17/17 集成回归测试通过(零回归)