规则编辑器
大约 5 分钟
功能概述
规则引擎编辑器由顶部工具栏、左侧节点列表、编辑区域、右侧组件配置组成。

一、工具栏
常见的执行操作,例如删除、导出、放大、缩小、保存、发布、流程、案例和帮助等。
- 保存:用于保持前端数据,保存后默认该条规则引擎处于禁止状态。
- 发布:点击发布后,该条规则引擎处于激活状态。
- 日志:可以查看规则执行日志。
- 流程:可查看当前节点和连线的数据格式。
- 案例:存储了一些经典例子,供使用者参考。
- 帮助:列举了编辑器的使用说明。
二、节点列表
包括输入输出、通讯节点和功能节点(后续可进行扩展)
2.1. 输入输出
开始节点
- 只做开始作用,不能连接它,同时不接受多条连线
结束节点
- 只做结束作用,不主动连接别的节点
2.2. 通讯节点
设备变量触发节点
- 用于设置触发条件的设备物模型变量,配合条件组件使用。定义某个设备触发的某个属性,某个事件,某个功能,设备上下线等触发

设备变量执行节点
- 用于执行的设备物模型变量,设置某个设备的可写属性或者调用设备功能。

产品变量触发节点
- 用于设置触发条件的产品物模型变量,配合条件组件使用。定义某个产品下所有设备的某个属性,某个事件,某个功能,设备上下线等触发

产品变量执行节点
- 用于执行的产品下的物模型变量,设置某个产品下所有设备的可写属性或者调用设备功能。

定时触发节点
- 用于指定周期触发,定时执行执行规则任务

自定义触发节点
- 用于自定义触发key值,同时传入初始化参数,执行规则任务

2.3. 功能节点
条件节点
- 使用时需先配置设备变量触发节点,根据设备变量触发节点中选择的变量生成对应的条件判断表达式

- 条件节点连接多少个to节点就可以设置多个条表达式

- 连接了条件节点的to节点才可以设置触发条件

延迟节点
- 用于延迟一定时间后执行,可以设置单位:毫秒,秒,分,时,天

告警节点
- 用于告警执行和告警恢复动作

注释节点
- 定义备注信息,无实际作用,只是为了方便用户查看
2.4. 桥接节点
http桥接节点 主要为输出侧的http桥接节点,用于推送http请求。
mqtt桥接节点 主要为输出侧的mqtt桥接节点,用于发布mqtt消息。
数据库桥接节点 用于执行sql语句,支持多种数据源数据库。
2.5. 脚本节点
用于编写groovy脚本,可灵活修改上下文对象属性,调试传递消息的格式和内容等
三、编辑区域
这里的“编辑”指的是节点编辑区域,它是我们的主要编辑区域。 在编辑区域可以按照业务规则拖拉拽节点和连接节点,也可以随意除一条线,一个节点,也用鼠标左键选中一个节点,一条线,按下删除键即可删除。

四、组件配置
右侧组件配置包括样式和属性,通过点击组件节点进行配置设置,不同的组件节点有不同的属性配置
线
- 可以配置名称,没有实际意义只是一个标识

- 设置线的类型和值

线的类型分为普通路径、选择路径、true(if路径) 和 false(if路径)
a. 普通路径: 默认选择
b. 选择路径: 条件节点连线大于两条
c. true(if路径):条件节点连线等于两条
d. false(if路径):条件节点连线等于两条
节点
- 不同的节点会展示不同的属性设置,根据功能需求进行设置

