# 后台管理系统 - 功能缺失清单 > 更新时间:2026-01-05 > 说明:记录系统中尚未实现但需要的功能 --- ## ~~FEATURE-001:缺少权限管理页面~~ ✅ 已完成 - **优先级**:🟡 中 - **模块**:系统管理 - **问题描述**:系统没有权限管理页面,无法可视化管理权限数据 ### 完成状态 - ✅ 后端有 `PermissionController` 提供 API(已扩展CRUD接口) - ✅ 后端有 `permissions` 表存储权限数据 - ✅ 权限数据通过 `DataSeeder.cs` 初始化(已添加权限管理相关权限) - ✅ 前端权限管理页面已创建 (`views/system/permission/index.vue`) - ✅ 前端API已更新 (`api/permission.ts`) ### 实现功能 1. 权限列表(按模块分组显示,支持折叠展开) 2. 新增权限(支持自定义模块) 3. 编辑权限(名称、模块、描述) 4. 删除权限(会同时删除角色关联) 5. 搜索过滤(按关键词、模块筛选) ### 新增文件 - `server/HoneyBox/src/HoneyBox.Admin/Models/Permission/CreatePermissionRequest.cs` - `server/HoneyBox/src/HoneyBox.Admin/Models/Permission/UpdatePermissionRequest.cs` - `server/HoneyBox/src/HoneyBox.Admin/admin-web/src/views/system/permission/index.vue` - `server/HoneyBox/src/HoneyBox.Admin/Data/Migrations/add_permission_management.sql` ### 部署说明 对于已有数据库,需要执行 `add_permission_management.sql` 脚本添加权限管理相关数据。 --- ## 权限编码对照表 ### 当前系统已定义的权限(DataSeeder.cs) | 模块 | 权限编码 | 权限名称 | |------|----------|----------| | **菜单管理** | `menu:list` | 菜单列表 | | | `menu:detail` | 菜单详情 | | | `menu:create` | 创建菜单 | | | `menu:update` | 更新菜单 | | | `menu:delete` | 删除菜单 | | **角色管理** | `role:list` | 角色列表 | | | `role:detail` | 角色详情 | | | `role:create` | 创建角色 | | | `role:update` | 更新角色 | | | `role:delete` | 删除角色 | | | `role:assign_menu` | 分配菜单 | | | `role:assign_permission` | 分配权限 | | **权限管理** | `permission:list` | 权限列表 | | | `permission:detail` | 权限详情 | | | `permission:create` | 创建权限 | | | `permission:update` | 更新权限 | | | `permission:delete` | 删除权限 | | **管理员管理** | `user:list` | 管理员列表 | | | `user:detail` | 管理员详情 | | | `user:create` | 创建管理员 | | | `user:update` | 更新管理员 | | | `user:delete` | 删除管理员 | | | `user:assign_role` | 分配角色 | | | `user:assign_department` | 分配部门 | | | `user:assign_menu` | 分配专属菜单 | | | `user:reset_password` | 重置密码 | | **部门管理** | `department:list` | 部门列表 | | | `department:detail` | 部门详情 | | | `department:create` | 创建部门 | | | `department:update` | 更新部门 | | | `department:delete` | 删除部门 | | | `department:assign_menu` | 分配菜单 | | **操作日志** | `log:list` | 日志列表 | | | `log:detail` | 日志详情 | ### 权限控制流程 ``` ┌─────────────┐ ┌─────────────┐ ┌─────────────────┐ │ 用户登录 │ ──▶ │ 获取用户角色 │ ──▶ │ 获取角色关联权限 │ └─────────────┘ └─────────────┘ └─────────────────┘ │ ▼ ┌─────────────────────────────────────────────────────────┐ │ 返回 permissions 数组给前端 │ │ 超级管理员返回 ["*"] 表示拥有所有权限 │ └─────────────────────────────────────────────────────────┘ │ ▼ ┌─────────────────────────────────────────────────────────┐ │ 前端 v-permission 指令判断按钮是否显示 │ │ 如果 permissions 包含 "*" 或 指定权限码,则显示按钮 │ └─────────────────────────────────────────────────────────┘ ``` ### 相关数据库表 | 表名 | 说明 | |------|------| | `permissions` | 权限定义表 | | `roles` | 角色表 | | `role_permissions` | 角色-权限关联表 | | `role_menus` | 角色-菜单关联表 | | `admin_users` | 管理员表 | | `admin_user_roles` | 管理员-角色关联表 | | `admin_user_menus` | 管理员-专属菜单关联表 | | `departments` | 部门表 | | `department_menus` | 部门-菜单关联表 |