用户登录部分采用restful接口直接调用,相关接口如下
获取用户身份ticket,ticket有效期为5分钟,并且只能使用一次,使用后立即失效
JSON
POST
参数 | 必选 | 类型 | 说明 |
---|---|---|---|
username | ture | string | 用户名 |
password | ture | string | 密码 |
{
"username":"test",
"password":"test"
}
返回字段 | 字段类型 | 说明 |
---|---|---|
ticket | string | 授权ticket |
{
"ticket": "2b977822a8e711ec9c0300e04c239987"
}
通过管理员调用,如果用户存在则更新用户信息,如果用户不存在则创建用户。返回token和用户信息
JSON
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
}
}
批量同步用户信息
JSON
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": "同步成功"
}
查询用户列表
GET
参数 | 必选 | 类型 | 说明 |
---|---|---|---|
Authorization | ture | string | Token xxxxxxxxxxxxx |
xxx 代表通过登录接口获取的用户的 token,注意中间有一空格。
参数 | 必选 | 类型 | 说明 |
---|---|---|---|
p | false | int | 第几页 |
count | false | int | 每页数据量,默认值:50,最大值:10000 |
search | false | string | 根据用户名搜索 |
返回字段 | 字段类型 | 说明 |
---|---|---|
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
}
]
}
删除单个用户
DELETE
参数 | 必选 | 类型 | 说明 |
---|---|---|---|
Authorization | ture | string | Token xxxxxxxxxxxxx |
xxx 代表通过登录接口获取的用户的 token,注意中间有一空格。
参数 | 必选 | 类型 | 说明 |
---|---|---|---|
id | ture | int | 用户id |
登录获取token
JSON
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
}
}
查询用户列表
GET
参数 | 必选 | 类型 | 说明 |
---|---|---|---|
Authorization | ture | string | Token xxxxxxxxxxxxx |
xxx 代表通过登录接口获取的用户的 token,注意中间有一空格。
状态码200表示token有效,不是200表示token已失效
报表集成主要涉及三部分,报表管理页面、报表设计页面和报表展示页面,三部分均提供了封装好的web页面,第三方采用iframe方式嵌入即可。
另外管理页面涉及到的功能均提供了restful接口,第三方也可自行开发页面,并通过接口调用实现功能。
参数 | 必选 | 类型 | 说明 |
---|---|---|---|
bi_ticket | false | string | ticket和用户名密码二选一 |
username | false | string | 用户名 |
password | false | string | 密码 |
title | false | string | 定制页面标题 |
bi_ticket指通过 获取用户ticket 接口获取的用户的 ticket
http://127.0.0.1:9191/bi/reportList?bi_ticket=2b977822a8e711ec9c0300e04c239987
查询报表列表
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 |
返回字段 | 字段类型 | 说明 |
---|---|---|
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
}
...
]
}
查询报表列表
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
}
修改报表基本信息
PATCH
参数 | 必选 | 类型 | 说明 |
---|---|---|---|
Authorization | ture | string | Token xxxxxxxxxxxxx |
xxx 代表通过登录接口获取的用户的 token,注意中间有一空格。
参数 | 必选 | 类型 | 说明 |
---|---|---|---|
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
}
删除单个报表
DELETE
参数 | 必选 | 类型 | 说明 |
---|---|---|---|
Authorization | ture | string | Token xxxxxxxxxxxxx |
xxx 代表通过登录接口获取的用户的 token,注意中间有一空格。
参数 | 必选 | 类型 | 说明 |
---|---|---|---|
id | ture | int | 用户id |
http://127.0.0.1:9191/api/rest/rs/6b81edd0a8f211ecb60500e04c239987/
删除多张报表
POST
参数 | 必选 | 类型 | 说明 |
---|---|---|---|
Authorization | ture | string | Token XXXXXXXXXXXXXXXXXXX |
(xxx 代表通过登录接口获取的用户的 token,注意中间有一空格)
参数 | 必选 | 类型 | 说明 |
---|---|---|---|
ids | ture | array | 报表id数组 |
{
"ids":[
"6b81edd0a8f211ecb60500e04c239987",
"9a9d4500027411e9a468005056c00008",
]
}
复制多张报表
POST
参数 | 必选 | 类型 | 说明 |
---|---|---|---|
Authorization | ture | string | Token xxxxxxxxxxxxx |
xxx 代表通过登录接口获取的用户的 token,注意中间有一空格。
参数 | 必选 | 类型 | 说明 |
---|---|---|---|
ids | ture | array | 报表id数组 |
clone_type | false | int | 是否复制数据表,0:不复制,1:复制,默认值0 |
{
"ids":[
"6b81edd0a8f211ecb60500e04c239987",
"9a9d4500027411e9a468005056c00008",
],
"clone_type" : 0
}
复制多张报表
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 |
{
"ids":[
"6b81edd0a8f211ecb60500e04c239987",
"9a9d4500027411e9a468005056c00008",
],
"export_param" : 1
}
复制多张报表
POST
参数 | 必选 | 类型 | 说明 |
---|---|---|---|
Authorization | ture | string | Token xxxxxxxxxxxxx |
xxx 代表通过登录接口获取的用户的 token,注意中间有一空格。
参数 | 必选 | 类型 | 说明 |
---|---|---|---|
file | ture | file | 报表id数组 |
{
"ids":[
"6b81edd0a8f211ecb60500e04c239987",
"9a9d4500027411e9a468005056c00008",
],
"export_param" : 1
}
参数 | 必选 | 类型 | 说明 |
---|---|---|---|
bi_ticket | false | string | ticket和用户名密码二选一 |
username | false | string | 用户名 |
password | false | string | 密码 |
id | false | string | 报表id, 如果id为空会先弹出创建窗口 |
bi_ticket指通过 获取用户ticket 接口获取的用户的 ticket
参数 | 必选 | 类型 | 说明 |
---|---|---|---|
bi_ticket | false | string | ticket和用户名密码二选一 |
username | false | string | 用户名 |
password | false | string | 密码 |
id | true | string | 报表id |
bi_ticket指通过 获取用户ticket 接口获取的用户的 ticket
对于带查询参数的报表,可以通过在url上拼接的方式对参数赋默认值。比如报表中有一个参数部门,希望报表打开的时候显示研发部的数据,可以采用以下url打开报表:
如果参数有多个值,多个值之间用英文逗号隔开
对于电子表格类型的报表,可以不经过页面渲染直接执行打印操作,方法为在url上添加mode=print
如果需要保存为pdf文件,而不是直接打印,方法为在url上添加mode=pdf
直接打印的时候也仍然可以对页面中设置的参数赋默认值
对于电子表格类型的报表,还可以通过服务器端直接生成pdf文件,此功能需要以下步骤
1.下载服务器端浏览器工具,下载地址 https://fbi.tizdata.com/fbrowser.7z
2.将下载好的文件解压到FastBI安装目录下的FBI目录中
3.调用远程打印接口通知服务器后端开启任务渲染出报表并生成pdf文件,根据报表内容渲染时间可能较长,因此打印接口会直接返回任务id
4.使用任务id去服务器轮询任务结果
远程打印电子表格, 对于带查询参数的报表
http://127.0.0.1:9191/api/rest/spreadsheet/{id}/server_print/
GET
参数 | 必选 | 类型 | 说明 |
---|---|---|---|
Authorization | ture | string | Token xxxxxxxxxxxxx |
xxx 代表通过登录接口获取的用户的 token,注意中间有一空格。
参数 | 必选 | 类型 | 说明 |
---|---|---|---|
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": "英寸"
}
}
}
查询远程打印状态
http://127.0.0.1:9191/api/rest/spreadsheet/check_server_print/
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"
}