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:
1 parent
aa2e26c827
commit
35a014e571
13 files changed
+345
-111
No files matched your search
@@ -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,
|
||||
|
||||
Reference in new issue
Block a user