vue+elementUI+admin左侧菜单权限、动态路由

**

vue+elementUI+admin左侧菜单权限

**
1.登陆

在login文件下的index.vue(接口在store文件下modules/user.js)
(⚠️注意:登陆页面如果接口成功但进不去页面则需要看一下store/modules/pemission.js的
getUserPowers方法,看这里的返回值是不是正确的

在这里插入图片描述

2.获取用户信息

根据getInfo接口后台返回的信息(接口在store文件下modules/user.js)

3.获取左侧菜单

在router.js中的
asyncRoutes设置动态加载路由,才可以设置
在store/modules/pemission.js中,需要修改的是请求getUserPowers接口,获取后台返回的数据后,使用循环插入layout,最后在自组件中插入组件路径
(//layout需要引入模块才可以用,否则报错)
在这里插入图片描述

4.最主要的是下面这段代码,将遍历好的数据塞到已有的路由

if (roles.data.roles.includes(‘admin’)) {
// if (roles.includes(‘admin’)) {
// console.log(‘6dian’, asyncRoutes)
accessedRoutes = asyncRoutes || []
} else {
// console.log(‘7dian’)
accessedRoutes = filterAsyncRoutes(asyncRoutes, roles)
}
5.退出登陆

接口在store文件下modules/user.js

⚠️注意事项:
asyncRoutes(动态加载路由)变量中,只能写在
constantRoutes(静态加载路由)静态数据中
解决办法:后台返回的数据中添加一个参数‘hidden:true/false’,控制是否显示在左侧
//后台返回的路由参数需要和在本地文件router.js中的参数一致

  • 7
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值