人事管理项目-动态加载用户菜单
用户菜单就是用户登录成功后首页左侧显示的菜单,如图-12所示。这个菜单数据是根据用户的角色动态加载的,即不同身份的用户登录成功后看到的菜单是不一样的。接下来看这个功能如何实现。
后端接口实现
后端接口的实现比较容易,根据登录用户的id查询该用户具有的角色,再根据角色信息查看对应的Menu,数据模型如图
首先创建MenuMapper,根据用户id查询Menu,代码如下:
对应的MenuMapper.xml文件中则根据当前用户id查询用户可以查看的角色,查询SQL如下(源文件过大,这里就不展示了,完整文件可以在GitHub上下载,下载地址为https://github.com/lenve/vhr/blob/master/hrserver/src/main/java/org/sang/mapper/MenuMapper.xml):
然后分别创建MenuService和ConfigController,ConfigController用来返回基本的系统配置信息。
MenuService代码如下:
其中,HrUtils是一个工具方法,用来返回当前登录用户的信息。
ConfigController代码如下:
配置完成后,启动Spring Boot项目,访问http://localhost:8082/config/sysmenu接口,即可看到当前登录用户所能查看的菜单数据,如图所示。