ActionDefinition 定义了可重用的动作,这些动作可以在多个流和步骤中被引用。动作是流引擎中的核心执行单元,封装了具体的业务逻辑。
类型: string
必需: 是
描述: 动作的唯一标识符
用于在步骤中通过 use 属性引用动作。
示例:
类型: string
必需: 否
描述: 动作的显示标题
用于界面展示和调试。
示例:
类型: (ctx: TCtx, params: any) => Promise<any> | any
必需: 是
描述: 动作的处理函数
动作的核心逻辑,接收上下文和参数,返回处理结果。
示例:
类型: Record<string, any> | ((ctx: TCtx) => Record<string, any> | Promise<Record<string, any>>)
必需: 否
描述: 动作的默认参数
在动作执行前,为参数填充默认值。
示例:
类型: Record<string, ISchema> | ((ctx: TCtx) => Record<string, ISchema> | Promise<Record<string, ISchema>>)
必需: 否
描述: 动作的 UI 配置模式
定义动作在界面中的显示方式和表单配置。
示例:
类型: (ctx: FlowSettingsContext<TModel>, params: any, previousParams: any) => void | Promise<void>
必需: 否
描述: 参数保存前的钩子函数
在动作参数保存前执行,可以用于参数验证或转换。
示例:
类型: (ctx: FlowSettingsContext<TModel>, params: any, previousParams: any) => void | Promise<void>
必需: 否
描述: 参数保存后的钩子函数
在动作参数保存后执行,可以用于触发其他操作。
示例:
类型: boolean | ((ctx: TCtx) => boolean | Promise<boolean>)
必需: 否
描述: 是否使用原始参数
如果为 true,将直接传递原始参数给处理函数,不进行任何处理。
示例:
类型: StepUIMode | ((ctx: FlowRuntimeContext<TModel>) => StepUIMode | Promise<StepUIMode>)
必需: 否
描述: 动作的 UI 显示模式
控制动作在界面中的显示方式。
支持的模式:
'dialog' - 对话框模式'drawer' - 抽屉模式'embed' - 嵌入模式示例:
类型: ActionScene | ActionScene[]
必需: 否
描述: 动作的使用场景
限制动作在特定场景下使用。
支持的场景:
'settings' - 设置场景'runtime' - 运行时场景'design' - 设计时场景示例:
类型: number
必需: 否
描述: 动作的排序权重
用于控制动作在列表中的显示顺序,数值越小越靠前。
示例: