Skip to content

Var

用于定义变量,单个控件可同时定义多个变量,可定义的变量类型(Lua数据类型):stringnumberbooleantable

业务属性

属性含义说明输入限定示例值
enable是否启用该控件,未启用时不编译是否编译选择值启用
text与控件关联的文本设计页控件显示常量Copy
param定义变量

params属性

属性输入限定示例值
变量类型选择值字符串(string)
变量名常量str
变量值常量/流程变量#
默认值常量/流程变量abc
报错方式选择值赋默认值

params属性说明

  1. 变量类型 可定义的变量类型:字符串(string)数字类型(number)布尔类型(boolean)数组(array)对象(object)

  2. 变量名 请按Lua变量名定义规范书写变量名

  3. 变量值

    • 输入流程变量时,都直接使用 #{} 占位符引用变量即可。

    • 直接输入变量数据值时,按以下格式:

      • 字符串(string):填写字符串数据,如orapis

      • 数字类型(number):填写数字,如10.5

      • 布尔类型(boolean):填写对应布尔值,如true

      • 数组(array):填写数组序列化的Json格式字符串;如定义有两个string类型元素的数组时,填写["一","二"]

      • 对象(object):填写对象序列化的Json格式字符串;如定义有两个string类型属性的对象时,填写{"a":"一","b":"二"}

        数组和对象的Json数据节点可使用流程变量,如{"a":"#{str}","b":"二"},为对象属性a初始化为str变量值

    • 输入为时,各类型的变量会被赋予一个默认值,默认值如下:

      • 字符串(string):(空字符串)

      • 数字类型(number)0

      • 布尔类型(boolean)false

      • 数组(array):(空元素数组)

      • 对象(object):(空属性对象)

  4. 默认值 变量定义过程中发生异常(例如变量值尝试引用一个不存在的变量(nil)中的属性时)时,变量的默认赋值

使用示例

输入常量值

变量值非空

增加Var控件,params输入如下:

img_var_1.pngimg_var_2.png

增加输出控件return,输出定义的各类型变量

data属性为:

json
{
  "str": "#{str}",
  "num": "#{num}",
  "bol": "#{bol}",
  "arr": "#{arr}",
  "obj": "#{obj}"
}
{
  "str": "#{str}",
  "num": "#{num}",
  "bol": "#{bol}",
  "arr": "#{arr}",
  "obj": "#{obj}"
}
img_var_3.png

使用curl请求接口:

$ curl http://localhost:6636/api/var
$ curl http://localhost:6636/api/var

接口返回:

json
{
    "str": "orapis",
    "obj": {"num": 1,"str": "一"},
    "num": 10.5,
    "bol": true,
    "arr": ["一","二","三"]
}
{
    "str": "orapis",
    "obj": {"num": 1,"str": "一"},
    "num": 10.5,
    "bol": true,
    "arr": ["一","二","三"]
}

变量值为空

当变量值输入为空值时,根据变量类型赋默认值。

Var控件params属性输入如下:

img_var_4.png

使用curl请求接口:

$ curl http://localhost:6636/api/var
$ curl http://localhost:6636/api/var

接口返回:

json
{
    "arr": {},
    "str": "",
    "num": 0,
    "bol": false,
    "obj": {}
}
{
    "arr": {},
    "str": "",
    "num": 0,
    "bol": false,
    "obj": {}
}

输入流程变量

变量的定义直接初始化为流程变量的值。

Var控件params属性输入如下:

img_var_5.png
$ curl http://localhost:6636/api/var -d "{\"str\":\"orapis\",\"obj\":{\"num\":1,\"str\":\"一\"},\"num\":10.5,\"bol\":true,\"arr\":[\"一\",\"二\",\"三\"]}"
$ curl http://localhost:6636/api/var -d "{\"str\":\"orapis\",\"obj\":{\"num\":1,\"str\":\"一\"},\"num\":10.5,\"bol\":true,\"arr\":[\"一\",\"二\",\"三\"]}"

接口返回:

json
{
    "arr": ["一","二","三"],
    "obj": {"str": "一","num": 1},
    "num": 10.5,
    "str": "orapis",
    "bol": true
}
{
    "arr": ["一","二","三"],
    "obj": {"str": "一","num": 1},
    "num": 10.5,
    "str": "orapis",
    "bol": true
}