基于vue-admin-template的角色权限动态路由实现

vue-admin-template极简的 vue admin 管理后台的动态路由实现方法 注意:项目中的路由均写在中,其中默认包含数组,这是固定路由,无论用户是什么角色,都需要显示这些路由内容(即导航栏)。为了根据权限来动态的生成路由,我们需要添加数组,这里面的内容将根据用户角色权限动态生成路由内容(即导航栏)。实现方法:① 在中,通过分析里面的角色权限和当前用户所拥有的角色权限,生成用户可查看到的路由列表。② 在中,遍历显示菜单栏。 阅读详情

vue-admin-template框架的概要

vue-template-admin是一个后台管理系统的前端解决方案,它是基于vue和element-ui实现。vue-element-admin是vue-template-admin的专业版,它含有丰富的组件。因此,根据业务逻辑在vue-template-admin进行二次开发,把vue-element-admin当成一个组件仓库,项目中需要用到相应的组件再进行加入。

角色权限动态路由的实现步骤

1. 设置路由表

先找到/src/router.js的文件,框架原本只实现了一个静态路由表,这个用来设置没有权限要求的页面,每个角色均可访问,比如首页,登录页等页面。因此,还需要加入一个动态路由表,即根据用户角色放行相应页面的权限,下面是实现的具体代码。

import Vue from 'vue'
import Router from 'vue-router'
import Layout from '../views/layout/Layout'
//使用router组件
Vue.use(Router)
//静态路由表设置
export const constantRouterMap = [
  //登录页面
  {
   
   
    path: '/login',
    component: () => import('@/views/login/index'), 
    hidden: true
  },
  //404页面
  {
   
   
    path: '/404',
    component: () => import('@/views/404'), 
    hidden: true
  },
  //注册页面
  {
   
   
    path: '/register',
    component: () => import('@/views/register/index'),
    hidden: true
  },
  //首页
  {
   
   
    path: '/',
    component: Layout,
    redirect: '/dashboard',
    name: 'Dashboard',
    children: [{
   
   
      path: 'dashboard',
      component: () => import('@/views/dashboard/index'),
      meta: {
   
    title: '首页', icon: 'dashboard' }
    }]
  },

]

//异步挂载的路由
//动态需要根据权限加载的路由表
//每个页面给哪些角色放行,在roles数组提前写好即可
export const asyncRoutes = [
  //用户设置
  {
   
   
    path: '/user',
    component: Layout,
    redirect: '/user/usermanagement',
    name: 'User',
    meta: {
   
   
      title: '用户管理',
      icon: 'list',
      roles: ['admin']
    },
    children: [
      {
   
   
        path: 'usermanagement',
        name: 'Usermanagement',
        component: () => import('@/views/user/usermanagement/index'),
        meta: {
   
   
          title: '用户管理',
          icon: 'list',
          roles: ['admin']
        }
      },
      {
   
   
        path: 'rolemanagement',
        name: 'Rolemanagement',
        component: () => import('@/views/user/rolemanagement/index'),
        meta: {
   
   
          title: '角色设置',
          icon: 'list',
          roles: ['admin']
        }
      },
    ]
  },
  //建议管理
  {
   
   
    path: '/advice',
    component: Layout,
    redirect: '/advice/listadvice',
    name: 'Advice',
    meta: {
   
   
      title: '建议管理',
      icon: 'icon',
      roles: ['admin', 'rm', 'rc', 'sm', 'sc']
    },
    children: [
      {
   
   
        path: 'listadvice',
        name: 'Listadvice',
        component: () => import('@/views/advice/listadvice/index'),
        meta: {
   
   
          title: '建议列表',
          icon: 'icon',
          roles: ['admin']
        }
      },
      {
   
   
        path: 'saveadvice',
        name: 'Saveadvice',
        component: () => import('@/views/advice/saveadvice/index'),
        meta: {
   
   
          title: '新增建议',
          icon: 'icon',
          roles: ['admin', 'rm', 'rc', 'sm', 'sc']
        }
      },
    ]
  },
  //档案管理
  {
   
   
    path: '/record',
    component: Layout,
    redirect: '/record/listrecord',
    name: 'Record',
    meta: {
   
   
      title: '档案管理',
      icon: 'example',
      roles: ['admin', 'rm', 'rc']
    },
    children: [
      {
   
   
        path: 'allrecord',
        name: 'Allrecord',
        component: () => import('@/views/record/allrecord/index'),
        meta: {
   
   
          title: '所有档案',
          icon: 'example',
          roles: ['admin']
        }
      },
      {
   
   
        path: 'listrecord',
        
vue-admin-template 启用准备工作 vue-admin-template是基于vue-element-admin的一套后台管理系统基础模板(最少精简版),可作为模板进行二次开发。你可以在的基础上进行二次开发,把当做工具箱,想要什么功能或者组件就去那里复制过来。 阅读详情

相关推荐

两小时从零学会vue-admin-template框架

一、vue-admin-template 1.项目简介 官网:https://github.com/PanJiaChen vue-element-admin是含有丰富的组件,vue-admin-template是一个基础的单页面应用的框架,适合在vue-admin-template上二次开发,开发需要的组件就可以直接的从vue-element-admin里面拷贝上去。适合于后台管理的中小型项目,内部的架构非常的完善,简单易上手。 1.2下载项目 vue-element-admin 官网 vue-admi

drhrht的博客 8953

使用vue2+element+vue-admin-template创建单页应用小记-2.动态权限路由加载

修改@/src/router/index.js(@代表项目根路径,下同) 定义静态路由变量,代表登录前的两个页面login和404 export const constantRouterMap = [ { path: '/login', component: () => import('@/views/login/index'), hidden: true }, { path...

onlyjin的博客 3199

vue-admin-template 动态路由的实现(方式一),简单聊聊2024年前端开发的现状和思考

meta: { title: ‘机器管理’, icon: ‘android’ },meta: { title: ‘机器列表’, icon: ‘’ }},meta: { title: ‘软件管理’, icon: ‘software’ },meta: { title: ‘版本管理’, icon: ‘’ }},meta: { title: ‘使用说明’, icon: ‘’ }},meta: { title: ‘公众号设置’, icon: ‘weichat’ },

m0_60607675的博客 854

【AI 编程工具进阶用法】如何在Cursor、Trae等工具中使用Skills

OpenSkills是一个开源项目,用于在Cursor、Trae等AI编程工具中添加可复用、可组合的"能力模块"。安装流程包括:1)全局安装OpenSkills CLI工具;2)选择安装Anthropic官方Skills到项目或全局;3)创建AGENTS.md文件同步Skills;4)在AI工具中调用Skills。此外还介绍了UI/UX Pro Max Skill项目,通过npm安装后可为AI添加设计能力。这些Skills相当于为AI工具安装"高级技能包"

肌肉金轮的博客 3539

MaPLe: Multi-modal Prompt Learning

具体而言,我们在语言分支中附加可学习的上下文标记,并通过耦合函数显式地将视觉 Prompt 置于语言 Prompt 上,以建立它们之间的交互。使用 Prompt 来适应CLIP (语言或视觉) 的单个分支中的表示是次优的,因为它不允许在下游任务上动态调整两个表示空间的灵活性。由此,提出了一种分支感知的多模态 Prompt,通过在两种模态之间共享提示来协调 CLIP 的视觉和语言分支。在 Prompt Tuning 中,必须采取多模态方法获得同时适应 CLIP 的视觉和语言分支,以实现上下文优化的完整性。

weixin_48907099的博客 1051

上汽CPMP开发流程与A、B、C、D样

也叫验收样件或设计样件,是根据A样试制结果优化后的样件,外观、功能达到设计要求,B样可以是手工样件或者模具件,B样件的全维度产品功能和尺寸参数已经固化下来,并需要和最终的量产产品保持一致。为批量样件或生产样件、展示样件,是在A/B的基础上完善结果,此时的产品状态已经完全定型,并能够满足客户和市场提出的各类需求。预试生产(Pre-Production)----------------------------------------------------------------------→D样。

weixin_43602865的博客 3707

virtuoso--DFF

27-实验课-std_cell2

qq_61440044的博客 2003

协方差矩阵

对两个类内协方差矩阵进行对角化,可以将它们变换为对角矩阵。这个过程可以通过对每个协方差矩阵进行特征值分解来实现,从而得到它们的特征向量和特征值,进而得到它们的对角矩阵形式。这个过程的意义在于,它可以帮助我们找到一个新的坐标系,使得在这个坐标系下,每个特征之间都是独立的,从而简化了计算。具体来说,当我们使用对角协方差矩阵作为特征向量的坐标系时,它意味着每个特征之间都是相互独立的,从而方便了进一步的分析和处理。在实际应用中,对角化协方差矩阵可以用于降维、特征选择和分类等任务。

m0_55196097的博客 1万+

自监督学习原理与代码实战案例讲解

自监督学习原理与代码实战案例讲解 作者:禅与计算机程序设计艺术 1. 背景介绍 1.1 自监督学习的起源与发展 1.1.1 监督学习的局限性

AI天才研究院 620

自动化测试与AI的结合应用

自动化测试,人工智能,机器学习,深度学习,测试用例生成,缺陷预测,测试优化 1. 背景介绍 在软件开发领域,自动化测试已成为不可或缺的一部分,它可以提高测试效率、降低测试成本,并确保软件质量。然而,传统的自动化测试方法往往依赖于人工编写的测试用例,这不仅耗时费力,而且难以应对复杂软件

AI架构师小马 2245

【100%通过率】华为OD机试真题 JavaScript 实现【对称美学】【2023 Q1 | 100分】

对称就是最大的美学,现有一道关于对称字符串的美学。 已知: 第1个字符串:R 第2个字符串:BR 第3个字符串:RBBR 第4个字符串:BRRBRBBR 第5个字符串:RBBRBRRBBRRBRBBR相信你已经发现规律了,没错! 就是第i个字符串=第i-1号字符串的取反+第i-1号字符串。取反即(R->B,B->R); 现在告诉你n和k,让你求得第n个字符串的第k个字符是多少。(k的编号从0开始)

MISAYAONE的博客 9850

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

上一篇: Cookie和Session的区别与联系
下一篇: 多级选择器的前后端实现
fengprogrammer
博客等级 码龄6年 2985粉丝 15原创
评论 7
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值