集成文档


用户管理

用户登录部分采用restful接口直接调用,相关接口如下

获取用户ticket

接口功能

获取用户身份ticket,ticket有效期为5分钟,并且只能使用一次,使用后立即失效

URL

http://127.0.0.1:9191/api/rest/user/get_ticket/

支持格式

JSON

HTTP请求方式

POST

请求参数
参数 必选 类型 说明
username ture string 用户名
password ture string 密码
请求示例
{
    "username":"test",
    "password":"test"
}
返回字段
返回字段 字段类型 说明
ticket string 授权ticket
返回示例
{
    "ticket": "2b977822a8e711ec9c0300e04c239987"
}

用户更新或创建

接口功能

通过管理员调用,如果用户存在则更新用户信息,如果用户不存在则创建用户。返回token和用户信息

URL

http://127.0.0.1:9191/api/rest/user/update_create/

支持格式

JSON

HTTP请求方式

POST

请求参数
参数 必选 类型 说明
username ture string 登录名
password ture string 密码
realname false string 用户真实名称
groups false string 用户角色,多个用英文逗号隔开
departments false array 用户部门数组
- code true string 部门编码
- name true string 部门名称
请求示例
 {
    "username":"test",
    "password":"test",
    "realname":"张三",
    "groups":"group1,group2",
    "departments":[
        {
            "code":"001",
            "name":"depart1"
        }
    ]
}
返回字段
返回字段 字段类型 说明
token string 用户token
user object 用户信息
返回示例
{
    "token": "2b977822a8e711ec9c0300e04c239987",
    "user": {
        "id": 2,
        "username": "test",
        ...
        "is_active": true,
        "is_superuser": false
    }
}

用户同步

接口功能

批量同步用户信息

URL

http://127.0.0.1:9191/api/rest/user/sync_users/

支持格式

JSON

HTTP请求方式

POST

请求头
参数 必选 类型 说明
Authorization ture string Token xxxxxxxxxxxxx

xxx 代表通过登录接口获取的用户的 token,注意中间有一空格。

请求参数
参数 必选 类型 说明
users ture object 用户列表
- username ture string 用户名
- password ture string 密码
realname false string 用户真实名称
- groups false string 用户角色,多个用英文逗号隔开
- departments false array 用户部门数组
-- code true string 部门编码
-- name true string 部门名称
auto_remove false bool 是否删除多余的用户
请求示例
{
    "users":[
        {
            "username":"test",
            "password":"test",
            "realname":"张三",
            "groups":"group1,group2",
            "departments":[
                {
                    "code":"001",
                    "name":"depart1"
                }
            ]
        },
        {
            "username":"test2",
            "password":"test2",
            "groups":"group3"
        }
    ],
    "auto_remove":true
}
返回字段
返回字段 字段类型 说明
code int 返回结果状态。200:正常。
message string 返回信息
返回示例
{
    "code": 200,
    "message": "同步成功"
}

用户列表

接口功能

查询用户列表

URL

http://127.0.0.1:9191/api/rest/user/

HTTP请求方式

GET

请求头
参数 必选 类型 说明
Authorization ture string Token xxxxxxxxxxxxx

xxx 代表通过登录接口获取的用户的 token,注意中间有一空格。

查询参数
参数 必选 类型 说明
p false int 第几页
count false int 每页数据量,默认值:50,最大值:10000
search false string 根据用户名搜索
请求示例

http://127.0.0.1:9191/api/rest/user/?p=1&count=2&search=a

返回字段
返回字段 字段类型 说明
count int 符合条件的总记录数
next string 下一页查询语句
previous string 上一页查询语句
results array 结果列表
返回示例
{
    "count": 5,
    "next": "http://127.0.0.1:9191/api/rest/user/?p=2&count=2&search=a",
    "previous": null,
    "results": [
        {
            "id": 1,
            "username": "admin",
            ...
            "is_active": true,
            "is_superuser": true
        },
        {
            "id": 3,
            "username": "asdf",
            ...
            "is_active": true,
            "is_superuser": true
        }
    ]
}

用户删除

接口功能

删除单个用户

URL

http://127.0.0.1:9191/api/rest/user/{id}/

HTTP请求方式

DELETE

请求头
参数 必选 类型 说明
Authorization ture string Token xxxxxxxxxxxxx

xxx 代表通过登录接口获取的用户的 token,注意中间有一空格。

PATH参数
参数 必选 类型 说明
id ture int 用户id
请求示例

http://127.0.0.1:9191/api/rest/user/2/

用户登录

接口功能

登录获取token

URL

http://127.0.0.1:9191/api/rest/user/login/

支持格式

JSON

HTTP请求方式

POST

请求参数
参数 必选 类型 说明
username ture string 用户名
password ture string 密码
请求示例
{
    "username":"test",
    "password":"test"
}
返回字段
返回字段 字段类型 说明
token string 用户token
user object 用户信息
返回示例
{
    "token": "2b977822a8e711ec9c0300e04c239987",
    "user": {
        "id": 1,
        "username": "admin",
        ...
        "is_active": true,
        "is_superuser": true
    }
}

验证登录状态

接口功能

查询用户列表

URL

http://127.0.0.1:9191/api/rest/user/verify_token/

HTTP请求方式

GET

请求头
参数 必选 类型 说明
Authorization ture string Token xxxxxxxxxxxxx

xxx 代表通过登录接口获取的用户的 token,注意中间有一空格。

返回数据

状态码200表示token有效,不是200表示token已失效

报表集成

报表集成主要涉及三部分,报表管理页面、报表设计页面和报表展示页面,三部分均提供了封装好的web页面,第三方采用iframe方式嵌入即可。
另外管理页面涉及到的功能均提供了restful接口,第三方也可自行开发页面,并通过接口调用实现功能。

报表管理页面

页面嵌入

所有报表列表页面URL

http://127.0.0.1:9191/bi/reportList

BI报表列表页面URL

http://127.0.0.1:9191/bi/dashboard

电子表格列表页面URL

http://127.0.0.1:9191/bi/spreadsheet

URL参数
参数 必选 类型 说明
bi_ticket false string ticket和用户名密码二选一
username false string 用户名
password false string 密码
title false string 定制页面标题

bi_ticket指通过 获取用户ticket 接口获取的用户的 ticket

URL示例

http://127.0.0.1:9191/bi/reportList?bi_ticket=2b977822a8e711ec9c0300e04c239987

报表列表接口

接口功能

查询报表列表

URL

http://127.0.0.1:9191/api/rest/rs/

HTTP请求方式

GET

请求头
参数 必选 类型 说明
Authorization ture string Token xxxxxxxxxxxxx

xxx 代表通过登录接口获取的用户的 token,注意中间有一空格。

查询参数
参数 必选 类型 说明
p false int 第几页
count false int 每页数据量,默认值:50,最大值:10000
name false string 根据报表名搜索
type false int 根据报表类型搜索,1:电脑, 2:手机, 3:电脑+手机, 10:大屏, 15:填报报表, 20:电子表单, 21:电子表单-PC, 22:电子表单-MOBILE
valid false string 根据状态搜索,启用true,不启用false
category false string 根据标签搜索,多标签用法如下:categroy=1&category=2
请求示例

http://127.0.0.1:9191/api/rest/rs/?p=1&count=50&valid=true

返回字段
返回字段 字段类型 说明
count int 符合条件的总记录数
next string 下一页查询语句
previous string 上一页查询语句
results array 结果列表
返回示例
{
    "count": 105,
    "next": "http://127.0.0.1:9191/api/rest/rs/?p=2&count=2&search=a",
    "previous": null,
    "results": [
        {
            "id": "46838474a8b711ec996486cff97c8217",
            "name": "跳转页签",
            "type": 20,
            ...
            "public": false
        },
        {
            "id": "072d9ef69ac911eca7488cec4b636c59",
            "name": "ocr",
            "type": 2,
            ...
            "public": false
        }
        ...
    ]
}

报表创建接口

接口功能

查询报表列表

URL

http://127.0.0.1:9191/api/rest/rs/

HTTP请求方式

POST

请求头
参数 必选 类型 说明
Authorization ture string Token xxxxxxxxxxxxx

xxx 代表通过登录接口获取的用户的 token,注意中间有一空格。

请求参数
参数 必选 类型 说明
name true string 报表名
type true int 报表类型,1:电脑, 2:手机, 3:电脑+手机, 10:大屏, 15:填报报表, 20:电子表单, 21:电子表单-PC, 22:电子表单-MOBILE
valid true bool 启用true,不启用false
categories false string 分类标签,标签id数组
public false bool 是否对所有用户可见,默认是False
请求示例
{
    "name":"report1",
    "type":1,
    "valid":true,
    "categories":[1,2]
}
返回字段
返回字段 字段类型 说明
id string 报表id
name string 报表名
type int 报表类型
valid bool 启用true,不启用false
categories string 分类标签,标签id数组
public bool 是否对所有用户可见,默认是False
返回示例
{
    "id": "6b81edd0a8f211ecb60500e04c239987",
    "name": "report1",
    "type": 1,
    "valid": true,
    "categories": [1, 2],
    "public": false
}

报表修改接口

接口功能

修改报表基本信息

URL

http://127.0.0.1:9191/api/rest/rs/{id}/

HTTP请求方式

PATCH

请求头
参数 必选 类型 说明
Authorization ture string Token xxxxxxxxxxxxx

xxx 代表通过登录接口获取的用户的 token,注意中间有一空格。

PATH参数
参数 必选 类型 说明
id ture string 报表id
请求参数
参数 必选 类型 说明
name true string 报表名
type true int 报表类型,1:电脑, 2:手机, 3:电脑+手机, 10:大屏, 15:填报报表, 20:电子表单, 21:电子表单-PC, 22:电子表单-MOBILE
valid true bool 启用true,不启用false
categories false string 分类标签,标签id数组
public false bool 是否对所有用户可见,默认是False
请求示例

http://127.0.0.1:9191/api/rest/rs/6b81edd0a8f211ecb60500e04c239987/

{
    "name":"report2"
}
返回字段
返回字段 字段类型 说明
id string 报表id
name string 报表名
type int 报表类型
valid bool 启用true,不启用false
categories string 分类标签,标签id数组
public bool 是否对所有用户可见,默认是False
返回示例
{
    "id": "6b81edd0a8f211ecb60500e04c239987",
    "name": "report2",
    "type": 1,
    "valid": true,
    "categories": [1, 2],
    "public": false
}

报表删除接口

接口功能

删除单个报表

URL

http://127.0.0.1:9191/api/rest/rs/{id}/

HTTP请求方式

DELETE

请求头
参数 必选 类型 说明
Authorization ture string Token xxxxxxxxxxxxx

xxx 代表通过登录接口获取的用户的 token,注意中间有一空格。

PATH参数
参数 必选 类型 说明
id ture int 用户id
请求示例

http://127.0.0.1:9191/api/rest/rs/6b81edd0a8f211ecb60500e04c239987/

报表批量删除接口

接口功能

删除多张报表

URL

http://127.0.0.1:9191/api/rest/rs/deletemany/

HTTP请求方式

POST

请求头
参数 必选 类型 说明
Authorization ture string Token XXXXXXXXXXXXXXXXXXX

(xxx 代表通过登录接口获取的用户的 token,注意中间有一空格)

请求参数
参数 必选 类型 说明
ids ture array 报表id数组
请求示例

http://127.0.0.1:9191/api/rest/rs/deletemany/

{
    "ids":[
        "6b81edd0a8f211ecb60500e04c239987",
        "9a9d4500027411e9a468005056c00008",
    ]
}

报表复制接口

接口功能

复制多张报表

URL

http://127.0.0.1:9191/api/rest/rs/clone/

HTTP请求方式

POST

请求头
参数 必选 类型 说明
Authorization ture string Token xxxxxxxxxxxxx

xxx 代表通过登录接口获取的用户的 token,注意中间有一空格。

请求参数
参数 必选 类型 说明
ids ture array 报表id数组
clone_type false int 是否复制数据表,0:不复制,1:复制,默认值0
请求示例

http://127.0.0.1:9191/api/rest/rs/clone/

{
    "ids":[
        "6b81edd0a8f211ecb60500e04c239987",
        "9a9d4500027411e9a468005056c00008",
    ],
    "clone_type" : 0
}

报表导出接口

接口功能

复制多张报表

URL

http://127.0.0.1:9191/api/rest/rs/export/

HTTP请求方式

POST

请求头
参数 必选 类型 说明
Authorization ture string Token xxxxxxxxxxxxx

xxx 代表通过登录接口获取的用户的 token,注意中间有一空格。

请求参数
参数 必选 类型 说明
ids ture array 报表id数组
encrypt_type false int 是否加密SQL,0:不加密,1:加密,默认值0
export_param false int 是否导出参数,0:不导出,1:导出,默认值0
export_type false int 是否导出数据表,0:不导出,1:导出,默认值0
include_tree false int 是否包含目录,0:不包含,1:包含,默认值0
请求示例

http://127.0.0.1:9191/api/rest/rs/export/

{
    "ids":[
        "6b81edd0a8f211ecb60500e04c239987",
        "9a9d4500027411e9a468005056c00008",
    ],
    "export_param" : 1
}

报表导入接口

接口功能

复制多张报表

URL

http://127.0.0.1:9191/api/rest/rs/import/

HTTP请求方式

POST

请求头
参数 必选 类型 说明
Authorization ture string Token xxxxxxxxxxxxx

xxx 代表通过登录接口获取的用户的 token,注意中间有一空格。

请求参数
参数 必选 类型 说明
file ture file 报表id数组
请求示例

http://127.0.0.1:9191/api/rest/rs/export/

{
    "ids":[
        "6b81edd0a8f211ecb60500e04c239987",
        "9a9d4500027411e9a468005056c00008",
    ],
    "export_param" : 1
}

报表设计页面

页面嵌入

页面URL

http://127.0.0.1:9191/bi/design

URL参数
参数 必选 类型 说明
bi_ticket false string ticket和用户名密码二选一
username false string 用户名
password false string 密码
id false string 报表id, 如果id为空会先弹出创建窗口

bi_ticket指通过 获取用户ticket 接口获取的用户的 ticket

URL示例

http://127.0.0.1:9191/bi/design?id=81949300a4f611ec8f1586cff97c8217&bi_ticket=2b977822a8e711ec9c0300e04c239987

报表展示页面

基本功能

页面URL

http://127.0.0.1:9191/bi/show

URL参数
参数 必选 类型 说明
bi_ticket false string ticket和用户名密码二选一
username false string 用户名
password false string 密码
id true string 报表id

bi_ticket指通过 获取用户ticket 接口获取的用户的 ticket

URL示例

http://127.0.0.1:9191/bi/show?id=81949300a4f611ec8f1586cff97c8217&bi_ticket=2b977822a8e711ec9c0300e04c239987

查询参数

对于带查询参数的报表,可以通过在url上拼接的方式对参数赋默认值。比如报表中有一个参数部门,希望报表打开的时候显示研发部的数据,可以采用以下url打开报表:

http://127.0.0.1:9191/bi/show?id=81949300a4f611ec8f1586cff97c8217&bi_ticket=2b977822a8e711ec9c0300e04c239987&部门=研发部

如果参数有多个值,多个值之间用英文逗号隔开

http://127.0.0.1:9191/bi/show?id=81949300a4f611ec8f1586cff97c8217&bi_ticket=2b977822a8e711ec9c0300e04c239987&部门=研发部,产品部

电子表格快速打印

对于电子表格类型的报表,可以不经过页面渲染直接执行打印操作,方法为在url上添加mode=print

http://127.0.0.1:9191/bi/show?id=81949300a4f611ec8f1586cff97c8217&bi_ticket=2b977822a8e711ec9c0300e04c239987&mode=print

如果需要保存为pdf文件,而不是直接打印,方法为在url上添加mode=pdf

http://127.0.0.1:9191/bi/show?id=81949300a4f611ec8f1586cff97c8217&bi_ticket=2b977822a8e711ec9c0300e04c239987&mode=pdf

直接打印的时候也仍然可以对页面中设置的参数赋默认值

http://127.0.0.1:9191/bi/show?id=81949300a4f611ec8f1586cff97c8217&bi_ticket=2b977822a8e711ec9c0300e04c239987&部门=研发部,产品部&mode=print

电子表格服务端生成pdf

对于电子表格类型的报表,还可以通过服务器端直接生成pdf文件,此功能需要以下步骤

1.下载服务器端浏览器工具,下载地址 https://fbi.tizdata.com/fbrowser.7z
2.将下载好的文件解压到FastBI安装目录下的FBI目录中
3.调用远程打印接口通知服务器后端开启任务渲染出报表并生成pdf文件,根据报表内容渲染时间可能较长,因此打印接口会直接返回任务id
4.使用任务id去服务器轮询任务结果

远程打印接口
接口功能

远程打印电子表格, 对于带查询参数的报表

URL

http://127.0.0.1:9191/api/rest/spreadsheet/{id}/server_print/

HTTP请求方式

GET

请求头
参数 必选 类型 说明
Authorization ture string Token xxxxxxxxxxxxx

xxx 代表通过登录接口获取的用户的 token,注意中间有一空格。

PATH参数
参数 必选 类型 说明
id ture string 电子表格id
请求示例

http://127.0.0.1:9191/api/rest/spreadsheet/6b81edd0a8f211ecb60500e04c239987/server_print/

查询参数

对于带查询参数的报表,可以通过在url上拼接的方式对参数赋默认值。比如报表中有一个参数部门,希望报表打开的时候显示研发部的数据,可以采用以下url打开报表:

http://127.0.0.1:9191/api/rest/spreadsheet/6b81edd0a8f211ecb60500e04c239987/server_print/?部门=研发部

如果参数有多个值,多个值之间用英文逗号隔开

http://127.0.0.1:9191/api/rest/spreadsheet/6b81edd0a8f211ecb60500e04c239987/server_print/?部门=研发部,产品部

返回字段
返回字段 字段类型 说明
taskid string 任务id
page_info object 页面信息
-width object 宽度
--value string
--unit string 单位
-height object 高度
--value string
--unit string 单位
返回示例
{
    "taskid": "2b977822a8e711ec9c0300e04c239987",   
    "page_info": {
        "width": {
            "value": "8.27",
            "unit": "英寸"
        },
        "height": {
            "value": "11.69",
            "unit": "英寸"
        }
    }
}
远程打印结果接口
接口功能

查询远程打印状态

URL

http://127.0.0.1:9191/api/rest/spreadsheet/check_server_print/

HTTP请求方式

POST

请求头
参数 必选 类型 说明
Authorization ture string Token xxxxxxxxxxxxx

xxx 代表通过登录接口获取的用户的 token,注意中间有一空格。

请求参数
参数 必选 类型 说明
taskid ture string 任务id
请求示例

http://127.0.0.1:9191/api/rest/spreadsheet/check_server_print/

{
    "taskid": "2b977822a8e711ec9c0300e04c239987",   
}
返回字段
返回字段 字段类型 说明
status int 任务状态,1表示成功
message string 消息
url string pdf文件下载地址(不包含ip和端口,可自行拼接)
返回示例
{
    "status": 1,
    "message": "文件生成成功",
    "url": "/media/cffa92a8c42f11eca19a8cec4b636c59.pdf"
}