可以将已经做好的报表集成到第三方系统中,报表是H5的,所以只需要在第三方系统中通过iframe嵌入报表链接即可.
iReport365提供了以下两种报表集成方式:
【一、用户名密码参数集成】
通过将用户名和密码作为参数放入报表链接中,实现即时登录和权限控制。
在报表设计器中,预览报表,获得报表的访问链接,例如:
https://enterprise.ireport365.com/view/report.do?reportId=98062e02a4294eda86423f464485089e
在报表的访问链接中加入用户名及密码参数,例如:
https://enterprise.ireport365.com/view/report.do?reportId=98062e02a4294eda86423f464485089e&username=demo&password=123456
参数列表如下:
参数名 含义 username 用户的登录名 password 用户的登录密码,明文 md5password 用户的登录密码,使用md5加密的密文 注:password和md5password只需提供其中一个即可
【二、AccessToken安全访问集成】
向报表服务器获得accessToken(访问码),通过Api生成包含加密认证的报表url,url过期时间为10分钟,大大提升系统安全性
- 创建授权应用,参考:应用授权
- 下载Api源码:
替换Api源码中的以下参数:
Api源码参数 描述 host 替换成相应的报表服务器地址,包含http,不能以 / 结尾 appId 授权应用的appId appSecret 授权应用的安全码 - Api源码使用:
API_v1: 第一版API接口(已废弃)
API_v2: 第二版API接口
【与第三方用户系统集成】
如果需要与现有的用户系统集成,用户无需管理新的密码,可以启用iReport365报表平台的用户登录脚本,当用户登录时,执行管理员设定的脚本,比如使用SQL或WebService验证用户输入的密码。
- 平台管理-》系统设置-》用户登录脚本-》开启
设置用户登录脚本,例如:
importPackage(java.util); importPackage(org.apache.commons.codec.digest); //获取用户登录时填写的用户名和密码 var username=request.getParameter("username"); var password=request.getParameter("password"); //将密码MD5加密 var md5Password = DigestUtils.md5Hex(password); //用户库的连接名称 var connectionName = "user_db_connection"; var param = new ArrayList(); param.add(username); param.add(md5Password); //查询用户库 var sql = "select uid,name from user_table where username=? and password=?"; var data = databaseService.query(connectionName, sql, param); if(data.size() === 0){ result.setSuccess(false); result.setMessage("用户名或密码错误"); }else{ result.setSuccess(true); }