自定义节点
自定义节点是规则引擎的扩展组件,用户可通过 C# 代码开发自定义处理节点,编译后在规则引擎流程编排中拖拽使用。
功能入口
在工程开发页面,点击左侧菜单"自定义节点"进入管理页面。

图1:自定义节点管理页面
节点列表
| 列 | 说明 |
|---|---|
| 节点名称 | 节点的标识名称 |
| 分类 | 节点所属分类 |
| 输入参数 | 输入参数数量 |
| 输出参数 | 输出参数数量 |
| 输入输出 | 输入输出参数数量 |
| 更新时间 | 最后修改时间 |
列表功能
| 功能 | 说明 |
|---|---|
| 分页 | 支持分页显示(20/50/100条/页) |
| 多选 | 支持复选框多选,用于批量操作 |
| 分类筛选 | 支持按分类筛选节点列表 |
新建节点
点击"新建节点"按钮,填写节点名称、分类(可选)、描述(可选)。

图2:新建节点对话框
编辑节点
点击"编辑"按钮进入节点编辑器:

图3:节点编辑器页面
节点信息
| 字段 | 说明 |
|---|---|
| 节点名称 | 节点的标识名称 |
| 分类 | 节点所属分类,用于规则引擎中组织节点 |
| 描述 | 节点功能说明 |
参数定义
| 参数类型 | 说明 |
|---|---|
| 输入参数 | 从上游节点传入的数据,节点内部只读 |
| 输出参数 | 节点处理后输出的数据,供下游节点使用 |
| 输入输出参数 | 既是输入也是输出,可在节点内部修改 |
参数属性
| 属性 | 说明 |
|---|---|
| 参数名 | 参数的标识名称 |
| 数据类型 | Int32、Int64、Float、Double、Boolean、String、Object 等 |
| 描述 | 参数的功能说明 |
代码编辑器
使用 Monaco 编辑器编写 C# 代码,支持以下功能:
| 功能 | 说明 | 快捷键 |
|---|---|---|
| 语法高亮 | C# 语法高亮显示 | - |
| 智能提示 | 代码自动补全,输入 . 或空格触发 | - |
| 语法检查 | 实时语法检查,错误和警告在编辑器中波浪线标注 | - |
| 悬浮提示 | 鼠标悬浮显示类型信息和文档 | - |
| 签名帮助 | 输入方法括号时显示参数签名 | - |
| 快速修复 | 触发代码修复建议 | Ctrl+. |
| 撤销/重做 | 撤销和重做操作 | Ctrl+Z / Ctrl+Y |
| 注释切换 | 注释/取消注释当前行 | Ctrl+/ |
| 保存 | 保存脚本 | Ctrl+S |
| 格式化 | 格式化代码 | Ctrl+K, Ctrl+F |
| 复制行 | 向下复制当前行 | Ctrl+D |
| 删除行 | 删除当前行 | Ctrl+Shift+K |
| 转到定义 | 跳转到符号定义 | F12 |
编译日志
编译日志面板位于编辑器右侧,显示编译过程的详细信息和结果。

图4:节点编辑器-编译日志面板
日志头部
日志面板顶部显示统计信息:
| 信息 | 说明 |
|---|---|
| 错误数 | 红色显示,表示编译错误数量 |
| 警告数 | 橙色显示,表示编译警告数量 |
日志条目类型
| 类型 | 图标 | 背景色 | 说明 |
|---|---|---|---|
| 错误 | 红色叉号 | 红色背景 | 编译错误,必须修复才能编译成功 |
| 警告 | 橙色感叹号 | 橙色背景 | 编译警告,建议修复但不阻止编译 |
| 成功 | 绿色勾号 | 绿色背景 | 编译成功信息 |
| 信息 | 灰色 i | 无背景 | 编译过程信息(如保存状态、编译进度等) |
编译流程日志
编译时按顺序显示以下日志信息:
- 保存节点 -
正在保存节点... - 保存结果 - 保存成功/失败
- 开始编译 -
节点保存成功,开始编译... - 编译结果 - 编译成功/失败
- 输出路径 - 编译成功时显示 DLL 输出路径
- 诊断信息 - 编译器返回的错误和警告详情
点击跳转
点击跳转到代码行
点击编译日志中的错误或警告条目,编辑器会自动跳转到对应的代码行,并高亮选中出错的位置,方便快速定位和修复问题。
实时语法检查
除了编译时的日志,编辑器还会在代码修改时自动进行实时语法检查(约500ms延迟),检查结果会:
- 在编辑器中以波浪线标注错误和警告位置
- 同步显示在编译日志面板中
- 支持点击跳转到对应代码行
操作按钮
| 操作 | 说明 |
|---|---|
| 编辑 | 打开节点编辑器 |
| 编译 | 编译单个节点 |
| 删除 | 删除节点 |
| 批量编译 | 编译选中的多个节点 |
| 批量删除 | 删除选中的多个节点 |