Env 环境变量
目前为环境变量设计了三种类型,如果你还不理解这三种类型的区别请先参考此描述并了 解前端界面设计
为了提高开发效率已将部分接口的传参设计为了更容易理解的形式,建议使用前先学习项目数据模型设计
请不要频繁调用修改类接口,因为每次更新数据后都会重新生成批量声明脚本
分页查询
GET/env/v1/page
请求
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
category | string<'ordinary' | 'composite' | 'composite_value'> | 是 | 变量类型,分别对应普通变量、复合变量(组)、复合变量的值 |
compositeId | string | 否 | 查看复合变量的值时需要指定此参数为复合变量(组)的唯一标识 |
enable | string<'0' | '1'> | 否 | 变量状态过滤 1 启用 | 0 禁用 ,默认不过滤 |
search | string | 否 | 搜索内容过滤,过滤字段:type 、value 、description 、remark |
orderBy | string<'sort' | 'update_time'> | 否 | 指定排序字段,默认 sort |
order | string<'0' | '1'> | 否 | 指定排序方式 0 升序 | 1 降序 ,默认降序 |
page | string | 否 | 指定页数,默认1 |
size | string | 否 | 指定分页大小数量,默认20 |
响应
名称 | 类型 | 描述 |
---|---|---|
data | object[] | 数据项 |
page | number | 当前页码 |
size | number | 每页数据量 |
total | number | 数据总量 |
点此展开查看具体响应数据示例
- 普通变量 / 复合变量的值
- 复合变量(组)
名称 | 类型 | 描述 |
---|---|---|
id | number | 唯一标识 |
group_id | number | envs_group 表 id 字段关联记录(关联的复合变量(组)唯一标识,为0时表示普通变量) |
type | string | 变量名称 |
tag_list | string<object> | 标签,label名称 | color颜色(HEX) |
description | string | 描述(普通变量与复合变量(组)专用) |
remark | string | 备注(复合变量值专用) |
value | string | 值 |
sort | number | 在分页中的位置序号(正整数),默认按照先后顺序递增 |
enable | number<0 | 1> | 状态 1 启用 | 0 禁用 |
响应数据示例
{
"data": [
{
"id": 1,
"group_id": 0,
"type": "TEST1",
"tag_list": "[{\"label\":\"test\",\"color\":\"#2080f0\"}]",
"description": "",
"remark": "",
"update_time": "2024-05-01 00:00:00",
"value": "测试1",
"sort": 2,
"enable": 1
},
{
"id": 2,
"group_id": 0,
"type": "TEST2",
"tag_list": "",
"description": "",
"remark": "",
"update_time": "2024-05-01 00:00:01",
"value": "测试2",
"sort": 1,
"enable": 0
},
...
],
"total": 5,
"page": 1,
"size": 20
}
默认倒序返回
名称 | 类型 | 描述 |
---|---|---|
id | number | 唯一标识 |
type | string | 变量名称 |
description | string | 描述 |
tag_list | string<object> | 标签,label名称 | color颜色(HEX) |
separator | string | 分割字符 |
sort | number | 在分页中的位置序号(正整数),默认按照先后顺序递增 |
enable | number<0 | 1> | 状态 1 启用 | 0 禁用 |
envs | number | 成员(复合变量的值)长度 |
响应数据示例
{
"data": [
{
"id": 1,
"type": "TEST1",
"description": "",
"update_time": "2024-05-01 00:00:00",
"tag_list": "",
"separator": "",
"sort": 2,
"enable": 1,
"envs": 0
},
{
"id": 2,
"type": "TEST2",
"description": "@",
"update_time": "2024-05-01 00:00:01",
"tag_list": "",
"separator": "",
"sort": 1,
"enable": 1,
"envs": 3
},
...
],
"total": 3,
"page": 1,
"size": 20
}
默认倒序返回
查询
查询会区分大小写,另外如果查询条件包含特殊字符 %
等情况可能会存在不符合预期的结果。
全局查询
请求
GET/env/v1/query
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
name 或 type | string | 否 | 名称关键字 |
description | string | 否 | 描述关键字 |
至少需要提供 name
、type
、description
的其中一个参数
响应
名称 | 类型 | 描述 |
---|---|---|
category | string<'ordinary' | 'composite' | 'composite_value'> | 变量类型,分别对应普通变量、复合变量(组)、复合变量的值 |
data | object | 数据对象(参考上方分页查询接口响应) |
根据项目功能设计和后端限制,变量名称是唯一的。
返回数据对象数组(数据对象参考上方分页查询接口响应)
查询复合变量(组)的成员
GET/env/v1/queryMember
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
id | string | 是 | 复合变量(组)的唯一标识 |
value | string | 否 | 值关键字 |
remark | string | 否 | 备注关键字 |
至少需要提供 value
、remark
的其中一个参数
返回数据对象数组(数据对象参考上方分页查询接口响应)
精准查询
请求
GET/env/v1/queryById
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
category | string<'ordinary' | 'composite' | 'composite_value'> | 是 | 变量类型,分别对应普通变量、复合变量(组)、复合变量的值 |
id | string | 是 | 目标变量的唯一标识(注意是 id 而不是 group_id ) |
ordinary
和 composite_value
在这里实际上是等价的,因为普通变量和复合变量的值都存储在同一张表中,为了不使请求参数变得更加迷惑固保留此设计
响应
返回数据对象(参考上方分页查询接口响应)
创建
POST/env/v1/create
请求
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
category | string<'ordinary' | 'composite' | 'composite_value'> | 是 | 变量类型,分别对应普通变量、复合变量(组)、复合变量的值 |
data | object | object[] | 是 | 变量数据,详见下方 |
compositeId | number | 否 | 创建复合变量的值时需要指定此参数为复合变量(组)的唯一标识 |
- 普通变量
- 复合变量(组)
- 复合变量的值
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
type | string | 是 | 变量名称 |
value | string | 否 | 变量值 |
description | string | 否 | 描述 |
enable | string<'0' | '1'> | 否 | 状态 1 启用 | 0 禁用 |
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
type | string | 是 | 变量名称 |
description | string | 否 | 描述 |
separator | string | 否 | 分隔符 |
enable | string<'0' | '1'> | 否 | 状态 1 启用 | 0 禁用 |
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
value | string | 否 | 变量值 |
remark | string | 否 | 备注 |
enable | string<'0' | '1'> | 否 | 状态 1 启用 | 0 禁用 |
响应
如果只创建一个变量则返回数据对象(参考上方分页查询接口响应),如果是批量创建则返回对象 { "count": <number> }
,其中 count
表示成功创建的数量
更新
POST/env/v1/update
请求
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
category | string<'ordinary' | 'composite' | 'composite_value'> | 是 | 变量类型,分别对应普通变量、复合变量(组)、复合变量的值 |
data | object | object[] | 是 | 变量数据,详见下方 |
- 普通变量
- 复合变量(组)
- 复合变量的值
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
id | number | 是 | 唯一标识 |
type | string | 是 | 变量名称 |
value | string | 否 | 变量值 |
description | string | 否 | 描述 |
enable | string<'0' | '1'> | 否 | 状态 1 启用 | 0 禁用 |
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
id | number | 是 | 唯一标识 |
type | string | 是 | 变量名称 |
description | string | 否 | 描述 |
separator | string | 否 | 分隔符 |
enable | string<'0' | '1'> | 否 | 状态 1 启用 | 0 禁用 |
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
id | number | 是 | 唯一标识 |
group_id | number | 是 | 所关联的复合变量(组)的唯一标识 |
value | string | 否 | 变量值 |
remark | string | 否 | 备注 |
enable | string<'0' | '1'> | 否 | 状态 1 启用 | 0 禁用 |
响应
更新后的数据对象(参考上方分页查询接口响应),如果是批量更新则返回数组对象
改变状态
POST/env/v1/changeStatus
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
id | number | number[] | 是 | 唯一标识 |
status | number<0 | 1> | 是 | 状态 1 启用 | 0 禁用 |
isComposite | boolean | 否 | 是否为复合变量(组),否则为普通变量和复合变量的值,默认否 |
调整排序
POST/env/v1/order
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
id | number | 是 | 唯一标识 |
isComposite | boolean | 否 | 是否为复合变量(组),否则为普通变量和复合变量的值,默认否 |
order | number | 否 | 目的修改位置 |
moveToEnd | boolean | 否 | 是否移动到最后 |
至少需要提供 order
或 moveToEnd
其中一个,设置 moveToEnd
时 order
参数的值会被覆盖为所有记录 sort
字段中的最大值,与其相反的操作是将 order
参数的值设置为 1
。关于置顶或置底操作应建立在可视角度上,后端分页数据默认均为倒序返回所以应注意区分使用场景。另外只有复合变量值的排序有实际意义,并且在前端设计中只有管理复合变量值的表格中加上了正向排序的功能。
总结:除复合变量值以外对于其它变量记录的排序无实际意义且操作方向相反,因为分页数据是倒序返回的,即最近添加的变量靠前展示。
删除
POST/env/v1/delete
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
id | number | number[] | 是 | 唯一标识 |
isComposite | boolean | 否 | 是否为复合变量(组),否则为普通变量和复合变量的值,默认否 |