反馈已提交

网络繁忙

当前为10.0版本文档,只有最新版本的文档支持在线编辑修改,如果想创建/编辑文档,请移步至 最新版帮助文档

数据JSON服务API

  • 文档创建者:mqh
  • 历史版本:5
  • 最近更新:Carly 于 2022-08-12
  • 1. 概述

    1.1 版本

    报表服务器版本JAR 包版本插件版本
    10.02018-07-31V1.0


    1.2 应用场景

    FR系统提供了强大的数据支持功能,支持多种数据库和类型,并提供了异构数据源模型,使得同一张报表的数据可以来源于同一数据库的多个不同表,或多个不同数据库。

    数据JSON服务API功能插件是将报表数据集、报表结果输出为JSON格式内容,并作为WEB接口服务开放,提供给报表系统前端或者其他系统使用。


    1.3 功能介绍

    插件功能提供JSON数据接口服务功能。

    主要功能:

    • 报表模板数据集输出JSON服务API功能,提供调用接口。

    • 报表结果输出JSON服务API功能,提供调用接口。

    • 工具栏按钮实现报表内容导出JSON文件下载功能。


    2. 插件介绍

    2.1 插件安装

    点击下载插件:数据JSON服务API插件

    设计器插件安装方法参照 设计器插件管理

    服务器安装插件方法参照 服务器插件管理


    2.2 操作方法

    安装插件完成后,即可使用JSON接口服务功能。

    2.2.1 数据集JSON服务API

    URL地址

    http://ip:port/webroot/decision/url/api/data

    METHOD

    POST

    Content-Type

    application/json

    RAW

    {

        "report_path": "Parameter_3.cpt",

        "datasource_name": "ds1",

        "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,...},...]

    }

    参数说明:

    l  report_path:报表模板路径名称(必须项),例如 doc/Parameter_3.cpt。

    l  datasource_name:数据集名称(必须项);

    l  page_number:页码(必须项);

    l  page_size:每页行数(必须项);

    l  parameters:数据集参数(可选);参数名对应数据集中参数名;

    l  timestamp:当前时间的毫秒数(用于签名认证,可选);

    l  sign:安全签名(用于签名认证,可选);

    响应说明:

    l  err_code:0为正常,其他参见错误码表;

    l  err_msg:错误信息;

    l  total_page_number:总页数;

    l  page_number:当前页码;

    l  page_size:每页行数(必须项);

    l  data:获取到的JSON数据;数据key为数据集列名。

    数据集JSON示例:

    访问报表Parameter_3.cpt的数据集内容。

    获取data结果:

    2.2.2 报表结果JSON服务API

    URL地址

    http://ip:port/webroot/decision/url/api/report

    METHOD

    POST

    Content-Type

    application/json

    RAW

    {

        "report_path": "Parameter_3.cpt",

        "start_page": 1,

        "end_page": 1,

        "timestamp": "123456789",

        "sign": "468705dc60eff5f67438f9b94ed15245",

        "parameters": [{

               "name": "地区",

               "type": "String",

               "value": "华北"

           },

           {

               "name": "产品类型",

               "type": "String",

               "value": "饮料"

           }

        ]

    }

    Response响应

    {

        "err_code": 0,

        "err_msg": "",

        "start_page": 1,

        "end_page": 1,

        "total_page_number": 1,

        "data": [

           [{

               "A1": "华北销售额","A2": "地区"

           }]

        ]

    }

    参数说明:

    l  report_path:报表模板路径名称(必须项),例如 doc/Parameter_3.cpt。

    l  start_page:报表内容起始页码(必须项);

    l  end_page:报表内容结束页码(必须项);

    l  parameters:报表面板参数(可选);参数名对应模板参数空间名称;

    l  timestamp:当前时间的毫秒数(用于签名认证,可选);

    l  sign:安全签名(用于签名认证,可选);

    响应说明:

    l  err_code:0为正常,其他参见错误码表;

    l  err_msg:错误信息;

    l  total_page_number:总页数;

    l  start_page:报表内容起始页码;

    l  end_page:报表内容结束页码;

    l  data:获取到的JSON数据;数据key为行列码标识。

    报表结果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比较,相同即符合。

    错误码表

      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

    报表数据集为空

    2.2.3 报表内容导出JSON文件

    在设计器打开对应报表文件,点击菜单“模板”->“模板web属性”->“分页预览属性”,会看到插件对应 JSON导出。先选择为“为该模板单独设置”项,再选择对应组件添加即可。

    如图:

    预览报表时,工具栏会显示导出按钮,点击即可执行。

    3. 插件示例

    在报表中新增按钮,并添加事件。js代码如下:

    $.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");
    }
    });


    示例模板:

    示例模板.cpt

    以上。

    附件列表


    主题: 二次开发
    已经是第一篇
    已经是最后一篇
    • 有帮助
    • 没帮助
    • 只是浏览

    售前咨询电话

    400-811-8890转1

    在线技术支持

    请前往「服务平台」,选择「在线支持」

    热线电话:400-811-8890转2

    总裁办24H投诉

    热线电话:173-1278-1526