Skip to main content

默认分支组件

默认分支组件(SwitchDefault)是多路分支的历史兜底节点,用于放置「匹配都未命中」时需要执行的组件。

概述​

默认分支是多路分支(Switch)的兜底路径。它本身没有业务配置项,只需把需要执行的组件连到默认分支下游。

历史节点

默认分支的服务端管理器 SwitchDefaultComponentManager 已标记为 [Obsolete("don't use in new case")],且接口画布的侧边栏(getMetaInterfaceSidebarItemConfig)已不再提供该节点:当前组件面板的「流程控制」分组只有 FlowCondition、Switch、SwitchCase。该节点仅为兼容历史流程而保留。

配置项​

默认分支只有通用属性(名称、描述、排序),无额外配置项。也不提供「输出到最终结果」开关。

执行流程​

使用场景​

  • 兼容早期版本中「兜底处理」的历史画布
  • 迁移时作为待替换节点识别

下一步​

属性明细​

以下内容面向技术实现与 AI 检索,说明默认分支组件的节点元数据。

节点元数据​

默认分支组件由 FlowCmpType.SwitchDefault 标识:

属性名类型含义取值/存储值
typestring组件类型固定为 "SwitchDefault"
orderstring同级排序例:"4"

元数据存储示例​

{
"ID": "default1",
"type": "SwitchDefault",
"order": "4"
}

服务端执行逻辑​

默认分支由 SwitchDefaultComponentManager(继承 InterfaceComponentManagerBase)实现。其逻辑极为简单:不参与脚本结果匹配,直接继续执行下游。

元数据均为字符串

节点元数据以 Dictionary<string, string> 存储,type、order 都是字符串;服务端通过 meta.SafeGet("键名") 读取。

执行时机与场景​

时机说明
保存/发布校验_VerifyAsync 不做额外校验,直接 VerifyNextAsync
被 Switch 调度Switch 的 ExecuteNextAsync 会执行全部下游,SwitchDefault 若为下游即被调度

输入参数(meta 键)​

默认分支没有业务输入参数,meta 仅含通用键:

meta 键类型含义取值/存储值
typestring组件类型"SwitchDefault"
orderstring(数字)同级排序如 "4"
IDstring节点标识画布生成

执行步骤​

  1. _VerifyAsync:return await VerifyNextAsync(context);(仅透传下游校验)。
  2. _ExecuteAsync:return await ExecuteNextAsync(context);(无条件推进下游,不读取 CmpResult、不做任何比较)。

分支路由规则​

  • 与匹配分支不同,SwitchDefault 没有等值判断:被调度时总会继续执行其下游。
  • 因此它并不在服务端实现「仅当所有匹配分支都未命中才执行」的语义;真正的分支命中与否完全由 SwitchCase 的等值比较决定。
  • 类的 [Obsolete] 标记说明它不再用于新场景,新建流程请使用 Switch + SwitchCase 组合表达路由。

输出与上下文​

上下文属性默认分支的处理
CmpResult / Result不写入、不读取
下游推进无条件调用 ExecuteNextAsync

异常与校验​

场景说明
校验阶段_VerifyAsync 无专属校验,仅透传下游
执行阶段_ExecuteAsync 无专属异常处理,错误由下游节点抛出