【仅供内部供应商使用,不提供对外解答和培训】
Table of Contents |
---|
报表服务器版本 | JAR 包版本 | 插件版本 |
---|---|---|
10.0 | 2018-07-31 | V1.0 |
FR系统提供了强大的数据支持功能,支持多种数据库和类型,并提供了异构数据源模型,使得同一张报表的数据可以来源于同一数据库的多个不同表,或多个不同数据库。
数据JSON服务API功能插件是将报表数据集、报表结果输出为JSON格式内容,并作为WEB接口服务开放,提供给报表系统前端或者其他系统使用。
插件功能提供JSON数据接口服务功能。
主要功能:
报表模板数据集输出JSON服务API功能,提供调用接口。
报表结果输出JSON服务API功能,提供调用接口。
工具栏按钮实现报表内容导出JSON文件下载功能。
OS-235新增功能点:
点击下载插件:数据JSON服务API插件
设计器插件安装方法参照 设计器插件管理
服务器安装插件方法参照 服务器插件管理
安装插件完成后,即可使用JSON接口服务功能。
新版接口接口调用支持跨域请求调用、支持FRM模板取数、多模板多数据集查询。
URL地址 | |
METHOD | POST |
Content-Type | application/json |
RAW | { |
Response响应 | [{ |
参数说明:
响应说明:
数据集JSON示例:
访问报表Parameter_3.cpt的数据集内容。
获取data结果:
URL地址 | |
http://ip:port/webroot/decision/url/api/data | |
METHOD | POST |
Content-Type | application/json |
RAW | { "report_path": "Parameter_3.cpt", "datasource_name": "ds2", "page_number": 1, "page_size": 100, "timestamp": "123456789", "sign": "468705dc60eff5f67438f9b94ed15245", "parameters": [{ "name": "地区", "type": "String", "value": "华北" }, { "name": "产品类型", "type": "String", "value": "饮料" } ] } |
Response响应 | { err_code : 0, err_msg : "", total_page_number : 10, page_number : 1, page_size : 10, data : [{key1:v11,key2:v12,...},...] } |
参数说明:
响应说明:
数据集JSON示例:
访问报表Parameter_3.cpt的数据集内容。
获取data结果:
新版接口接口调用支持跨域请求调用。
URL地址 | |
http://ip:port/webroot/decision/url/api/report | |
METHOD | POST |
Content-Type | application/json |
RAW | { |
Response响应 | { |
参数说明:
响应说明:
报表结果JSON示例:
访问报表Parameter_3.cpt的数据集内容。
参数JSON转换规则
参数类型 | 类型值 | 示例 |
字符串 | String | {"name":"aa","type":"String","value":""} |
整型 | Integer | {"name":"aa","type":"Integer","value":""} |
双精度型 | Double | {"name":"aa","type":"Double","value":""} |
日期 | Date | {"name":"aa","type":"Date","value":""} |
布尔型 | Boolean | {"name":"aa","type":"Boolean","value":""} |
公式 | Formula | {"name":"aa","type":"Formula","value":""} |
安全签名配置
安全签名用于控制接口调用的权限验证。
报表平台管理页面(数据决策系统)-》管理系统-》系统管理-》点击‘常规’选项卡,配置‘JSON服务接口插件’的秘钥内容。如图
安全签名的计算规则为 MD5(秘钥code+report_path+timestamp),默认秘钥为空,不验证。
如配置了秘钥,系统会依规则计算MD5值与sign比较,相同即符合。
国密认证
国密认证用于对接口返回的 data,进行加密处理,避免信息泄露。
在插件参数页面的 启用国密认证 ,维护 SM2 App ID、SM2公钥、SM2私钥的值,即可生效使用。
获取到 加密data,先通过公钥验证签名sigature,再通过key和私钥解密得到对称加密密码,然后使用对称密码解密得到数据。
接口返回加密数据示例:
错误码表
err_code | err_msg |
0 | 正常 |
10 | report_path参数值不正确 |
11 | datasource_name参数值不正确 |
12 | page_number参数值不正确 |
13 | page_size参数值不正确 |
14 | 报表模板文件不存在 |
15 | 安全签名不正确 |
16 | start_page参数值不正确 |
17 | end_page参数值不正确 |
20 | 报表数据集为空 |
在设计器打开对应报表文件,点击菜单“模板”->“模板web属性”->“分页预览属性”,会看到插件对应 JSON导出。先选择为“为该模板单独设置”项,再选择对应组件添加即可。
如图:
预览报表时,工具栏会显示导出按钮,点击即可执行。
在报表中新增按钮,并添加事件。js代码如下:
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
$.ajax({ url: "http://localhost:8075/webroot/decision/url/api/data", type: "POST", contentType: "application/json;charset=utf-8", dataType: "json", data: JSON.stringify({ "report_path": "GettingStarted.cpt", "datasource_name": "ds1", "page_number": 1, "page_size": 100, "parameters": [{ "name": "地区", "type": "String", "value": "华北" }] }), success: function(data) { alert("导出成功" + data.toString()); }, error: function() { alert("baocuo"); } }); |
示例模板:
以上。