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中的参数一致 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM