权限与菜单管理
更新时间:2026/10/14 14:30:17
平台采用角色 → 菜单 / 权限码 → 用户的授权模型:角色决定能看到什么、能做什么;用户分配单角色。菜单路径:系统管理 → 权限(角色管理)/ 系统管理 → 基础数据(菜单管理)。
日常新增运营人员:用户管理建账号 → 分配既有角色即可,本文面向需要新建或调整角色的管理员。
角色管理
- 列表:角色编码、角色名称、终端类型(角色按运营端 / 商户端隔离)、内置标记、备注;
- 新增 / 编辑:角色编码(唯一,保存时查重)、国际化 Key(角色显示名的翻译键)、终端类型、备注;
- 删除:需输入
iam/role/{角色编码}文本确认,防止误删;内置角色不可编辑、不可删除。
建议复制而非改动内置角色
内置角色(如商户超管)是系统功能的兜底配置。需要相近但不同的权限集合时,新建角色再分配权限,不要试图改动内置项。
分配权限
角色列表行内「分配权限」打开授权抽屉,树形结构混排菜单节点与权限码节点(用小圆点区分类型)。
工具条能力:
| 功能 | 用途 |
|---|---|
| 搜索 | 按菜单名或权限码过滤,命中路径自动展开 |
| 全选 / 清空 / 展开 / 折叠 | 批量操作 |
| 勾选菜单时带权限码 | 默认开启:勾选菜单同时勾选其下全部权限码(推荐保持开启,避免「看得见页面按不了按钮」) |
| 只显示菜单 / 仅看已选 | 大树过滤视图 |
勾选联动规则:
- 勾选菜单 → 自动勾选其下全部子菜单(权限码视开关);
- 勾选权限码 → 自动勾选其挂载的父菜单(保证入口可见);
- 同一权限码挂在多个菜单下时,勾选一处即全局生效(节点上有提示标记)。
保存时显示「将保存菜单 N 项、权限码 N 项」的确认,提交后重新登录或刷新的用户按新权限渲染。
菜单管理
维护侧边栏菜单树与隐藏子页面。左侧骨架树 + 右侧子项面板,顶部按终端(运营端 / 商户端)切换,支持按名称 / 编码 / 路径 / 组件搜索。
六种菜单类型:
| 类型 | 作用 |
|---|---|
| 目录 | 侧边栏分组容器,不渲染页面 |
| 菜单 | 可点击的页面入口,需路径与组件 |
| 子页面 | 挂在菜单下的隐藏路由页(详情 / 编辑页),不出现在侧边栏 |
| 子页面分组 | 子页面的逻辑分组,纯组织用,不渲染 |
| 内嵌页 | iframe 嵌入外部页面 |
| 外链 | 新窗口打开外部地址 |
编辑表单要点:菜单类型决定字段(内嵌页填内嵌地址、外链填外链地址);标题通过国际化 Key 解析(改文案到语言包,不在菜单里直写);高级设置含排序、隐藏、缓存路由、固定标签页、徽章等。
一般不需要动菜单
菜单树由系统版本管理,升级时会更新。自建菜单只用于挂载自研扩展页面;随意改动内置菜单可能导致升级后功能入口丢失。
权限码
权限码是按钮级权限的最小单元(如「重置密码」「发布」)。代码中的权限码与库内记录通过同步权限码操作对齐:
- 菜单管理工具栏「同步权限码」→ 扫描后端接口 → 新增 / 更新 / 删除(结果会显示三类数量);
- 单个菜单挂载了哪些权限码:菜单行内「权限码」抽屉查看(只读)。
升级后必须同步
系统升级引入新权限码后,不同步会导致新按钮对已授权角色不可见——每次升级后在菜单管理执行一次「同步权限码」。
相关链接
AI 助手文档
本站提供 LLM 友好的文档格式,方便 ChatGPT、Claude、Cursor 等 AI 工具读取和理解 DaxPay 文档。