# SQL-Platform 功能清单 > 更新时间: 2026-05-26 | 版本: v0.3.1 (Go/Gin 后端) ## ✅ 已完成功能 ### 一、核心功能 #### 1. 自助查询 (QueriesPage) - [x] 多数据库类型查询 (MySQL/PostgreSQL/Redis/MongoDB) - [x] CodeMirror 6 SQL 编辑器 (语法高亮 + 自动补全) - [x] SQL 模板库 (13 个预置模板,按 DB 类型适配) - [x] Ctrl+Enter 执行 / Ctrl+Shift+F 格式化 - [x] 查询结果表格 (点击单元格弹详情 + JSON 格式化) - [x] 查询历史记录 (500 条/用户上限) - [x] 收藏查询 / 快捷查询 - [x] Schema 侧边栏 (MySQL 三级树 / Redis 目录树 / MongoDB 集合) - [x] Redis key 点击自动插入查询命令 (GET/HGETALL/LRANGE/SMEMBERS/ZRANGE) - [x] 两阶段 schema 加载 (选实例加载表名, 选库加载列名) - [x] 数据库品牌图标 (techicons.dev SVG) - [x] 实例按权限组过滤 (/instances/accessible) #### 2. 数据变更审批流 (TicketsPage + TicketCreatePage) - [x] 工单创建 — 单页面一键提交 - [x] DB 类型按频率排序 (MySQL → Redis → PostgreSQL → MongoDB) - [x] 选择 DB 类型后自动筛选目标实例 - [x] 库表浏览面板 (点击展开库/表/字段,辅助填写目标库) - [x] Redis 目录树按 `:` 分隔构建层级 - [x] 工单编号生成 (20位: 时间戳+微秒+序号) - [x] 工单状态机 (pending → reviewing → approved → scheduled → executing → success/failed) - [x] 10 种工单状态完整支持 - [x] 多步审批流 (standard / parallel / any_one / condition) - [x] 审批人限定 (必须在权限组成员中) - [x] CancelTicket 独立处理器 - [x] RollbackTicket 独立处理器 - [x] GetTicketTimeline 时间线查询 - [x] GetTicketApprovals 审批记录查询 - [x] 工单快速筛选 (待审批/进行中/已完成/已拒绝) - [x] 实例按 DB 类型筛选 - [x] Redis/MongoDB 目录树浏览 + 点击插入命令 - [x] SQL 提交前强制审核规则检查 - [x] 执行结果结构化展示 (状态/行数/耗时/错误/警告) #### 3. SQL 审核引擎 - [x] 127 条审核规则 (MySQL 67 / PostgreSQL 31 / Redis 25 / MongoDB 31) - [x] 6 个分组 (DDL/DML/DCL/DQL/security/performance) - [x] MySQL 安全规则 SEC-001~009 - [x] Redis 规则去重优化 - [x] 规则 CRUD (创建/读取/更新/删除/开关) - [x] 规则统计和筛选 - [x] 评分系统 (severity: error/warning/info) - [x] POST /tickets/audit — SQL 审核端点 #### 4. SQL 助手 - [x] POST /sql-assistant/format — SQL 格式化 - [x] POST /sql-assistant/analyze — SQL 分析 ### 二、数据源管理 #### 5. 实例管理 (InstancePage) - [x] 实例 CRUD (4 种 DB 类型: mysql/postgresql/redis/mongodb) - [x] 连接测试 (MySQL/PG/Redis/MongoDB) - [x] 实例密码 AES-256-GCM 加密 (crypto.go) - [x] 卡片视图 + 列表视图 - [x] 按类型 Tab 筛选 - [x] 品牌图标展示 - [x] 编辑弹框 (EditInstanceDialog 可复用) - [x] 实例统计 (InstanceStats) #### 6. MySQL Instance Detail — 7 个端点 - [x] databases — 数据库列表 - [x] tables — 表列表 - [x] db-schema — 库 Schema - [x] table-detail — 表详情 (列/索引) - [x] processlist — 进程列表 (含 Kill) - [x] status — 服务器状态 - [x] users — 用户列表 #### 7. Redis — 9 个真实 Handler - [x] RedisInfo — 服务器信息 - [x] RedisDbsize — 数据库大小 - [x] RedisScanKeys — Key 扫描 - [x] RedisGetKeyDetail — Key 详情 (type/TTL/value) - [x] RedisSlowlog — 慢查询日志 - [x] RedisClients — 客户端列表 - [x] RedisExecuteCommand — 执行命令 - [x] RedisCreateKey — 创建 Key - [x] RedisDeleteKey — 删除 Key #### 8. MongoDB Stub 端点 - [x] databases — 数据库列表 - [x] collections — 集合列表 - [x] collection/stats — 集合统计 - [x] query — 查询 - [x] execute — 执行 - [x] test-connection — 连接测试 ### 三、权限与安全 #### 9. 权限管理 (InstanceGroupPage) - [x] 权限组 CRUD - [x] 2 种权限类型 (只读查看 / 写入变更) - [x] 实例-权限组关联 (instance_group_members) - [x] 用户-权限组关联 (user_groups) - [x] 角色权限映射 (admin/dba/auditor/developer) - [x] RequireRole RBAC 中间件 #### 10. 用户管理 (UsersPage) - [x] 用户 CRUD (4 角色: admin/dba/auditor/developer) - [x] bcrypt 密码哈希 (golang.org/x/crypto) - [x] 4 个默认种子用户 (auth_service.go 自动创建): - admin → 超级管理员 - zhangsan (张三) → dba - laoliu (老六) → auditor - lurenjia (路人甲) → developer - [x] 批量导入用户 (CSV + LDAP) - [x] 密码重置 - [x] guest 角色已彻底禁用 #### 11. 审计日志 (AuditLogsPage) - [x] 全操作审计日志 (实例/用户/工单/查询 CRUD) - [x] 日志筛选 (时间范围/用户/操作类型) - [x] auditor 角色只读访问 #### 12. LDAP 认证 - [x] LDAP 配置管理 (GET/PUT /ldap-config) - [x] 连接测试 (POST /ldap-config/test) - [x] OU 管理 (列表/创建) - [x] LDAP 用户管理 (列表/创建/删除) - [x] 批量导入 LDAP 用户 - [x] 服务器: 8.217.205.92:389, base_dn=dc=opsx,dc=vip - [x] 驱动: github.com/go-ldap/ldap/v3 ### 四、系统设置 #### 13. 通知管理 (NotificationPage) - [x] 通知渠道 CRUD (feishu/dingtalk/wechat/email webhook) - [x] 测试发送功能 (POST /notifications/:id/test) - [x] NotificationChannel + NotificationTemplate 模型 #### 14. 系统配置 (PlatformConfigPage) - [x] GET /settings — 读取配置 - [x] PUT /settings — 批量更新 - [x] GET /settings/cleanup/preview — 清理预览 - [x] POST /settings/cleanup/run — 手动清理 - [x] 分组卡片布局 #### 15. 公告管理 (AnnouncementPage) - [x] 公告 CRUD (Markdown 内容) - [x] 发布/撤回状态管理 #### 16. 审核规则管理 (AuditRulesPage) - [x] 规则列表 (6 组 Tab: DDL/DML/DCL/DQL/security/performance) - [x] 规则开关 (toggle) - [x] 规则统计 - [x] 按数据库类型筛选 - [x] 规则种子 (POST /audit-rules/seed/{db_type}) #### 17. 审批流管理 (WorkflowPage) - [x] 审批流 CRUD (创建/编辑/删除) - [x] 克隆审批流 - [x] 设置默认审批流 - [x] 步骤管理 - [x] 条件评估引擎 - [x] 超时检查 (timeout_hours + auto_approve_on_timeout) ### 五、外观与个性化 (v0.3.1 新增 🆕) #### 18. 登录页主题系统 - [x] 5 种登录页风格: - **SplitView** (经典分屏) — 左侧特性展示 + 右侧表单 - **CenteredCard** (居中卡片) — 渐变背景 + 居中表单 - **SidePanel** (侧边面板) — 左侧品牌面板 + 右侧表单 - **FullImage** (全屏背景) — 科技背景 + 毛玻璃卡片 - **MinimalDark** (极简暗色) — 纯暗色极简风格 - [x] 共享 `useLogin` hook — 统一登录逻辑 - [x] `localStorage('login-style')` 持久化选择 #### 19. 外观设置 (AppearanceSettings) - [x] Settings → Appearance tab - [x] 主题模式切换 (dark/light) - [x] 登录页风格切换 (5 种预览卡片 + 选择) - [x] 实时预览 + localStorage 持久化 ### 六、其他功能 #### 20. gh-ost DDL 变更 - [x] gh-ost dry-run (POST /ghost/dry-run) - [x] gh-ost execute (POST /ghost/execute) - [x] gh-ost status (GET /ghost/status/:taskId) - [x] gh-ost task list (GET /ghost/tasks) - [x] 仅 admin/dba 可访问 #### 21. 仪表盘 (Dashboard) - [x] 统计概览 (GET /dashboard/stats) - [x] 我的工单 (GET /dashboard/my-tickets) #### 22. 定时任务 (AutoTaskPage) - [x] 定时工单列表 - [x] 取消定时任务 - [x] 定时任务统计 #### 23. 数据字典 (stub) - [x] 数据库/表/字段浏览端点 - [x] 导出端点 #### 24. 前端优化 - [x] React.lazy 代码分割 - [x] Vite manualChunks (vendor 拆分) - [x] 暗色主题 (--dg- CSS 变量体系) - [x] 响应式布局 - [x] 骨架屏加载动画 - [x] 确认弹框 (useConfirm hook) - [x] Toast 通知 ## 📊 项目统计 | 指标 | 数值 | |------|------| | Go 源文件 | 27+ | | API 路由 | 120+ 条 | | GORM 模型 | 25+ 个 | | Handler 文件 | 17 个 | | 前端页面 | 24+ 个 | | 登录页主题 | 5 种 | | 审核规则 | 127 条 (6 组) | | 数据库驱动 | 5 种 (MySQL/PG/Redis/Mongo/SQLite) | | Redis Handler | 9 个 | | MySQL Detail 端点 | 7 个 | | 种子用户 | 4 个 | | Git 仓库 | https://gitee.com/attacker/sql-platform.git | ## 🏗️ 数据库驱动支持矩阵 | 数据库 | Go 驱动 | 查询 | 执行 | 审核 | 详情浏览 | |--------|---------|------|------|------|----------| | MySQL | go-sql-driver/mysql v1.10.0 | ✅ | ✅ | ✅ (67规则) | ✅ (7 endpoints) | | PostgreSQL | jackc/pgx/v5 v5.9.2 | ✅ | ✅ | ✅ (31规则) | ✅ | | Redis | go-redis/v9 v9.19.0 | ✅ | ✅ | ✅ (25规则) | ✅ (9 handlers) | | MongoDB | go-mongo-driver/v2 | ✅ (stub) | ✅ (stub) | ✅ (31规则) | ✅ (stub) | | SQLite | gorm.io/driver/sqlite | ✅ (元数据) | — | — | — |