aiflow - 组件 - 输入组件介绍
输入组件
产生数据,并转到 FlowContext:
组件 | 描述 | 备注 |
---|---|---|
VarInput | 变量输入组件 | 由 meta 配置输入 |
VarCopy | 变量复制组件 | 根据 meta 配置,复制流上下文里的变量 |
ConsoleInput | 控制台输入组件 | 通过控制台的输入一行产生 |
WebInput | Web 输入组件 | 由网络请求输入(可以有附件) |
1、VarInput 组件属性
VarInput 组件,会把节点里的所有 meta 配置,转为流上下文变量。
比如配置 message
,下个节点,可通过此变量名获取输入值。
示例:
- task: @VarInput
meta:
message: hello
var2: test
效果相当于:
- task: |
context.put("messsage", "hello");
context.put("var2", "test");
2、VarCopy 组件属性(v3.3.3 后支持)
VarCopy 组件,会根据节点里的 meta 配置,从流上下文复制变量。
比如把 message 变量,复制为 var2
示例:
- task: @VarCopy
meta:
var2: message #支持 SnEL 求值表达式
user_name: user.name
效果相当于:
- task: |
context.put("var2", SnEL.eval("message", context.model()));
context.put("user_name", SnEL.eval("user.name", context.model()));
3、ConsoleInput 组件属性
ConsoleInput 组件,会从控制台里读取一行数据,做为输出
属性 | 默认值 | 描述 |
---|---|---|
output | message | 输出变量名(下个节点,可通过此变量名获取输入值) |
示例:
- task: @ConsoleInput
效果相当于:
- task: |
import java.io.BufferedReader;
import java.io.InputStreamReader;
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
context.put("messsage", reader.readLine());
4、WebInput 组件属性
WebInput 组件,会从 web 请求里获取参数,然后转为流上下文变量。
属性 | 默认值 | 描述 |
---|---|---|
input | message | 输入变量名(通过变量名,从 web 请求里获取参数) |
attachment | attachment | 附件变量名(通过变量名,从 web 获取文件,并转到流上下文) |
output | message | 输出变量名(下个节点,可通过此变量名获取输入值) |
示例:
- task: @WebInput
效果相当于:
- task: |
import org.noear.solon.core.handle.Context;
context.put("messsage", Context.current().param("message"));
context.put("attachment", Context.current().file("attachment"));