springboot集成积木报表后怎么将平台用户信息传递到积木报表
- 起因是因为需要研究在积木报表做数据筛选的时候需要拿到系统当前登录用户信息做筛选
- 新的模块
起因是因为需要研究在积木报表做数据筛选的时候需要拿到系统当前登录用户信息做筛选
官网有详细介绍怎么集成进去的:按照这个来就好积木报表集成,不在这次的记录范围
新的模块
集成以后肯定是一个单独的模块来结合详细介绍
- 怎么获取当前springboot的登录用户信息 重写JmReportTokenServiceI的方法
@Service
public class JimuReportTokenServiceImpl implements JmReportTokenServiceI {@Autowiredprivate TokenService tokenService;@Overridepublic String[] getRoles(String s) {return new String[0];}@Overridepublic String getToken(HttpServletRequest request) {String token = request.getParameter("token");String jmToken = request.getHeader("token");if (token == null || token.length() == 0) {token = jmToken;}LoginUser loginUser = tokenService.getLoginUser();if (loginUser != null) {return token;}return "";/* System.out.println("getToken called222"+SecurityUtils.getToken());String token = tokenService.getToken();if (token == null) {token = "mock-token"; // 模拟一个 token}System.out.println("getToken called: " + token);return token;*/}@Overridepublic String getUsername(String s) {LoginUser loginUser = tokenService.getLoginUser();return loginUser.getUsername();}@Overridepublic Boolean verifyToken(String s) {/*if (s != null && s.length() > 0) {LoginUser loginUser = tokenService.getLoginUser();return loginUser !=null;}return false;*/return true;}@Overridepublic Map<String, Object> getUserInfo(String token) {System.out.println("getUserInfo called");LoginUser loginUser = tokenService.getLoginUser();// 将所有信息存放至map 解析sql会根据map的键值解析,可自定义其他值Map<String, Object> map = new HashMap<>(20);
// LoginUser loginUser = SecurityUtils.getToken(token);//设置当前登录用户昵称map.put("sysUserName",loginUser.getLoginName());//设置当前登录用户部门IDmap.put("sysDeptId",loginUser.getSysUser().getDepJob());System.out.println(map+"----");//设置当前登录用户部门描述// map.put("describe",loginUser.getSysUser().getDept().getDescribes();return map;}
}
解释:主要是重写 getUserInfo()方法,通过token获取到当前的用户信息,然后存入到map中,注意我现在已经把sysUserName作为key,把用户信息存起来了,那么看在积木报表中怎么获取到。
- 然后就是看积木报表怎么实现
注意我在第一点,通过重写getUserInfo()方法把用户信息存在了key为sysUserName的map中,在积木报表中通过’#{sysUserNamey}'即可获取。
我是张同学,记录下工作中出现的问题。
不积跬步,无以至千里;不积小流,无以成江海