如何调用其他工程中的流程功能
企业内部可能有些流程是公用的,比如登录过程,查找和发送邮件等,这时候,我写好了第一个流程,这些子流程都定义好了,我写第二个流程的时候想引用第一个流程怎么办?比较土的方法当然是复制组件过来,下面提供一个另外的引用方法:
我有两个流程NewProject1
和NewProject3
,NewProject3
里面有一个子流程叫print_test
,功能很简单,打印了 'project3 test'
现在来实现调用
-
首先把
NewProject3
整个目录复制到NewProject1\codes
目录下
我们看到效果是这样的: -
然后,在
NewProject1
中添加代码块
我们 import 了NewProject3.codes.Main
,注意大小写, 然后初始化了这个机器人,调用其中的print_test()
方法
代码如下:
import NewProject3.codes.Main as np3 # 别名np3
test = np3.NewProject3() #初始化实例
test.print_test() # 调用流程,也可以调用Main,请自行测试数据依赖
最后我们得到想要的结果
在机器人推送等情况下,这个目录不会改变,也会随代码发送,唯一麻烦的事情是,如果这个 project3 更新了,你也要记得 copy 过来一下
另外小心在 project3 中对路径的使用,要保证由于相对路径变更了,导致程序发生错误。
9.0 会提供提示功能,争取所有编辑框提供类提示、tab 补全
这个功能很好,我已经开始在 7.0 的版本中进行进一步的代码重构,提高子流程的可重用性。唯一一个缺点是写代码时,引用的包里面的方法名不是 "." 一下就会自动显示的,一定要记住原来的包的方法名。这个在后面的版本中是否可以改进一下。
实践中发现,由于 GlobalFun. 函数名 (),会直接引用整个项目的 GlobalFun,因此引用不到复制来的项目的 globalfunction,会出现错误,因此,复制来的 NewProject3 中,不可以使用 GlobalFun