fix: align permission navigation and page access

This commit is contained in:
2026-07-11 14:55:49 +08:00
parent 1e1c476bc3
commit b6fca99390
27 changed files with 434 additions and 49 deletions

54
docs/permission-matrix.md Normal file
View File

@@ -0,0 +1,54 @@
# 权限与默认角色矩阵
## 页面入口权限
| 页面 | 权限 |
|---|---|
| 数据面板 | `dashboard:view` |
| 宿舍总览 / 宿舍管理 | `room:view` |
| 入住管理 | `occupancy:view` |
| 学生列表 / 学生档案 | `student:view` |
| 班级列表 / 班级详情 / 教师工作台 | `class:view` |
| 考勤管理 | `attendance:view` |
| 排课管理 | `schedule:view` |
| 教室列表 | `classroom:view` |
| 排期总览 | `rental:view` |
| 租赁订单 | `rental:view` |
| 机构管理 | `organization:view` |
| 费用管理 | `expense:view` |
| 押金管理 | `deposit:view` |
| 账单管理 | `bill:view` |
| 通知中心 | `notification:view` |
| 操作日志 | `log:view` |
| 角色管理 / 权限一览 | `role:view` |
| 钉钉集成配置 | `integration:read` |
| AI 模型配置 | `ai:config:read` |
| 账号 / 教师管理 | `user:view` |
登录后不再固定跳转 Dashboard而是按上表顺序进入当前账号拥有权限的第一个页面。
## 特殊功能与 Tab
| 功能 | 权限 |
|---|---|
| 押金“待审批退款” Tab | `deposit:approve` |
| 钉钉集成“同步用户” Tab | 同时需要 `sync:read``class:view``class:edit` |
| 保存钉钉配置 | `integration:trigger` |
| 查看/测试钉钉配置 | `integration:read` |
| 保存 AI 配置 | `ai:config:write` |
| 测试 AI 连接 | `ai:config:test` |
| 清除 AI 密钥 | `ai:config:write` |
## 默认角色范围
| 角色 | 默认范围 |
|---|---|
| 超管 | 全部权限 |
| 宿管老师 | 学生、宿舍、入住、费用、账单、押金、日志、Dashboard、班级、排课、考勤、通知、个人资料 |
| 老师 | 本班学生查看、班级查看、排课查看、考勤查看/录入/导出、通知、个人资料;无 Dashboard |
| 机构负责人 | 教室、租赁、机构、通知、个人资料;无 Dashboard |
| 财务 | 费用、账单、押金、Dashboard、通知、个人资料 |
| 宿管 | 学生、宿舍、入住、押金、Dashboard、通知、个人资料 |
| 教务 | 班级、排课、考勤、教室、学习、考试、Dashboard、通知、个人资料 |
系统角色的预置权限只会自动补齐,不会删除管理员手动追加的权限。