1. 过滤控件

1.1. 过滤控件说明

1.1.1. 过滤控件 的定义

过滤控件用于在仪表盘中过滤图表数据,分为仪表盘内过滤控件和全局过滤控件。

过滤控件结构说明

字段 类型 描述
uid STRING 过滤控件唯一识别 id
appId LONG 过滤控件所属的应用 id
dataAppId LONG 字段来源是数据包时的数据包 id
dashboardId LONG 过滤控件所属的仪表盘 id
datasetId LONG 过滤控件所是用的字段所属的数据集 id
title STRING 过滤控件标题
filterType STRING 过滤控类型,可选值为:FILTER(过滤控件),FILTER_BTN(过滤按钮),PARAM(参数控件),MULTIPLE_DATE_PARAM(日期多选过滤控件)
fieldName STRING 过滤器所用的字段名称
field OBJECT 过滤器所用的字段配置
use STRING 过滤器过滤样式,默认传"checkbox"即可
kind OBJECT 过滤器表达式类型,默认传"formula"即可
op OBJECT 过滤器表达式,默认传"1=1"即可
options OBJECT 过滤控件样式相关配置
options.style OBJECT 过滤控件样式配置
options.titleStyle OBJECT 过滤控件标题样式配置
children LIST 子过滤控件集合,list中的值为子控件的uid
isGlobalFilter BOOLEAN 过滤控件是否为全局控件
controller MAP 过滤按钮控制的过滤控件映射表,key为要控制的过滤控件uid,value为boolean值:true(控制) false(不控制)
byDashboard OBJECT 全局过滤器在各仪表盘中的样式设置
childrenByDashboard OBJECT 全局过滤器与各仪表盘中的过滤控件的父子关系

1.2. 接口说明

1.2.1. 新增过滤控件

新增过滤控件

请求URL

POST /api/v1/apps/${appId}/filter-controllers

需要认证:是

请求参数

URL 参数
字段 类型 是否必须 说明
appId INTEGER 过滤控件所在的应用 id
Request Body 参数

过滤控件配置信息,见过滤控件结构

返回对象的格式说明

字段 类型 说明
version STRING 当前系统版本哈希值
data OBJECT 过滤控件的完整配置信息,见过滤控件结构

接口示例1: 新增仪表盘内过滤控件

POST /api/v1/apps/1/filter-controllers

{
  "title": "新建过滤器",
  "options": {
    "titleStyle": {
      "textAlign": "center",
      "position": "left"
    },
    "style": {
          "method": "select",
          "itemStyle": {
            "borderTopColor": "#dadada",
            "borderRightColor": "#dadada",
            "borderBottomColor": "#dadada",
            "borderLeftColor": "#dadada",
            "maxHeight": 28,
            "background": "#fff"
          }
        }
  },
  "filterType": "filter",
  "fieldName": "director",
  "field": {
    "datasetId": 1,
    "fieldName": "director",
    "tags": {},
    "defaultAggrType": "count",
    "comment": "",
    "type": "string",
    "config": {},
    "originType": "string",
    "visible": true,
    "nativeType": "bpchar",
    "hideValue": false,
    "detectedType": "string",
    "suggestedTypes": [
      "string"
    ],
    "basicType": "string",
    "dataAppId": 130713,
    "_ukey": "director",
    "labelOrigin": "director"
  },
  "use": "checkbox",
  "kind": "formula",
  "op": "1=1",
  "appId": 1,
  "uid": "01HJ0TE602Z2VERDA4CMY4JR59",
  "dataAppId": 1,
  "datasetId": 1,
  "dashboardId": 1,
  "dashboardOptions": {
    "layouts": {
      "1": {
        "static": false,
        "w": 4,
        "moved": false,
        "h": 4,
        "x": 1,
        "i": "1",
        "y": 1,
        "type": "chart",
        "zIndex": 902,
        "options": {}
      },
      "01HJ0TE602Z2VERDA4CMY4JR59": {
        "i": "01HJ0TE602Z2VERDA4CMY4JR59",
        "x": 1,
        "y": 1,
        "w": 4,
        "h": 1,
        "moved": false,
        "static": false,
        "zIndex": 904,
        "type": "filter"
      }
    }
  }
}

说明 : dashboardOptions.layouts为过滤控件在仪表盘内的样式配置,layouts为MAP类型,key是过滤控件uid或图表id,value为具体的样式配置,请注意,这里的options.layouts每次都需要传递完整的layouts而不是仅传当前新增的控件样式,如:仪表盘内已有一个图表和一个过滤控件,那么新增过滤控件时,layouts中应该有三个键值对,分别对应两个过滤控件和一个已有图表的样式。

接口示例2: 新增仪全局过滤控件

POST /api/v1/apps/1/filter-controllers

{
    "title": "全局过滤器",
    "options": {
        "titleStyle": {},
        "style": {
            "method": "select",
            "itemStyle": {
                "borderTopColor": "#dadada",
                "borderRightColor": "#dadada",
                "borderBottomColor": "#dadada",
                "borderLeftColor": "#dadada",
                "maxHeight": 28,
                "background": "#fff"
            }
        }
    },
    "filterType": "filter",
    "appId": 130713,
    "isGlobalFilter": true,
    "uid": "01HJ0V48VGN5M8XV4FQDW9BZ6D",
    "fieldName": "director",
    "field": {
        "datasetId": 1,
        "fieldName": "director",
        "tags": {},
        "defaultAggrType": "count",
        "type": "string",
        "comment": "",
        "originType": "string",
        "config": {},
        "visible": true,
        "nativeType": "bpchar",
        "hideValue": false,
        "detectedType": "string",
        "suggestedTypes": [
            "string"
        ],
        "basicType": "string",
        "dataAppId": 130713,
        "_ukey": "director",
        "labelOrigin": "director"
    },
    "byDashboard": {
        "1": {
            "style": {
                "method": "select",
                "itemStyle": {
                    "borderTopColor": "#dadada",
                    "borderRightColor": "#dadada",
                    "borderBottomColor": "#dadada",
                    "borderLeftColor": "#dadada",
                    "maxHeight": 28,
                    "background": "#fff"
                }
            }
        }
    },
    "children": [
        "01HJ0TE602Z2VERDA4CMY4JR59"
    ],
    "childrenByDashboard": {
        "1": [
            "01HJ0TE602Z2VERDA4CMY4JR59"
        ]
    },
    "dataAppId": 130713,
    "datasetId": 1,
    "inside": true
}

说明 : 全局过滤控件不需要传递dashboardOptions

接口示例3: 新增参数控件

POST /api/v1/apps/1/filter-controllers

{
  "uid": "01HJ0WYABBYAHBS8N33KVRHFJH",
  "dashboardId": 1,
  "appId": 1,
  "options": {
    "style": {
      "method": "input"
    },
    "titleStyle": {
      "textAlign": "center",
      "position": "left"
    },
    "mobileOptions": {
      "style": {
        "method": "input"
      },
      "titleStyle": {
        "textAlign": "center",
        "position": "left"
      }
    },
    "enableAll": false
  },
  "datasetId": 1,
  "title": "参数控件",
  "filterType": "param",
  "field": {
    "id": 1,
    "name": "param",
    "appId": 130713,
    "options": {
      "type": "string",
      "subType": "ALL",
      "allowAllValue": true,
      "defaultValue": null
    },
    "extendAppTitle": "过滤控件",
    "uid": "1",
    "isParam": true,
    "type": "string",
    "datasetId": 1,
    "dataAppId": 130713,
    "labelOrigin": "param",
    "label": "param"
  },
  "use": "paramInput",
  "fieldName": "param",
  "dashboardOptions": {
    "layouts": {
      "1": {
        "static": false,
        "w": 4,
        "moved": false,
        "h": 4,
        "x": 1,
        "options": {},
        "i": "1",
        "y": 1,
        "type": "chart",
        "zIndex": 902
      },
      "01HJ0WYABBYAHBS8N33KVRHFJH": {
        "i": "01HJ0WYABBYAHBS8N33KVRHFJH",
        "x": 1,
        "y": 1,
        "w": 4,
        "h": 1,
        "moved": false,
        "static": false,
        "zIndex": 910,
        "type": "param"
      }
    }
  }
}

接口示例4: 新增过滤按钮

POST /api/v1/apps/1/filter-controllers

{
    "version": 5000,
    "title": "查询",
    "options": {},
    "filterType": "filterBtn",
    "appId": 130713,
    "uid": "01HJ0X4WF0SR2MEND24V1J5BNE",
    "dashboardId": 1,
    "dashboardOptions": {
        "layouts": {
            "1": {
                "static": false,
                "w": 4,
                "moved": false,
                "h": 4,
                "x": 1,
                "options": {},
                "i": "1",
                "y": 1,
                "type": "chart",
                "zIndex": 902
            },
            "01HJ0X4WF0SR2MEND24V1J5BNE": {
                "i": "01HJ0X4WF0SR2MEND24V1J5BNE",
                "x": 1,
                "y": 1,
                "w": 4,
                "h": 1,
                "moved": false,
                "static": false,
                "zIndex": 912,
                "type": "filterBtn"
            }
        }
    }
}

说明 : 过滤按钮具体控制哪些过滤控件需要调用批量更新接口

1.2.2. 更新过滤控件

更新过滤控件

请求URL

PUT /api/v1/apps/${appId}/filter-controllers/{uid}

需要认证:是

请求参数

URL 参数
字段 类型 是否必须 说明
appId INTEGER 过滤控件所在的应用 id
uid INTEGER 过滤控件唯一识别id
Request Body 参数

过滤控件配置信息,见过滤控件结构

返回对象的格式说明

字段 类型 说明
version STRING 当前系统版本哈希值
data OBJECT 过滤控件的完整配置信息,见过滤控件结构

接口示例

PUT /api/v1/apps/1/filter-controllers/01HJ0TE602Z2VERDA4CMY4JR59

{
    "uid": "01HJ0TE602Z2VERDA4CMY4JR59",
    "dashboardId": 1,
    "appId": 130713,
    "options": {
        "style": {
            "method": "select"
        },
        "titleStyle": {
            "textAlign": "center",
            "position": "left"
        },
        "mobileOptions": {
            "style": {
                "method": "select"
            },
            "titleStyle": {
                "textAlign": "center",
                "position": "left"
            }
        }
    },
    "datasetId": 1,
    "dataAppId": 130713,
    "title": "新建过滤器",
    "filterType": "filter",
    "version": 5000,
    "fieldName": "director",
    "field": {
        "datasetId": 1,
        "fieldName": "director",
        "tags": {},
        "defaultAggrType": "count",
        "comment": "",
        "type": "string",
        "config": {},
        "originType": "string",
        "visible": true,
        "nativeType": "bpchar",
        "hideValue": false,
        "detectedType": "string",
        "suggestedTypes": [
            "string"
        ],
        "basicType": "string",
        "dataAppId": 130713,
        "_ukey": "director",
        "labelOrigin": "director"
    },
    "use": "checkbox",
    "kind": "formula",
    "op": "1=1"
}

说明 : 更新不需要再次传递dashboardOptions

1.2.3. 批量更新过滤控件

批量更新过滤控件

请求URL

PUT /api/v1/apps/${appId}/filter-controllers

需要认证:是

请求参数

URL 参数
字段 类型 是否必须 说明
appId INTEGER 过滤控件所在的应用 id
Request Body 参数

过滤控件配置信息,见过滤控件结构

返回对象的格式说明

字段 类型 说明
version STRING 当前系统版本哈希值
data OBJECT 过滤控件的完整配置信息,见过滤控件结构

接口示例

PUT /api/v1/apps/1/filter-controllers/01HJ0TE602Z2VERDA4CMY4JR59

[
  {
    "op": "1=1",
    "controller": {
      "01HJ0X4WF0SR2MEND24V1J5BNE": true
    },
    "fieldsChain": [
      {
        "field": "月份",
        "keys": [
          "130145_datasetList_2"
        ],
        "appId": 130145,
        "datasetId": 2,
        "label": "月份"
      }
    ],
    "fieldName": "director",
    "use": "checkbox",
    "kind": "formula",
    "datasetName": "A_IVT_MOVIE",
    "title": "新建过滤器",
    "version": 5000,
    "uid": "01HJ0TE602Z2VERDA4CMY4JR59",
    "hasChain": true,
    "field": {
      "fieldName": "director",
      "visible": true,
      "suggestedTypes": [
        "string"
      ],
      "type": "string",
      "detectedType": "string",
      "tags": {},
      "basicType": "string",
      "defaultAggrType": "count",
      "originType": "string",
      "hideValue": false,
      "appId": 130713,
      "nativeType": "bpchar",
      "_ukey": "director",
      "datasetId": 1,
      "comment": "",
      "labelOrigin": "director",
      "id": 125664649,
      "config": {}
    },
    "children": [
      "01HJ0TNJJFG2S7HGKA5B57A11S"
    ],
    "dashboardId": 1,
    "appId": 130713,
    "options": {
      "style": {
        "method": "select"
      },
      "titleStyle": {
        "textAlign": "center",
        "position": "left"
      },
      "mobileOptions": {
        "style": {
          "method": "select"
        },
        "titleStyle": {
          "textAlign": "center",
          "position": "left"
        }
      }
    },
    "datasetId": 1,
    "fieldSiblings": [],
    "dataAppId": 130713,
    "filterType": "filter"
  },
  {
    "uid": "01HJ0WYABBYAHBS8N33KVRHFJH",
    "controller": {
      "01HJ0X4WF0SR2MEND24V1J5BNE": true
    },
    "fieldName": "d",
    "field": {
      "updatedBy": 8,
      "isParam": true,
      "isDelete": false,
      "label": "d",
      "type": "string",
      "tags": {},
      "createdAt": 1702984863536,
      "uid": "1",
      "extendAppTitle": "过滤控件",
      "createdBy": 8,
      "appId": 130713,
      "name": "d",
      "options": {
        "allowAllValue": true,
        "subType": "ALL",
        "type": "string"
      },
      "datasetId": 1,
      "labelOrigin": "d",
      "id": 1,
      "dataAppId": 130713,
      "updatedAt": 1702984863536
    },
    "dashboardId": 1,
    "use": "paramInput",
    "appId": 130713,
    "options": {
      "style": {
        "method": "input"
      },
      "titleStyle": {
        "textAlign": "center",
        "position": "left"
      },
      "enableAll": false,
      "mobileOptions": {
        "style": {
          "method": "input"
        },
        "titleStyle": {
          "textAlign": "center",
          "position": "left"
        }
      }
    },
    "datasetId": 1,
    "dataAppId": 130713,
    "title": "新建参数控件",
    "filterType": "param"
  },
  {
    "uid": "01HJ0X4WF0SR2MEND24V1J5BNE",
    "dashboardId": 1,
    "appId": 130713,
    "options": {},
    "dataAppId": 130713,
    "title": "查询",
    "filterType": "filterBtn",
    "version": 5000
  }
]

说明 : 该例为更新过滤按钮,需要将过滤按钮要控制的过滤控件的信息都放在list中并设置controller后传递,controller中为过滤按钮的uid

1.2.4. 获取过滤控件列表

获取过滤控件列表

请求URL

GET /api/v1/apps/${appId}/filter-controllers

需要认证:是

请求参数

URL 参数
字段 类型 是否必须 说明
appId INTEGER 过滤控件所在的应用 id
Request Body 参数

过滤控件配置信息,见过滤控件结构

返回对象的格式说明

字段 类型 说明
version STRING 当前系统版本哈希值
data OBJECT 过滤控件的完整配置信息,见过滤控件结构

接口示例

GET /api/v1/apps/1/filter-controllers

{
  "version": "5.1-SNAPSHOT@69ca65d#666a4a7",
  "code": 0,
  "msg": "success",
  "data": [
    {
      "op": "1=1",
      "fieldsChain": [
        {
          "field": "月份",
          "keys": [
            "130145_datasetList_2"
          ],
          "appId": 130145,
          "datasetId": 2,
          "label": "月份"
        }
      ],
      "fieldName": "director",
      "use": "checkbox",
      "kind": "formula",
      "datasetName": "A_IVT_MOVIE",
      "title": "新建过滤器",
      "version": 5000,
      "uid": "01HJ0TE602Z2VERDA4CMY4JR59",
      "hasChain": true,
      "field": {
        "visible": true,
        "fieldName": "director",
        "suggestedTypes": [
          "string"
        ],
        "type": "string",
        "detectedType": "string",
        "tags": {},
        "basicType": "string",
        "originType": "string",
        "defaultAggrType": "count",
        "hideValue": false,
        "appId": 130713,
        "nativeType": "bpchar",
        "_ukey": "director",
        "datasetId": 1,
        "comment": "",
        "labelOrigin": "director",
        "id": 125664649,
        "config": {}
      },
      "children": [
        "01HJ0TNJJFG2S7HGKA5B57A11S"
      ],
      "dashboardId": 1,
      "appId": 130713,
      "options": {
        "style": {
          "method": "select"
        },
        "titleStyle": {
          "textAlign": "center",
          "position": "left"
        },
        "mobileOptions": {
          "style": {
            "method": "select"
          },
          "titleStyle": {
            "textAlign": "center",
            "position": "left"
          }
        }
      },
      "datasetId": 1,
      "fieldSiblings": [],
      "dataAppId": 130713,
      "filterType": "filter"
    },
    {
      "op": "1=1",
      "fieldName": "stars",
      "use": "checkbox",
      "kind": "formula",
      "datasetName": "A_IVT_MOVIE",
      "title": "新建过滤器",
      "version": 5000,
      "uid": "01HJ0TNJJFG2S7HGKA5B57A11S",
      "field": {
        "visible": true,
        "fieldName": "stars",
        "suggestedTypes": [
          "string"
        ],
        "type": "string",
        "detectedType": "string",
        "tags": {},
        "basicType": "string",
        "originType": "string",
        "defaultAggrType": "count",
        "hideValue": false,
        "appId": 130713,
        "nativeType": "varchar",
        "_ukey": "stars",
        "datasetId": 1,
        "comment": "",
        "labelOrigin": "stars",
        "id": 125664654,
        "config": {}
      },
      "children": [
        "01HJ0TRQ88JAJNHEQQK6NYE16F"
      ],
      "dashboardId": 1,
      "appId": 130713,
      "options": {
        "style": {
          "method": "select"
        },
        "titleStyle": {
          "textAlign": "center",
          "position": "left"
        },
        "mobileOptions": {
          "style": {
            "method": "select"
          },
          "titleStyle": {
            "textAlign": "center",
            "position": "left"
          }
        }
      },
      "datasetId": 1,
      "fieldSiblings": [],
      "dataAppId": 130713,
      "filterType": "filter"
    },
    {
      "op": "1=1",
      "fieldName": "zh_name",
      "use": "checkbox",
      "kind": "formula",
      "datasetName": "A_IVT_MOVIE",
      "title": "新建过滤器",
      "version": 5000,
      "uid": "01HJ0TRQ88JAJNHEQQK6NYE16F",
      "field": {
        "visible": true,
        "fieldName": "zh_name",
        "suggestedTypes": [
          "string"
        ],
        "type": "string",
        "detectedType": "string",
        "tags": {},
        "basicType": "string",
        "originType": "string",
        "defaultAggrType": "count",
        "hideValue": false,
        "appId": 130713,
        "nativeType": "bpchar",
        "_ukey": "zh_name",
        "datasetId": 1,
        "comment": "",
        "labelOrigin": "zh_name",
        "id": 125664648,
        "config": {}
      },
      "dashboardId": 1,
      "appId": 130713,
      "options": {
        "style": {
          "method": "select"
        },
        "titleStyle": {
          "textAlign": "center",
          "position": "left"
        },
        "mobileOptions": {
          "style": {
            "method": "select"
          },
          "titleStyle": {
            "textAlign": "center",
            "position": "left"
          }
        }
      },
      "datasetId": 1,
      "fieldSiblings": [],
      "dataAppId": 130713,
      "filterType": "filter"
    },
    {
      "uid": "01HJ0WYABBYAHBS8N33KVRHFJH",
      "fieldName": "d",
      "field": {
        "isParam": true,
        "updatedBy": 8,
        "isDelete": false,
        "label": "d",
        "type": "string",
        "tags": {},
        "uid": "1",
        "createdAt": "2023-12-19 19:21:03",
        "extendAppTitle": "过滤控件",
        "createdBy": 8,
        "appId": 130713,
        "name": "d",
        "options": {
          "allowAllValue": true,
          "subType": "ALL",
          "type": "string"
        },
        "datasetId": 1,
        "labelOrigin": "d",
        "id": 1,
        "dataAppId": 130713,
        "updatedAt": "2023-12-19 19:21:03"
      },
      "dashboardId": 1,
      "use": "paramInput",
      "appId": 130713,
      "options": {
        "enableAll": false,
        "style": {
          "method": "input"
        },
        "titleStyle": {
          "textAlign": "center",
          "position": "left"
        },
        "mobileOptions": {
          "style": {
            "method": "input"
          },
          "titleStyle": {
            "textAlign": "center",
            "position": "left"
          }
        }
      },
      "datasetId": 1,
      "dataAppId": 130713,
      "title": "新建参数控件",
      "filterType": "param",
      "version": 5000
    },
    {
      "uid": "01HJ0X4WF0SR2MEND24V1J5BNE",
      "dashboardId": 1,
      "appId": 130713,
      "options": {},
      "dataAppId": 130713,
      "title": "查询",
      "filterType": "filterBtn",
      "version": 5000
    }
  ],
  "chartDataStartTimeMillis": 0
}

results matching ""

    No results matching ""

    仪表盘 数据集