vue-element-admin 动态加载路由菜单,实现管理菜单权限控制

vue-element-admin 动态加载后端返回菜单,实现后台管理菜单权限控制

PS

首次使用vue-element-admin开发一个后台管理系统,细读官方教学

手摸手,带你用 vue 撸后台 系列二(登陆权限篇)

给的示例是前端实现权限控制,无法满足也无需求,于是乎,就查阅各种资料,查看示例,整理出如下方法,实现前端通过后端的接口菜单,实现动态加载后台菜单。
如有想实现的小白,可按照我如下步骤,比对,进行实现。
唯一需要注意的是,后台返回的json数据结构更改

主要改变文件

  1. /src/router/index.js 修改变量:asyncRoutes 为如下:

    export const asyncRoutes = [
    	{
         
    		path: '*',
    		redirect: '/404',
    		hidden: true
    	}
    ]
    
  2. src\store\modules\permission.js 做如下修改:

    import {
          asyncRoutes, constantRoutes } from '@/router'
    import {
          getAuthMenu } from '@/api/menu'
    import Layout from '@/layout'
    
    /**
    * Use meta.role to determine if the current user has permission
    * 使用 meta.role 确定当前用户是否具有权限
    * @param roles
    * @param route
    */
    function hasPermission(roles, route) {
         
    	if (route.meta && route.meta.roles) {
         
     		return roles.some(role => route.meta.roles.includes(role))
    	} else {
         
     		return true
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值