一、用户信息的获取(前端)
1.全局的路由控制:permission.js文件中,其中的router.beforeEach()方法,是每次页面跳转都会调用的方法,其中包括了获得用户信息的getInfo()方法
2.跳转到user.js。在getInfo()方法中,先创建Promise异步处理对象,
3.跳转login.js。在getInfo()方法中,根据method和url获取后台的用户信息
二、用户对象获取(后端)
1.SysLoginController.getInfo()方法,获取角色信息roles和权限信息 permissions
roles:获取用户角色信息
permissions:*:*:* 指获取全部权限,因为我们是超级管理员,所以是全部权限
封装到ajax中返回到前端
commit:是一个全局存储,是指查询到角色和权限以后,存储到vueX里,做全局存储,页面都可调用
三、动态菜单的路由(前端)
1.回到permission.js文件中,调用GenerateRoutes()方法,跳转到modules/permissions.js中
2. 生成路由,调用GenerateRoutes()方法,再跳转到menu.js调用getRouters方法,
3.跳转到后台url: '/getRouters', method: 'get'
四、获取菜单路由信息(后台)
1.SysLoginController.getRouters():调用menuService.selectMenuTreeByUserId方法
2.跳转到SysMenuServiceImpl.selectMenuTreeByUserId:
selectMenuTreeByUserId:根据userID获取用户权限内的菜单,
getChildPerms()是把菜单分成父子级菜单,
3.menuService.buildMenus()方法,构建前端路由所需要的菜单,然后返回到前端