feat: 查询页增强 + 权限体系优化

- Redis DB0~DB15 下拉选择,默认DB0
- 查询历史粘贴按钮(一键填入SQL编辑器)
- 去掉导出历史按钮
- SchemaSidebar 按目标数据库筛选
- SQL自动补全 schema 双层注册(db→tables, table→columns)
- 后端 db-schema 接口(INFORMATION_SCHEMA.COLUMNS 一次加载)
- autocompletion 扩展激活
- Redis key 树形结构(冒号分隔层级)
- Redis 查询模板 GET/HGETALL/HGET
- guest 角色彻底移除,改为 auditor
- 登录页优化:去掉演示账号、placeholder 中文提示
This commit is contained in:
logan committed 2026-05-24 18:50:08 +08:00
1 parent aa2e26c827
commit 35a014e571
13 files changed
+345 -111

No files matched your search

+12 -12
View File
@@ -3,15 +3,15 @@ import { menuItems } from '@/constants/menu';
const defaultUser = {
id: 0,
username: 'guest',
username: '',
email: '',
role: 'guest' as const,
roleName: '访客',
avatar: 'G',
role: 'developer' as const,
roleName: '',
avatar: '',
};
import { authApi } from '@/api/auth';
export type UserRole = 'admin' | 'dba' | 'developer' | 'guest';
export type UserRole = 'admin' | 'dba' | 'developer' | 'auditor';
/** 细粒度权限类型 */
export type PermissionAction =
@@ -98,7 +98,7 @@ const roleNameMap: Record<UserRole, string> = {
admin: '超级管理员',
dba: '数据库管理员',
developer: '开发人员',
guest: '访客',
auditor: '审计员',
};
/** 角色权重映射,用于权限级别比较 */
@@ -106,16 +106,16 @@ const roleWeightMap: Record<UserRole, number> = {
admin: 100,
dba: 80,
developer: 60,
guest: 20,
auditor: 40,
};
const routePermissionMap: Record<string, UserRole[]> = {
dashboard: ['admin', 'dba', 'developer', 'guest'],
dashboard: ['admin', 'dba', 'developer', 'auditor'],
instances: ['admin', 'dba'],
'instance-groups': ['admin'],
'data-dictionary': ['admin', 'dba', 'developer'],
tickets: ['admin', 'dba', 'developer'],
queries: ['admin', 'dba', 'developer', 'guest'],
tickets: ['admin', 'dba', 'developer', 'auditor'],
queries: ['admin', 'dba', 'developer'],
roles: ['admin'],
users: ['admin'],
'audit-logs': ['admin', 'dba'],
@@ -130,7 +130,7 @@ export const actionPermissionMap: Record<string, UserRole[]> = {
'ticket.execute': ['admin', 'dba'],
'ticket.rollback': ['admin', 'dba'],
'ticket.delete': ['admin'],
'query.create': ['admin', 'dba', 'developer', 'guest'],
'query.create': ['admin', 'dba', 'developer'],
'query.export': ['admin', 'dba', 'developer'],
'instance.add': ['admin', 'dba'],
'instance.edit': ['admin', 'dba'],
@@ -451,7 +451,7 @@ export function AuthProvider({ children }: { children: React.ReactNode }) {
isAdmin: user.role === 'admin',
isDBA: user.role === 'dba',
isDeveloper: user.role === 'developer',
isGuest: user.role === 'guest',
isGuest: user.role === 'auditor',
hasRoleLevel,
}), [user, isLoggedIn, login, logout, switchRole, hasPermission, hasActionPermission,
hasDataSourcePermission, checkDataSourcePermissions, refreshPermissions,