springboot集成积木报表,怎么将平台用户信息传递到积木报表

起因是因为需要研究在积木报表做数据筛选的时候需要拿到系统当前登录用户信息做筛选

官网有详细介绍怎么集成进去的:按照这个来就好积木报表集成,不在这次的记录范围

新的模块

集成以后肯定是一个单独的模块来结合详细介绍

  1. 怎么获取当前springboot的登录用户信息 重写JmReportTokenServiceI的方法
@Service
public class JimuReportTokenServiceImpl implements JmReportTokenServiceI {
    @Autowired
    private TokenService tokenService;

    @Override
    public String[] getRoles(String s) {
        return new String[0];
    }
    @Override
    public 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;*/
    }

    @Override
    public String getUsername(String s) {
        LoginUser loginUser = tokenService.getLoginUser();
        return loginUser.getUsername();
    }

    @Override
    public Boolean verifyToken(String s) {
        /*if (s != null && s.length() > 0) {
            LoginUser loginUser = tokenService.getLoginUser();
            return loginUser !=null;
        }
        return false;*/
        return true;
    }

    @Override
    public 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());
        //设置当前登录用户部门ID
        map.put("sysDeptId",loginUser.getSysUser().getDepJob());
        System.out.println(map+"----");
        //设置当前登录用户部门描述
		//        	map.put("describe",loginUser.getSysUser().getDept().getDescribes();
        return map;
    }
}

解释:主要是重写 getUserInfo()方法,通过token获取到当前的用户信息,然后存入到map中,注意我现在已经把sysUserName作为key,把用户信息存起来了,那么看在积木报表中怎么获取到。

  1. 然后就是看积木报表怎么实现

在这里插入图片描述
注意我在第一点,通过重写getUserInfo()方法把用户信息存在了key为sysUserName的map中,在积木报表中通过’#{sysUserNamey}'即可获取。

我是张同学,记录下工作中出现的问题。

不积跬步,无以至千里;不积小流,无以成江海

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值