feat: 5种专业登录页风格 + 外观设置 + 文档全面更新

- 新增 5 种登录页组件: SplitView/CenteredCard/SidePanel/FullImage/MinimalDark
- 提取 useLogin hook 共享登录逻辑
- LoginPage 改为风格分发器, localStorage(login-style) 控制渲染
- SettingsPage 新增外观设置 tab: 主题切换 + 登录风格选择器(含缩略图预览)
- AppearanceSettings 组件: 5 种风格卡片式切换
- 文档全面更新为 Go/Gin 架构:
  - ARCHITECTURE.md: Go 项目结构/handler/GORM 模型/中间件/LDAP/驱动矩阵
  - FEATURES.md: v0.3.1 功能清单含登录主题系统
  - ROADMAP.md: Python→Go 迁移历史 + Sprint 计划
This commit is contained in:
logan committed 2026-05-26 21:16:36 +08:00
1 parent f2e93a09c0
commit 14e394fb09
12 files changed
+1147 -639

No files matched your search

+103 -53
View File
@@ -1,63 +1,113 @@
# SQL-Platform-Pro 开发路线图
# SQL-Platform 开发路线图
> 更新时间: 2026-05-25
> 更新时间: 2026-05-26 | 当前版本: **v0.3.1** (Go/Gin 后端)
## 当前版本: v1.1 (开发中)
## 当前版本: v0.3.1
### 已完成里程碑
### Python → Go 迁移历程
|| 阶段 | 版本 | 测试数 | 关键交付 |
||------|------|--------|----------|
|| Phase 1 | v0.1.0 | 44 | 后端 API + TDD 测试 |
|| Phase 2 | v0.2.0 | 44 | 前后端集成 |
|| Phase 3 | v0.3.0 | 85 | AES 加密 + SQL 审核引擎 + 审计日志 |
|| Phase 4 | v0.4.0 | 128 | SQL AST + 规则 CRUD + Alembic + Docker |
|| Phase 5 | v0.5.0 | 128 | run.sh 运维 + DBConnector + CI/CD |
|| Phase 6 | v0.6.0 | 298 | Redis/MongoDB + 权限组 + 多步审批流 |
|| Phase 7 | v0.7.0 | 475 | 多数据库查询/执行引擎 + SQL 助手 |
|| Phase 8 | v0.8.0 | 700 | P2 高级功能测试 + endpoint 修复 |
|| Phase 9 | v0.9.0 | 829 | P0 安全修复 — 实例访问控制全线接入权限组 |
|| Phase 10 | v0.9.5 | 877 | 公告 + Dashboard 测试 |
|| Phase 11 | v0.9.7 | 895 | 查询端点测试扩展 |
|| Phase 12 | v0.9.8 | 1017 | P2 测试覆盖 — user/pool/schema_drift |
|| Phase 13 | v0.9.9 | 1040 | 审核引擎优化 + 执行结果结构化 |
|| Merge | v1.0-merge | — | SQL平台代码 v1 优化包 (193 条审核规则 + 16 页面 UI) |
|| v1.0 | — | 1075 | 多数据库浏览 + Redis 树 + 权限体系统一 + 代码分割 |
|| **v1.1** 🆕 | — | 1075+ | **定时执行工单 + 日志自动清理 + SQL检测按钮 + 工单创建页重构 + SchemaSidebar 加宽 + 设置种子数据机制** |
| 阶段 | 版本 | 后端 | 关键交付 |
|------|------|------|----------|
| Phase 1 | v0.1.0 | Python/FastAPI | 后端 API + TDD 测试 |
| Phase 2 | v0.2.0 | Python/FastAPI | 前后端集成 |
| Phase 3 | v0.3.0 | Python/FastAPI | AES 加密 + SQL 审核引擎 + 审计日志 |
| Phase 4 | v0.4.0 | Python/FastAPI | SQL AST + 规则 CRUD + Alembic + Docker |
| Phase 5 | v0.5.0 | Python/FastAPI | run.sh 运维 + DBConnector + CI/CD |
| Phase 6 | v0.6.0 | Python/FastAPI | Redis/MongoDB + 权限组 + 多步审批流 |
| Phase 7 | v0.7.0 | Python/FastAPI | 多数据库查询/执行引擎 + SQL 助手 |
| Phase 8 | v0.8.0 | Python/FastAPI | P2 高级功能测试 + endpoint 修复 |
| Phase 9 | v0.9.0 | Python/FastAPI | P0 安全修复 — 实例访问控制全线接入权限组 |
| Phase 10 | v0.9.5 | Python/FastAPI | 公告 + Dashboard |
| Phase 11 | v0.9.9 | Python/FastAPI | 审核引擎优化 + 执行结果结构化 |
| Phase 12 | v1.0 | Python/FastAPI | 多数据库浏览 + Redis 树 + 权限体系统一 + 代码分割 |
| Phase 13 | v1.1 | Python/FastAPI | 定时执行工单 + 日志自动清理 + 设置种子 |
| **Migration** | **v0.3.0-go** | **Go/Gin** | **Python→Go 全量重写: Gin + GORM + 120+ 路由 + 25 模型** |
| **Current** | **v0.3.1** | **Go/Gin** | **5 种登录页主题 + Appearance 设置 + 审计员角色 + LDAP** |
### v1.1 新增功能详情
### v0.3.1 功能详情
|| 功能 | 说明 | 状态 |
||------|------|------|
|| 定时执行工单 | APScheduler + SQLite 持久化, scheduled_at 字段, SCHEDULED 状态 | ✅ |
|| 日志自动清理 | 6 项 cleanup 配置, cron 03:00, 预览/手动清理 API | ✅ |
|| SQL 检测按钮 | 提交前验证, 内容变化重置, 定时时间红色字体 | ✅ |
|| 工单创建页重构 | 三步向导→单页面一键提交, DB类型排序, 库表浏览面板 | ✅ |
|| SchemaSidebar 加宽 | grid-cols-5 (2:3), RedisTree onInsert prop | ✅ |
|| 设置种子数据机制 | settings_seeds.py, _ensure_settings, SETTING_GROUPS | ✅ |
| 功能 | 说明 | 状态 |
|------|------|------|
| Go/Gin 后端 | 完整替代 Python/FastAPI,Gin + GORM + SQLite | ✅ |
| CancelTicket/RollbackTicket | 独立处理器,工单取消/回滚 | ✅ |
| GetTicketTimeline/GetTicketApprovals | 工单时间线 + 审批记录 | ✅ |
| MySQL Instance Detail | 7 个端点 (databases/tables/schema/table_detail/processlist/status/users) | ✅ |
| Redis 9 个 Handler | info/dbsize/keys/key_detail/slowlog/clients/command/create_key/delete_key | ✅ |
| SQL 审核 | POST /tickets/audit | ✅ |
| SQL 格式化/分析 | POST /sql-assistant/format, /sql-assistant/analyze | ✅ |
| 字典/MongoDB stub | 桩端点预留 | ✅ |
| 工单状态: success | 完成(非 completed) | ✅ |
| 4 个种子用户 | admin/张三(dba)/老六(auditor)/路人甲(developer) | ✅ |
| auditor 角色 | 只读审计规则 + 工单 | ✅ |
| LDAP 集成 | 配置/测试/OU管理/用户管理/批量导入 | ✅ |
| 5 种登录页主题 🆕 | SplitView/CenteredCard/SidePanel/FullImage/MinimalDark | ✅ |
| Appearance 设置 🆕 | 主题切换 + 登录页风格选择 | ✅ |
| useLogin 共享 hook 🆕 | 统一登录逻辑,5 主题复用 | ✅ |
### 下一步计划
---
#### Sprint 1: 功能补全
- [ ] 通知页面完善 (渠道管理 + 模板管理)
- [ ] Redis 树共享组件抽取
- [ ] LDAP 认证对接
## Sprint 计划
#### Sprint 2: 质量提升
- [ ] 前端 Vitest 测试覆盖
- [ ] E2E 测试 (Playwright)
- [ ] 性能测试 (查询并发/工单并发)
### Sprint 1: 通知集成完善 (当前)
- [ ] 通知模板管理 UI 完善
- [ ] 通知事件绑定 (工单创建/审批/执行自动触发)
- [ ] 飞书/钉钉/企业微信/邮件 webhook 真实发送
- [ ] 通知发送失败重试机制
- [ ] 通知历史记录查看
### Sprint 2: E2E 测试
- [ ] Playwright E2E 测试框架搭建
- [ ] 登录流程 E2E (5 种主题覆盖)
- [ ] 工单创建-审批-执行全链路 E2E
- [ ] 查询执行 E2E (MySQL/PG/Redis)
- [ ] 用户管理 E2E (CRUD + 权限)
- [ ] Go 后端单元测试覆盖提升
- [ ] API 集成测试
### Sprint 3: 工作流 UI 优化
- [ ] 审批流可视化编辑器 (拖拽节点)
- [ ] 审批流步骤预览
- [ ] 工单时间线可视化
- [ ] 条件分支 UI 配置
- [ ] 审批转审 UI
- [ ] 超时设置可视化
### Sprint 4: 数据脱敏
- [ ] MaskingRule 模型激活 (已有 GORM 模型)
- [ ] 脱敏规则 CRUD UI
- [ ] 内置脱敏函数 (手机号/身份证/邮箱/银行卡)
- [ ] 查询结果自动脱敏
- [ ] 导出数据脱敏
- [ ] 脱敏规则测试预览
### Sprint 5: 生产部署
- [ ] PostgreSQL 生产元数据库支持 (替代 SQLite)
- [ ] Docker 多阶段构建 (Go 二进制 + Nginx 前端)
- [ ] docker-compose 生产配置
- [ ] 数据库备份/恢复
- [ ] 滚动更新策略
- [ ] HTTPS/TLS 配置
- [ ] 生产环境配置分离 (.env.production)
### Sprint 6: 监控与运维
- [ ] Prometheus 指标集成 (Gin middleware)
- [ ] Grafana 仪表盘模板
- [ ] 健康检查增强 (DB/Redis/LDAP 连通性)
- [ ] 慢查询监控面板
- [ ] 系统告警规则
- [ ] 日志聚合 (结构化 JSON 日志)
- [ ] 性能剖析 (pprof 集成)
---
## 远期规划 (P3)
- [ ] 多租户支持
- [ ] 库级权限控制
- [ ] Schema 漂移检测 + 可视化 (SchemaRevision 模型已有)
- [ ] 慢查询实时推送 (WebSocket)
- [ ] 查询审批工作流
- [ ] 集群模式 (分布式会话)
- [ ] 国际化 (i18n)
#### Sprint 3: 高级功能
- [ ] Schema 漂移检测 + 可视化
- [ ] 数据脱敏规则引擎
- [ ] SQL 格式化后端服务
- [ ] 慢查询 WebSocket 实时推送
#### Sprint 4: 生产就绪
- [ ] PostgreSQL 生产数据库迁移
- [ ] 集群部署 (Redis session + 负载均衡)
- [ ] 监控告警 (Prometheus + Grafana)
- [ ] 安全审计 (OWASP 检查)
- [ ] 性能优化 (查询缓存/连接池)
- [ ] CSV/Excel 导出功能
- [ ] 移动端适配