Urule Pro 使用技巧

在前面我们已经学习了Urule Pro规则引擎的设计工具的使用了,那么我们现在来深入的了解一下Urule Pro在设计的过程中的一些使用技巧,让我们在规则设计时更高效,更便捷。

1.文件源码

在设计规则文件的时候我们可以查看文件源码

并且文件的源码还可以编辑保存的

注意:

文件源码千万不要随意去修改,很可能导致文件本身错误、引入该文件的文件也错误打不开,所以我们在编辑文件源码的时候一定要小心。

那我们什么时候会去编辑文件源码呢?

例如:

我们在规则设计的时候引入了库文件,当我们规则文件设计好了的时候,我不小心删除了库文件的变量或字段,然后又把之前删除的变量和字段加上。这个时候表面上库文件的信息和原来一模一样,但实际上这个库文件的源码已经发生了改变,所以运用到该变量或字段的规则文件都会报错,找不到该变量或字段的引入。

如图:

1.我们在规则文件中运用到了【员工】的【name】字段

2.然后我们把【员工】变量的【name】字段给删除,再添加【name】字段

表面上库文件没有发生变化,但实际上库文件的源码已经发生了改变,所以运用到该属性字段的规则文件报错打不开了。

问题的原因:

添加变量或属性,都会重新生成uuid,而Urule Pro是通过uuid去找引用到的变量或属性的,所以导致了上面【员工.姓名】没找到。

解决办法:

上图为例,我们可以找到报错打不开的那个规则文件-->点击查看文件源码-->查找没找到的变量或字段,我们先查找”姓名“-->找到它的uuid-->复制uuid-->再打开库文件的源码-->找到该变量的“姓名”字段-->把uuid替换-->保存文件源码-->重新打开规则文件就好了

注意:

在修改源码的时候,一定要记得先copy备份一份源码,以防修改错了,Urule Pro源码修改了没有返回上一次修改的功能

保存源码后,重新打开规则文件就好了

2.向导式规则设计器操作技巧

  • 菜单弹出时不会自动消失,必须要双击空白处才会消失(双击标签页的位置等),这样做是为了更好的避免用户的误操作,因为实际使用时菜单项往往是很多的。

  • 配置条件时,在变量属性后面,有个小方框,可以随便增加+-*/,如下图所示:

  • 配置条件时,运算符号后面,有个小方框,可以增加括号,如下图所示:

  • 配置条件时,想选常量但是选错了变量后,在左边有个小方块,可以随时重新选择常量

  • 可以随意鼠标拖动规则顺序/拖动规则里动作顺序

  • 规则条件中右键菜单里可对条件位置进行上移或下移操作,如下图:

  • 规则条件中右键菜单里可对条件进行复制操作,在条件连接按钮上的菜单里可对条件进行粘贴操作,当然也可以在条件连接按钮上对当前按钮下所有条件进行复制,然后粘贴到另一个条件连接按钮上。

  • 在规则动作上右键,在弹出菜单里可对当前动作进行复制,然后在其它动作上可对复制的动作进行粘贴

  • 选择变量、常量、参数、动作时,如果菜单项多于20个,会自动在菜单顶部添加过滤框,可对当前菜单项进行过滤操作

  • 规则名边有个树形图标,点击它可查看当前规则运行时构建的规则树,有助于我们理解规则的构建

  • 向导式规则集文件右侧有规则文件导航栏,会显示规则名及规则的优先级(如果有定义的话),可点击规则名边的箭头显示或隐藏当前规则,也可以点击规则名快速定位到当前规则,同时规则如果设置了不启用,那么规则名将以灰色显示

3.规则流设计器操作技巧

  • 在工具栏上点击某个规则流节点类型后,可在工作区里点击添加该节点,每次点击增加一个节点

  • 要选中节点,可先点击工具栏上的选择图标,然后再去点击目标节点,即可选中节点,也可以采用拖选方式选择一个或多个节点

  • 选中一个或多个节点后,可点击工具栏上的删除图标删除节点

  • 选中节点后可通过节点上的操作框改变节点大小(节点图标采用的是svg格式,所以允许任意改变图标尺寸)

  • 要在两节点间添加连接线,需先选中工具栏上的连接线图标,然后点击工具栏里的第一个节点,再点击第二个节点,就可以在这两个节点间建立连接线

  • 要选中连接线可采用拖选方式,拖选出来的框只要接触到连接线就会选中目标连接线

  • 选中连接线后,鼠标移到连接线的开始或结束位置,鼠标会变成十字图标,此时按住鼠标移到其它节点上可改变连接线的源节点或目标结点

  • 选中连接线后,连接线上会出现若干可移动的锚点,如下图,通过拖动锚点可改变连接线形状

  • 选中连接后,双击连接线上的锚点,可删除当前锚点,连接线当前段会恢复直线状态

  • 规则流属性面板上左侧有个箭头,点击可展开或收缩面板,以节省操作空间

4.使用遍历集合

一般我们再配置规则时,会遇到向集合需要遍历。当我们集合中存的是变量对象时,循环规则块中我们直接使用集合中存的变量即可。

快速测试结果:

如果集合中我们存放的值并未定义业务变量,需要我们通过集合索引进行获取。

快速测试日志:

5.设计器中比较操作符的说明

比较操作符名称

说明

大于、大于等于、小于、小于等于、等于、等于(不区分大小写)、不等于、等于(不区分大小写)

左边的值与操作符右边的值进行比较

开始于、不开始于、结束于、不结束于

左边值是否为右边值的前缀/后缀,例:

aa (左值) 开始于aabbcc(右值) ,结果是true

aa(左值) 不开始于aabbcc(右值) ,结果是false

cc(左值) 结束于 aabbcc(右值) ,结果是true

dd (左值) 不结束于 aabbcc(右值) ,结果是true

为空、不为空

左值是否为空字符串

包含、不包含

左值字符串是否包含右值字符串,例:

aabbccdd(左值) 包含bb(右值),结果是true

aabbccdd(左值) 包含ee(右值),结果是false

在集合中、不在集合中

左值在不在指定的集合(右值)中,右值是一个集合对象或者是逗号隔开的字符串,字符串比如:

aa(左值) 在集合aa,bb,cc,dd中,结果是true

匹配正则表达式、不匹配正则表达式

左值是否与右值提供的正则表达式匹配,例:

aa(左值) 匹配正则表达式`` .*?(aa\

bb\cc\)*?``

在区间值中、不在区间值中

左值是否在右值的区间范围,左值是数字类型,右值为数字区间,(和)表示不包含边界数字,[和]表示包含边界数字,省略表示包含。例:

5(左值)在区间值1,10,结果是true

1(左值)在区间值(1,10],结果是false

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值