feat(permissions): 添加完整的权限常量映射和类型定义

- 新增权限常量映射文件,定义系统所有权限标识
- 支持用户管理、角色管理、菜单管理、登录日志权限
- 添加权限组合配置和类型推断支持
- 更新登录用户信息类型,增加buttons权限字段
- 为后续权限指令系统提供基础支撑

Breaking Changes: 无
This commit is contained in:
Leo 2025-07-07 01:11:50 +08:00
parent 1a3fd5220c
commit b29e59be08
2 changed files with 84 additions and 0 deletions

View File

@ -0,0 +1,82 @@
/**
*
*
*/
// 系统管理模块权限
export const PERMISSIONS = {
// 用户管理权限
USER: {
LIST: 'system:user:list',
ADD: 'system:user:add',
UPDATE: 'system:user:update',
DELETE: 'system:user:delete',
RESET_PWD: 'system:user:resetPwd',
EXPORT: 'system:user:export',
IMPORT: 'system:user:import',
ROLE: 'system:user:role', // 分配角色权限
},
// 角色管理权限
ROLE: {
LIST: 'system:role:list',
ADD: 'system:role:add',
UPDATE: 'system:role:update',
DELETE: 'system:role:delete',
MENU: 'system:role:menu', // 分配菜单权限
},
// 菜单管理权限
MENU: {
LIST: 'system:menu:list',
ADD: 'system:menu:add',
UPDATE: 'system:menu:update',
DELETE: 'system:menu:delete',
},
// 登录日志权限
LOGIN_LOG: {
LIST: 'system:loginlog:list',
ADD: 'system:loginlog:add',
UPDATE: 'system:loginlog:update',
DELETE: 'system:loginlog:delete',
},
} as const
// 权限类型推断
export type PermissionType = typeof PERMISSIONS[keyof typeof PERMISSIONS][keyof typeof PERMISSIONS[keyof typeof PERMISSIONS]]
// 常用权限组合
export const PERMISSION_GROUPS = {
// 用户管理相关权限
USER_MANAGEMENT: [
PERMISSIONS.USER.LIST,
PERMISSIONS.USER.ADD,
PERMISSIONS.USER.UPDATE,
PERMISSIONS.USER.DELETE,
],
// 角色管理相关权限
ROLE_MANAGEMENT: [
PERMISSIONS.ROLE.LIST,
PERMISSIONS.ROLE.ADD,
PERMISSIONS.ROLE.UPDATE,
PERMISSIONS.ROLE.DELETE,
],
// 菜单管理相关权限
MENU_MANAGEMENT: [
PERMISSIONS.MENU.LIST,
PERMISSIONS.MENU.ADD,
PERMISSIONS.MENU.UPDATE,
PERMISSIONS.MENU.DELETE,
],
// 系统管理员权限(包含所有权限)
SYSTEM_ADMIN: [
...Object.values(PERMISSIONS.USER),
...Object.values(PERMISSIONS.ROLE),
...Object.values(PERMISSIONS.MENU),
...Object.values(PERMISSIONS.LOGIN_LOG),
],
} as const

View File

@ -8,6 +8,8 @@ namespace Api {
id: number
/** 用户角色类型 */
role: Entity.RoleType[]
/** 用户权限按钮列表 */
buttons: string[]
/** 访问token */
accessToken: string
/** 访问token */