前端项目基于 vue-element-plus-admin 实现,它的 路由和侧边栏 是组织起一个后台应用的关键骨架。
侧边栏和路由是绑定在一起的,所以你只有在 @/router/index.js 下面配置对应的路由,侧边栏就能动态的生成了,大大减轻了手动重复编辑侧边栏的工作量。
当然,这样就需要在配置路由的时候,遵循一些约定的规则。
首先,我们了解一下本项目配置路由时,提供了哪些配置项:
只需要将 设置为需要跳转的 HTTP 地址即可。
项目的路由分为两种:静态路由、动态路由。
静态路由,代表那些不需要动态判断权限的路由,如登录页、404、个人中心等通用页面。
在 @/router/modules/remaining.ts 的 ,就是配置对应的公共路由。如下图所示:
动态路由,代表那些需要根据用户动态判断权限,并通过 addRoutes 动态添加的页面,如用户管理、角色管理等功能页面。
在用户登录成功后,会触发 请求后端的菜单 RESTful API 接口,获取用户有权限的菜单列表,并转化添加到路由中。如下图所示:
使用 方法,可以实现跳转到不同的页面。
项目的菜单在 [系统管理 -> 菜单管理] 进行管理,支持无限层级,提供目录、菜单、按钮三种类型。如下图所示:
菜单可在 [系统管理 -> 角色管理] 被分配给角色。如下图所示:
① 大多数情况下,目录是作为菜单的【分类】:
② 目录也提供实现【外链】的能力:
前端通过权限控制,隐藏用户没有权限的按钮等,实现功能级别的权限。
指令,基于权限字符,进行权限的控制。
指令,基于角色标识,机进行的控制。
在某些情况下,它是不适合使用 或 指令,如元素标签组件。此时,只能通过手动设置 ,通过使用全局权限判断函数,用法是基本一致的。
开启缓存有 2 个条件
- 路由设置 ,且不能重复
- 路由对应的组件加上 ,与路由设置的 保持一致
① router 路由的 声明如下:
② view component 的 声明如下: