各种过滤组件的API格式要求

更新时间:2020-02-10

Sugar BI中支持 10+种过滤组件,有些过滤组件是支持绑定数据的,例如单选,就可以给它绑定单选项的数据。下面分别列举每种过滤组件在使用 API 方式绑定自身数据时,所对应的数据 API 返回的 JSON 格式要求:

单选列表、下拉单选

示例 API:/openapi/demo/condition?type=select

如果开启了基础选项卡中的搜索时重新拉取数据,那么会传递一个 searchStr 参数。

POST 给 API 的参数:

{
  "searchStr": 用户当前搜索的字符串;
}

response:

{
	"status": 0,  // 0表示成功,非0表示失败
	"msg": "",    // 失败时的提示信息
	"data": [
		{
			"label": "name1",    // 展示使用的字段
			"value": "value1"   // 具体的取值
		},
		{
			"label": "name1",    // 展示使用的字段
			"value": "value1"   // 具体的取值
		},
		...
	]
}

多选列表、下拉多选

和上面单选列表的 API 数据格式要求完全一致。

树形选择

示例 API:/openapi/demo/condition?type=tree

response:

{
	"status": 0,  // 0表示成功,非0表示失败
	"msg": "",    // 失败时的提示信息
	"data": [
		{
			"name": "name1",    // 展示的节点名称
			"value": "value1"   // 具体的取值
			"children": [
				{
					"name": "name1-1",
					"value": "value1-1",
					"children": [...]
				},
				{
					"name": "name1-2",
					"value": "value1-2",
				}
			]
		},
		{
			"name": "name2",    // 展示使用的字段
			"value": "value2"   // 具体的取值
		},
		...
	]
}

日期时间

日期、时间、日期范围等过滤组件开启动态基准日期后,API 拉取的数据要求

response:

{
	"status": 0,  // 0表示成功,非0表示失败
	"msg": "",    // 失败时的提示信息
	"data":{
		"dateRange":["2020-01-01","2021-12-12"]
	}
}

输入框

输入框本身不需要绑定数据,但是输入框支持 suggestion(即输入时的联想提示词),这个提示词是动态的,可以通过 API 的方式来绑定 suggestion 的数据。

示例 API:/openapi/demo/condition?type=suggestion

POST 给 API 的参数:

{
  "searchStr": 用户当前输入的字符串;
}

response:

{
	"status": 0,  // 0表示成功,非0表示失败
	"msg": "",    // 失败时的提示信息
	"data": [     // 输入了search内容后返回的提示信息列表
		"数据1",
		"数据",
		...
	]
}

多重逻辑

多重逻辑也可以绑定数据,它可以绑定两种数据:

一种是直接让用户选择的数据(单选、多选之类),这种和上面单选列表的 API 数据格式要求完全一致。

另外一种是和输入框的 suggestion 一样,详见上面的输入框的 suggestion 数据绑定。

本页内容