从零开始Vue3+Element Plus后台管理系统(18)——权限路由实现

文章介绍了在Vue.js应用中实现路由权限的三种模式:前端固定路由、前端动态路由和后端动态路由。通过权限过滤菜单和显示,以及全局前置守卫处理导航,确保用户只能访问有权限的页面。同时,文章强调了在项目开发中进行总结和回顾的重要性,以促进个人成长。

一开始打算做两种模式的路由权限,最后还是分成了3种,分别是:

  1. 前端固定路由,所有路由是固定的,通过权限过滤菜单和显示
  2. 前端动态路由,通过权限过滤路由表和菜单
  3. 后端动态路由,获取接口返回数据,挂载路由表和菜单
VITE_PERMISSION_MODE = 'CONSTANT'
# VITE_PERMISSION_MODE = 'FRONT'
# VITE_PERMISSION_MODE = 'BACK'

因为权限配置灵活,实际工作中一般采用第3种。在个人demo或者权限简单的项目中,第一种也够用。

简要流程

下图是一个简单流程说明,主要在路由的全局前置守卫router.beforeEach体现。

image.png

各个模块的路由对应views,分文件放在router/modules,方便后面统一使用
image.png

路由入口文件 router/index.ts

  1. 存放系统固定的几个路由(登录、注册、403、404…)
const constantRoutes: RouteRecordRaw[] = [
  {
   
   
    path: '/',
    name: 'Home',
    redirect: '/dashboard',
    hidden: true,
    meta: {
   
   
      title: 'home'
    }
  },
  {
   
   
    path: '/login',
    name: 'Login',
    hidden: true,
    meta: {
   
   
      title: 'signIn'
    },
    component: () => import(/* webpackChunkName: "login" */ '../views/login/login.vue')
  },
  {
   
   
    path: '/403',
    name: '403',
    hidden: true,
    meta: {
   
   
      title: '没有权限'
    },
    component: () => import(/* webpackChunkName: "400" */ '../views/403.vue')
  }
]
const lastRoutes = [
  {
   
   
    path: '/:pathMatch(.*)*',
    name: '404',
    hidden: true,
    meta:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

immocha

人生得意须尽欢

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值