指标分析引用参考资料:指标分析
资源说明
看板的定义
看板为新的resource, 展现形式与Dashboard一样,权限与App一样。在看板列表中可以看到我自己创建的和别人授权给我的。展示模式分卡片样式和列表样式。有搜索、排序、分类功能。
看板结构说明
Kanban
字段 | 类型 | 描述 |
---|---|---|
id | LONG | 看板id |
folderId | LONG | 看板所在文件夹的id |
area | STRING | 看板所在区域,默认为SELF_SERVICE |
title | STRING | 看板的标题 |
createdBy | LONG | 看板创建者的userId |
createdAt | DATE | 看板创建时间 |
updatedBy | LONG | 看板更新者的userId |
updatedAt | DATE | 看板更新时间 |
hsVersion | LONG | 可选,本次编辑的版本号,从0开始,修改前先GET待修改资源获取当前版本号,修改时带上刚刚获取的版本号,服务端会检查并发冲突。不带版本号不检查并发冲突 |
tenantId | LONG | 租户Id |
options | OBJECT | 看板配置信息 |
options.config | OBJECT | 看板配置信息 |
options.config.version | LONG | 看板创建版本,与系统版本一致 |
options.layouts | MAP | 看板里的图表布局信息 |
KanbanDto
字段 | 类型 | 描述 |
---|---|---|
creator | OBJECT | 看板创建者信息 |
updater | OBJECT | 看板更新者信息 |
action | STRING | 权限描述, admin-read-write是管理者权限,read-write是编辑者权限,read是查看者权限 |
isCollaborated | BOOLEAN | 是否协作 |
parents | OBJECT 数组 | 看板所在的文件夹列表 |
menus | LIST<MAP<STRING, STRING>> | 看板的三点菜单列表 |
接口说明
1、新增看板
请求URL
http
POST /api/kanbans HTTP/1.1
Content-Type: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...
请求参数
request body 请求体
返回对象的格式说明
字段 | 类型 | 说明 |
---|---|---|
version | STRING | 当前系统版本哈希值 |
data | OBJECT | 看板的共同结构见看板结构说明 |
接口示例
RequestResponse
http
POST /api/kanbans HTTP/1.1
Content-Type: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...
// Request Body:
{
"title": "新建看板",
"options": {
"config": {
"version": 4300
},
"layouts": {
}
}
}
2、复制看板
请求URL
http
POST /api/kanbans/{kanbanId}/duplicate HTTP/1.1
Content-Type: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...
请求参数
request body 请求体
无
返回对象的格式说明
字段 | 类型 | 说明 |
---|---|---|
version | STRING | 当前系统版本哈希值 |
data | OBJECT | 看板的共同结构见看板结构说明 |
接口示例
RequestResponse
http
POST /api/kanbans/57/duplicate HTTP/1.1
Content-Type: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...
3、获取看板中所有的图表数据
请求URL
http
POST /api/kanbans/{kanbanId}/data HTTP/1.1
Content-Type: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...
请求参数
request body 请求体
URL 参数
字段 | 类型 | 是否必须 | 说明 |
---|---|---|---|
timeout | Integer | 否 | 查询超时时间 |
返回对象的格式说明
字段 | 类型 | 说明 |
---|---|---|
version | STRING | 当前系统版本哈希值 |
data | OBJECT | 图表数据,每种图表的共同结构见ChartDto结构说明 |
接口示例
RequestResponse
http
POST /api/kanbans/25/data?timeout=3000 HTTP/1.1
Content-Type: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...
// Request Body:
[
{
"cacheKey": "01GNXZK96N910XVNFSHPBAAB18",
"appId": 125783,
"options": {
"axes": [
{
"uid": "u125783_3_c10",
"label": "caseWhen",
"kind": "function",
"dataset": 3,
"op": "group",
"args": [
{
"dataset": 3,
"kind": "field",
"op": "c10"
}
],
"datasetId": 3
},
{
"appId": 125783,
"uid": "u125783_3_c22",
"label": "jn1",
"kind": "measure",
"op": "c22",
"datasetId": 3
}
],
"where": [
],
"having": [
],
"sort": [
{
"kind": "reference",
"op": "u125783_3_c22",
"direction": "desc",
"baseUid": "u125783_3_c10"
}
],
"timebar": {
"current": "dateExp",
"dateExp": "All Avaliable Date",
"dateRange": [
],
"show": false
},
"limit": 1000,
"outerWhere": [
]
},
"queryString": {
"refresh": false,
"offset": 0
}
}
]
4、获取看板中单个图表数据
请求URL
http
POST /api/kanbans/{kanbanId}/chart-data HTTP/1.1
Content-Type: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...
请求参数
request body 请求体
URL 参数
字段 | 类型 | 是否必须 | 说明 |
---|---|---|---|
refresh | STRING | 否 | 是否强制刷新,取图表数据时,true表示不会用缓存,false表示可以使用缓存 |
enableSample | STRING | 否 | enableSample为true的话,后端计算时对基础数据进行采样,每次运算只取前10000行 |
返回对象的格式说明
接口示例
RequestResponse
http
POST /api/apps/125783/chart-data HTTP/1.1
Content-Type: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...
// Request Body:
{
"cacheKey": "01GRRANRV0Z8VA84MY52D3WB7F",
"options": {
"where": [
],
"having": [
],
"outerWhere": [
],
"axes": [
{
"uid": "u_1697bb6ffb9592e7_v",
"kind": "field",
"op": "省/自治区",
"dataset": 3
}
],
"sort": [
{
"baseUid": "u_1697bb6ffb9592e7_v",
"kind": "reference",
"op": "u_1697bb6ffb9592e7_v",
"direction": "asc"
}
]
},
"queryString": {
"limit": 100000
}
}
5、获取看板中的图表数据计数
请求URL
http
POST /api/kanbans/{kanbanId}/chart-data/count HTTP/1.1
Content-Type: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...
请求参数
request body 请求体
URL 参数
字段 | 类型 | 是否必须 | 说明 |
---|---|---|---|
refresh | STRING | 否 | 是否强制刷新,取图表数据时,true表示不会用缓存,false表示可以使用缓存 |
返回对象的格式说明
字段 | 类型 | 说明 |
---|---|---|
version | STRING | 当前系统版本哈希值 |
data.totalHits | INTEGER | 图表数据的总行数 |
接口示例
RequestResponse
http
POST /api/kanbans/125783/chart-data/count HTTP/1.1
Content-Type: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...
// Request Body:
{
"cacheKey": "01GRRANRV0Z8VA84MY52D3WB7F",
"options": {
"where": [
],
"having": [
],
"outerWhere": [
],
"axes": [
{
"uid": "u_1697bb6ffb9592e7_v",
"kind": "field",
"op": "省/自治区",
"dataset": 3
}
],
"sort": [
{
"baseUid": "u_1697bb6ffb9592e7_v",
"kind": "reference",
"op": "u_1697bb6ffb9592e7_v",
"direction": "asc"
}
]
},
"queryString": {
"limit": 100000
}
}
6、轮询获取看板中的图表数据
请求URL
http
POST /api/kanbans/{kanbanId}/poll-data HTTP/1.1
Content-Type: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...
1
2
3
请求参数
request body 请求体
URL 参数
字段 | 类型 | 是否必须 | 说明 |
---|---|---|---|
originRequestId | STRING | 是 | 源请求Id |
timeout | Integer | 否 | 查询超时时间 |
返回对象的格式说明
接口示例
RequestResponse
http
POST /api/kanbans/25/poll-data HTTP/1.1
Content-Type: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...
// Request Body:
[
{
"cacheKey": "01GNXZK96N910XVNFSHPBAAB18",
"appId": 125783,
"options": {
"axes": [
{
"uid": "u125783_3_c10",
"label": "caseWhen",
"kind": "function",
"dataset": 3,
"op": "group",
"args": [
{
"dataset": 3,
"kind": "field",
"op": "c10"
}
],
"datasetId": 3
},
{
"appId": 125783,
"uid": "u125783_3_c22",
"label": "jn1",
"kind": "measure",
"op": "c22",
"datasetId": 3
}
],
"where": [
],
"having": [
],
"sort": [
{
"kind": "reference",
"op": "u125783_3_c22",
"direction": "desc",
"baseUid": "u125783_3_c10"
}
],
"timebar": {
"current": "dateExp",
"dateExp": "All Avaliable Date",
"dateRange": [
],
"show": false
},
"limit": 1000,
"outerWhere": [
]
},
"queryString": {
"refresh": false,
"offset": 0
}
}
]
7、更新看板
请求URL
http
PUT /api/kanbans/{kanbanId} HTTP/1.1
Content-Type: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...
1
2
3
请求参数
request body 请求体
返回对象的格式说明
字段 | 类型 | 说明 |
---|---|---|
version | STRING | 当前系统版本哈希值 |
data | OBJECT | 看板的共同结构见看板结构说明 |
接口示例
RequestResponse
http
PUT /api/kanbans/59 HTTP/1.1
Content-Type: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...
// Request Body:
{
"id": 59,
"folderId": 0,
"area": "SELF_SERVICE",
"title": "新建看板",
"options": {
"config": {
"version": 4300
},
"layouts": {
"01GRT32MSJF75XDVYAZVDNJYMQ": {
"i": "01GRT32MSJF75XDVYAZVDNJYMQ",
"x": 0,
"y": 0,
"w": 6,
"h": 6,
"moved": false,
"static": false,
"zIndex": 901,
"type": "chart",
"version": 4300,
"createdAt": "2023/2/9 11:21:33",
"updatedAt": "2023/2/9 11:21:33",
"measures": [
{
"enable": true,
"appId": 126243,
"datasetId": 32,
"fieldName": "c1",
"labelPlaceholder": "日期"
}
],
"dimensions": [
],
"filters": [
]
}
}
},
"createdBy": 11549,
"createdAt": "2023-02-08 18:33:26",
"updatedBy": 11549,
"updatedAt": "2023-02-08 18:33:26",
"isDelete": false
}
8、分页查询看板
请求URL
http
GET /api/kanbans HTTP/1.1
Accept: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...
请求参数
request body 请求体
无
URL 参数
字段 | 类型 | 是否必须 | 说明 |
---|---|---|---|
limit | INTEGER | 否 | 分页获取个数,默认是1000 |
offset | INTEGER | 否 | 分页偏移量,默认是0 |
orderBy | STRING | 否 | 排序字段 |
返回对象的格式说明
字段 | 类型 | 说明 |
---|---|---|
version | STRING | 当前系统版本哈希值 |
data | OBJECT | 看板的共同结构见看板结构说明 |
totalHits | INTEGER | 看板总数量 |
offset | INTEGER | 当前分页偏移量 |
接口示例
RequestResponse
http
GET /api/kanbans HTTP/1.1
Accept: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...
9、根据Id查询看板
请求URL
http
GET /api/kanbans/{kanbanId} HTTP/1.1
Accept: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...
请求参数
request body 请求体
无
返回对象的格式说明
字段 | 类型 | 说明 |
---|---|---|
version | STRING | 当前系统版本哈希值 |
data | OBJECT | 看板的共同结构见看板结构说明 |
接口示例
RequestResponse
http
GET /api/kanbans/59 HTTP/1.1
Accept: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...
10、根据Id删除看板
请求URL
http
DELETE /api/kanbans/{kanbanId} HTTP/1.1
请求参数
request body 请求体
无
返回对象的格式说明
字段 | 类型 | 说明 |
---|---|---|
version | STRING | 当前系统版本哈希值 |
msg | STRING | 成功返回 success |
接口示例
RequestResponse
http
DELETE /api/kanbans/59 HTTP/1.1
Content-Type: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...
1
2
3
11、导出看板数据
请求URL
http
POST /api/kanbans/{kanbanId}/async-download HTTP/1.1
Content-Type: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...
请求参数
request body 请求体
字段 | 类型 | 是否必须 | 说明 |
---|---|---|---|
chartOptions | OBJECT | 否 | 图表配置 |
chartNames | OBJECT | 否 | 图表名称 |
chartOuterWheres | OBJECT | 否 | 图表过滤条件 |
URL 参数
字段 | 类型 | 是否必须 | 说明 |
---|---|---|---|
timeout | Integer | 否 | 导出超时时间 |
返回对象的格式说明
返回一个zip文件,文件名是看板的名称,解压后的excel文件中每个sheet对应一个图表的聚合数据
12、轮询导出看板数据
请求URL
http
GET /api/kanbans/{kanbanId}/poll-download HTTP/1.1
Accept: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...
请求参数
request body 请求体
无
URL 参数
字段 | 类型 | 是否必须 | 说明 |
---|---|---|---|
originRequestId | STRING | 是 | 源请求Id |
返回对象的格式说明
如果导出任务没有完成,返回PENDING状态;若任务已完成,返回一个zip文件,文件名是看板的名称,解压后的excel文件中每个sheet对应一个图表的聚合数据
13、解除协作
请求URL
http
DELETE /api/kanbans/{kanbanId}/collaborate/cancel HTTP/1.1
1
请求参数
request body 请求体
无
返回对象的格式说明
字段 | 类型 | 说明 |
---|---|---|
version | STRING | 当前系统版本哈希值 |
msg | STRING | 成功返回 success |
接口示例
RequestResponse
http
DELETE /api/kanbans/59/collaborate/cancel HTTP/1.1
Content-Type: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...