新增菜单
在后台「菜单管理」中维护菜单数据,配置后同时驱动侧边栏显示、动态路由生成、页面缓存和按钮权限。改完后到「角色管理」分配权限并重新登录生效。
新增目录
目录用于组织菜单,本身不对应页面。选择顶级菜单作为父级菜单,菜单类型选「目录」,路由路径以 / 开头。

新增菜单
在目录下新增菜单,填写菜单名称、路由路径和页面组件。页面组件与实际文件路径一致,省略 src/views/ 和 .vue,例如 system/user/index 对应 src/views/system/user/index.vue。

页面标识仅在开启页面缓存时填写,用于匹配组件 name。
新增一级菜单
系统不支持直接将菜单作为根菜单。通过创建目录并隐藏目录本身,使其子菜单呈现为一级菜单:
- 新增一级目录,将「始终显示」设为否
- 在该目录下新增子菜单

新增多级菜单
逐层创建目录,在最底层添加菜单。以三级菜单为例:
| 层级 | 类型 | 访问路径 | 页面组件 |
|---|---|---|---|
| 多级菜单 | 目录 | /multi-level | 不填 |
| 一级菜单 | 目录 | level-one | 不填 |
| 二级菜单 | 目录 | level-two | 不填 |
| 三级菜单 A | 菜单 | level-three-a | demo/multi-level/level-one/level-two/level-three-a/index |
开启页面缓存
菜单页面支持 keep-alive 缓存,需同时满足两个条件:
- 菜单配置中开启「页面缓存」
- 「页面标识」填写与组件
name一致的值
vue
<script setup lang="ts">
// 页面标识填写 User,组件 name 必须同为 User
defineOptions({ name: "User" });
</script>1
2
3
4
2
3
4
新增按钮权限
在「菜单管理」找到对应页面菜单,点击「新增」,菜单类型选「按钮」,填写按钮名称和权限标识。前端通过 v-hasPerm 控制按钮显示,权限标识命名规范详见权限控制。
新增外链菜单
| 打开方式 | 效果 |
|---|---|
| 新标签页 | 点击菜单后打开浏览器新标签页 |
| 系统内嵌 | 系统内容区通过 iframe 打开 |
内嵌方式需额外填「系统路径」(如 apifox)。若内嵌后空白,是目标站点禁止 iframe 嵌入,改用「新标签页」。
菜单标题国际化
菜单名称填写为语言包 key(如 document),系统自动读取 src/lang/package/ 下对应语言的翻译。详见国际化。
