节点引用
ref:引用指定规则链或者当前规则链节点,用于节点复用。v0.24.0+
# 配置
| 字段 | 类型 | 是否必填 | 说明 | 默认值 |
|---|---|---|---|---|
| targetId | string | 是 | 格式:[{chainId}]:{nodeId},如果是引入本规则链,则格式为:{nodeId} | 无 |
| tellChain v0.34.0+ | bool | 是 | true:执行以targetId为起点的整条子链,否则仅执行本节点 | false |
# Relation Type
- 执行成功则使用该节点的输出关系发送到下一个节点。
- 如果找不到节点,则把消息通过
Failure关系发送到下一个节点。
给被引用的节点设置稳定的 id
节点的 id 可以手动指定(DSL 的 metadata.nodes[].id、Go 代码构建 types.RuleNode{Id: "..."}、编辑器节点属性面板的「节点ID」输入框均可)。被 ref 引用的节点建议始终显式设置语义化 id(如 dataValidator)——不写 id 时引擎会按节点顺序自动补 node_0、node_1...,这类按位置生成的 id 在节点增删或排序后会漂移,不适合作为引用目标。
# 示例
{
"id": "node_5",
"type": "ref",
"name": "引用当前链节点",
"configuration": {
"targetId": "node_4"
}
}
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
{
"id": "node_2",
"type": "ref",
"name": "引用其它链节点",
"configuration": {
"targetId": "ynlLYSAgCy2J:node_2"
}
}
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
在 GitHub 上编辑此页 (opens new window)
上次更新: 2026/09/09, 01:25:38