CN115718619A - 一种可视化控制逻辑编排方法、设备及介质 - Google Patents
一种可视化控制逻辑编排方法、设备及介质 Download PDFInfo
- Publication number
- CN115718619A CN115718619A CN202211506409.1A CN202211506409A CN115718619A CN 115718619 A CN115718619 A CN 115718619A CN 202211506409 A CN202211506409 A CN 202211506409A CN 115718619 A CN115718619 A CN 115718619A
- Authority
- CN
- China
- Prior art keywords
- component
- service
- node
- controller
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本申请实施例公开了一种可视化控制逻辑编排方法、设备及介质。创建控制器构件,并生成控制器构件对应的控制器构件原数据文件、服务构件元数据文件以及代码文件;获取代码文件中的服务方法与服务方法对应的注释信息,并将服务方法与注释信息填充至服务构件元数据文件中;在控制器构件处于编辑模式的情况下,基于控制器构件原数据文件中的服务方法与服务构件元数据文件中的服务方法分别对应的元数据,确定出多个节点信息;其中,多个节点信息与当前项目需求对应的元数据相关;基于多个节点信息构建流程图组件,以基于流程图组件对当前项目所需的服务方法进行编排,得到当前项目对应的控制器方法。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种可视化控制逻辑编排方法、设备及介质。
背景技术
在2014年,Forrester首次提出了低代码的概念。低代码的目标是通过一种可视化的应用开发方法,实现业务应用的快速交付并且尽量降低应用的开发成本。低代码平台一般会提供可视化的“界面设计器”以供用户通过拖拉拽公共组件的方式完成视图层的设计,并可以根据所得到的界面元数据自动生成前端代码。同时,平台往往也提供了“业务模型设计器”用来让用户通过可视化的方式完成数据库表的设计,并可以根据所得到的模型元数据生成后端代码,这些代码基本上能够覆盖常用的增删改查等的需求。但由于业务需求是千变万化的,默认生成的控制逻辑显然不能覆盖所有的需求,此时就需要开发人员编写控制层代码来完成相应的需求。
为了避免重复编写相同的功能,现有低代码平台的做法一般是由平台开发者预先识别出在本平台的目标应用领域中较为常用的控制层逻辑,并编写公共代码包,比如前端代码可以打包为npm包而后端代码可能打包为jar包,然后将这些包发布到其平台的服务器中。在业务开发人员编写控制层代码时,如果发现平台已经编写过可复用的代码,则将对应的包拉取到本地并在代码中引用。现有的方法虽然能够使开发人员复用常见业务逻辑代码,但是开发者依旧需要手动导入公共包,并且需要在自己编写的代码中加入对公共包中方法的调用语句,以致软件开发的效率较低。
发明内容
本申请实施例提供了一种可视化控制逻辑编排方法、设备及介质,用于解决如下技术问题:现有低代码开发平台中需要开发者手动导入公共包,并且需要在自己编写的代码中加入对公共包中方法的调用语句,以致软件开发的效率较低。
本申请实施例采用下述技术方案:
本申请实施例提供一种可视化控制逻辑编排方法。包括,创建控制器构件,并生成控制器构件对应的控制器构件原数据文件、服务构件元数据文件以及代码文件;获取代码文件中的服务方法与服务方法对应的注释信息,并将服务方法与注释信息填充至服务构件元数据文件中;在控制器构件处于编辑模式的情况下,基于控制器构件原数据文件中的服务方法与服务构件元数据文件中的服务方法分别对应的元数据,确定出多个节点信息;其中,多个节点信息与当前项目需求对应的元数据相关;基于多个节点信息构建流程图组件,以基于流程图组件对当前项目所需的服务方法进行编排,得到当前项目对应的控制器方法。
本申请实施例通过控制器构件原数据文件中的服务方法与服务构件元数据文件中的服务方法分别对应的元数据,确定出多个节点信息,并对节点进行编排,从而通过更高维且易用的可视化控制器构件设计器,使开发者直接在设计器中可视化地将自己的代码以及已有的控制器构件方法进行编排组合,达到降低需要编写的代码量并提高平台的易用性的效果,进一步提高了软件的开发效率。
在本申请的一种实现方式中,基于多个节点信息构建流程图组件,具体包括:将控制器构件元数据文件读入到一个对象中;递归遍历当前项目所需的服务方法,获得编排项节点集合;确定出编排项节点集合中各编排项的尺寸信息,以基于尺寸信息确定出每个节点的位置信息;基于每个节点的位置信息绘制流程图组件,并在流程图组件的节点上进行事件响应绑定,以响应用户操作。
在本申请的一种实现方式中,基于流程图组件对当前项目所需的服务方法进行编排,具体包括:对流程图组件中的节点进行编辑处理,基于编辑处理后的流程图组件对当前项目对应的服务方法进行编排;其中,编辑处理至少包括前移或后移节点、删除节点、在任一节点后新增节点、通过属性面板编辑该节点的属性中的一项或多项;在任一节点后新增节点,至少包括在任一节点后新增服务方法节点、分支节点以及分支条件节点中的一项。
在本申请的一种实现方式中,基于流程图组件对当前项目所需的服务方法进行编排,具体包括:在编辑服务方法节点的输入参数时,通过命令参数表达式确定出编排方法的形参;以及在编辑分支条件节点的判断条件表达式时,通过命令结果表达式确定出前序服务方法节点的返回值。
在本申请的一种实现方式中,在对当前项目所对应的服务方法节点进行属性编辑的情况下,至少对服务方法节点对应的编号属性、名称属性、说明属性以及参数列表属性中的一项进行编辑;以及在对当前项目所对应的分支节点进行属性编辑的情况下,至少对分支节点对应的编号属性、名称属性、说明属性以及条件表达式中的一项进行编辑。
在本申请的一种实现方式中,确定出多个节点信息之后,方法还包括:在新增服务方法的编排任务后,若控制器构件中存在预置流程图组件,则通过预置流程图组件对新增服务方法进行组合编排。
在本申请的一种实现方式中,得到当前项目对应的控制器方法之后,方法还包括:获取一个或多个已构建完成的服务方法对应的参考信息;其中,参考信息至少包括一个或多个已构建完成的服务方法对应的路径、服务方法名称以及形参列表中的一项;基于参考信息将一个或多个已构建完成的服务方法发布为公共服务构件,以被其它平台进行引用。
在本申请的一种实现方式中,得到当前项目对应的控制器方法之后,方法还包括:在调用当前项目对应的控制器方法的情况下,若控制器方法对应的流程图组件中不包括分支节点,从流程图组件的开始节点开始执行,直到找不到下一个要执行的节点,结束对控制器方法的调用;若控制器方法对应的流程图组件中包括分支节点,对分支节点对应的判断条件表达式进行解析,在解析结果为真的情况下,执行分支节点对应的下一节点,直到找不到下一个要执行的节点,结束对控制器方法的调用。
本申请实施例提供一种可视化控制逻辑编排设备,包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够:创建控制器构件,并生成控制器构件对应的控制器构件原数据文件、服务构件元数据文件以及代码文件;获取代码文件中的服务方法与服务方法对应的注释信息,并将服务方法与注释信息填充至服务构件元数据文件中;在控制器构件处于编辑模式的情况下,基于控制器构件原数据文件中的服务方法与服务构件元数据文件中的服务方法分别对应的元数据,确定出多个节点信息;其中,多个节点信息与当前项目需求对应的元数据相关;基于多个节点信息构建流程图组件,以基于流程图组件对当前项目所需的服务方法进行编排,得到当前项目对应的控制器方法。
本申请实施例提供的一种非易失性计算机存储介质,存储有计算机可执行指令,计算机可执行指令设置为:创建控制器构件,并生成控制器构件对应的控制器构件原数据文件、服务构件元数据文件以及代码文件;获取代码文件中的服务方法与服务方法对应的注释信息,并将服务方法与注释信息填充至服务构件元数据文件中;在控制器构件处于编辑模式的情况下,基于控制器构件原数据文件中的服务方法与服务构件元数据文件中的服务方法分别对应的元数据,确定出多个节点信息;其中,多个节点信息与当前项目需求对应的元数据相关;基于多个节点信息构建流程图组件,以基于流程图组件对当前项目所需的服务方法进行编排,得到当前项目对应的控制器方法。
本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:本申请实施例通过控制器构件原数据文件中的服务方法与服务构件元数据文件中的服务方法分别对应的元数据,确定出多个节点信息,并对节点进行编排,从而通过更高维且易用的可视化控制器构件设计器,使开发者可以直接在设计器中可视化地将自己的代码以及已有的控制器构件方法进行编排组合,达到降低需要编写的代码量并提高平台的易用性的效果,进一步提高了软件的开发效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1为本申请实施例提供的一种可视化控制逻辑编排方法流程图;
图2为本申请实施例提供的一种可视化控制逻辑编排设备的结构示意图。
具体实施方式
本申请实施例提供一种可视化控制逻辑编排方法、设备及介质。
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本说明书实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
为了避免重复编写相同的功能,现有低代码平台的做法一般是由平台开发者预先识别出在本平台的目标应用领域中较为常用的控制层逻辑并编写公共代码包,比如前端代码可以打包为npm包而后端代码可能打包为jar包,然后将这些包发布到其平台的服务器中。在业务开发人员编写控制层代码时,如果发现平台已经编写过可复用的代码,则将对应的包拉取到本地并在代码中引用。现有的方法虽然能够使开发人员复用常见业务逻辑代码,但是开发者依旧需要手动导入公共包,并且需要在自己编写的代码中加入对公共包中方法的调用语句,以致软件开发的效率较低。
为了解决上述问题,本申请实施例提供一种可视化控制逻辑编排方法、设备及介质。通过控制器构件原数据文件中的服务方法与所述服务构件元数据文件中的服务方法分别对应的元数据,确定出多个节点信息,并对节点进行编排,从而通过更高维且易用的可视化控制器构件设计器,使开发者可以直接在设计器中可视化地将自己的代码以及已有的控制器构件方法进行编排组合,达到降低需要编写的代码量并提高平台的易用性的效果,进一步提高了软件的开发效率。
下面通过附图对本申请实施例提出的技术方案进行详细的说明。
图1为本申请实施例提供的一种可视化控制逻辑编排方法流程图。如图1所示,可视化控制逻辑编排方法包括如下步骤:
S101、创建控制器构件,并生成控制器构件对应的控制器构件原数据文件、服务构件元数据文件以及代码文件。
在本申请的一个实施例中,用户在新建一个前端控制器构件之后,系统将自动生成三个文件,分别是:webcmd后缀的前端控制器构件元数据文件、webcmp后缀的前端服务构件元数据文件、ts后缀的代码文件。其中,webcmd和webcmp文件都是json格式,文件的后缀名仅为了直观地区分元数据类型。需要说明的是,元数据文件不仅仅要用json格式存储,用其它的数据格式如xml也是可以的,本申请实施例对此不做限制。
具体地,用户需要先新建一个控制器构件,系统将会按照用户录入的构件编号、构件名称、构件描述等信息自动创建一个控制器构件元数据文件、一个服务构件元数据文件以及用于保存构件代码的代码文件或目录。需要说明的是,本申请实施例不仅创建了控制器构件元数据,也创建了服务构件元数据,因为仅靠对公共服务构件中的服务方法的编排不一定能够覆盖所有的业务需求,当用户需要编写自己的代码时,就必须有服务构件。所以为了用户使用起来更加方便流畅,控制器构件设计器既可以编辑控制器构件元数据也可以编辑服务构件元数据。可选的,系统可以为这两个元数据文件设置相同的文件名以表明二者之间的关联。
其中,本申请实施例中的控制器构件,是描述了一系列控制器方法的元数据文件。
控制器方法,是通过对服务方法进行编排后得到的方法,一个控制器方法中可以包含一个或者多个服务方法,组合出更加复杂的控制逻辑。比如,用户可以将前端控制器方法挂载到页面的某一个事件上。用户不需要通过编程语言手动编写控制层方法,只需要通过控制器构件设计器完成对控制器方法的设计即可,系统将按照控制器构件元数据中的描述,自动生成相应的代码。
服务方法,是在低代码开发平台的常见场景中经常被用到的可复用的方法,为了避免重复实现相同或相似的控制逻辑,开发人员会整理常见的业务场景,并编写好一些可复用的方法作为服务方法。根据编程语言或具体实施时的各种考虑的不同,服务方法构件可以选择直接包含服务方法所在源代码文件的全部内容,或者也可以选择记录服务方法所在的源代码文件的路径信息,或者也可以选择记录服务方法经过编译打包后所生产的产物的路径信息。总之,通过服务方法构件可以直接映射到对应的服务方法,并将之引入到项目中。
S102、获取代码文件中的服务方法与服务方法对应的注释信息,并将服务方法与注释信息填充至服务构件元数据文件中。
在本申请的一个实施例中,新建构件后,系统生成的ts文件中自带了一个导出的空的ts类,用户可以在这个类中编写方法,设计器将会自动读取并解析类的结构以及方法的注释信息,自动填充webcmp元数据。
在本申请的一个实施例中,获取一个或多个已构建完成的服务方法对应的参考信息;其中,参考信息至少包括一个或多个已构建完成的服务方法对应的路径、服务方法名称以及形参列表中的一项。基于参考信息将一个或多个已构建完成的服务方法发布为公共服务构件,以被其它平台进行引用。用户切换设计器到服务构件编辑模式,即可看到以API文档形式呈现的服务构件元数据内容。
具体地,用户打开构件设计器中所提供的在线代码编辑器,或者通过构件设计器中的链接跳转到本地IDE,并自动打开服务构件元数据所关联的代码文件或目录。用户可以编写自己的服务方法,以覆盖公共服务构件中不包含的控制逻辑。构件设计器将读取并解析用户代码,自动提取服务构件元数据中所需要的描述信息,这通常可能包括:服务方法所在的类的路径和名称、方法名称、方法的参数列表、方法的返回值类型、通过结构化注释提取出的方法描述和参数描述等等,并保存到服务构件元数据中。用户编写完代码之后可以从代码编辑器模式切换回设计器模式,设计器可以以API文档的形式将刚刚提取解析出来的服务方法条目信息一一列举出来。
进一步地,在编写完代码后,用户可以选择将当前的服务构件发布为公共服务构件,经过审核后该服务构件即可被所有平台上的其他开发者引用了。可选的,如果用户希望将某个已有的包中的某个或某几个方法发布为公共服务构件,以前端的npm包为例,系统也支持用户在构件设计器手动输入npm包的路径、方法名、形参列表等信息。
S103、在控制器构件处于编辑模式的情况下,基于控制器构件原数据文件中的服务方法与服务构件元数据文件中的服务方法分别对应的元数据,确定出多个节点信息;其中,多个节点信息与当前项目需求对应的元数据相关。
在本申请的一个实施例中,如果用户希望复用某个公共服务构件中的方法,则需要使用构件设计器的控制器方法编排功能。为了可视化地展现控制器方法所包含的服务方法之间的逻辑关系,系统将为每一个控制器方法绘制一个流程图组件,并以流程图组件中的一个节点对应一个服务方法。
当一个控制器方法被调用时,实际上会按照流程图中的顺序,从开始节点到结束节点,依次执行经过的每一个服务方法。本申请实施例需要根据当前项目需求,确定出实现当前服务方法的编排项,从而确定出多个节点信息,以基于该节点信息构建该流程图组件。
S104、基于多个节点信息构建流程图组件,以基于流程图组件对当前项目所需的服务方法进行编排,得到当前项目对应的控制器方法。
在本申请的一个实施例中,将控制器构件元数据文件读入到一个对象中。递归遍历当前项目所需的服务方法,获得编排项节点集合。确定出各编排项的尺寸信息,以基于尺寸信息确定出每个节点的位置信息。基于每个节点的位置信息绘制流程图组件,并在流程图组件的节点上进行事件响应绑定,以响应用户操作。
具体地,编排方法对应的流程图组件的绘制过程为:将控制器构件元数据文件读入到一个对象,遍历构件中的每一个编排方法,准备绘制其对应的流程图组件。递归遍历编排方法的编排项,获得编排项的节点的集合以及连接编排项的边的集合,考虑节点的高度、节点内文本的宽度等等样式信息,计算出每个节点的位置,以及每一条边的开始与结束点的位置、边的拐点等信息。通过js原生的方式,也可以考虑结合D3、AntV/G6、JsPlumb等绘图框架,以svg或canvas的形式在页面上绘制流程图,并在流程图节点上绑定鼠标点击、鼠标悬浮等事件以响应用户操作。
在本申请的一个实施例中,对流程图组件中的节点进行编辑处理,基于编辑处理后的流程图组件对当前项目对应的服务方法进行编排。其中,编辑处理至少包括前移或后移节点、删除节点、在任一节点后新增节点、通过属性面板编辑该节点的属性中的一项或多项。在任一节点后新增节点,至少包括在任一节点后新增服务方法节点、分支节点以及分支条件节点中的一项。
具体地,在编辑服务方法节点的输入参数时,通过命令参数表达式确定出编排方法的形参。以及在编辑分支条件节点的判断条件表达式时,通过命令结果表达式确定出前序服务方法节点的返回值。
具体地,在对当前项目所对应的分支节点进行属性编辑的情况下,至少对分支节点对应的编号属性、名称属性、说明属性以及条件表达式中的一项进行编辑。
进一步地,如果用户希望复用某个公共服务构件中的方法,则需要使用构件设计器的控制器方法编排功能。为了可视化地展现控制器方法所包含的服务方法之间的逻辑关系,系统将为每一个控制器方法绘制一个流程图,并以流程图中的一个节点对应一个服务方法。当一个控制器方法被调用时,实际上会按照流程图中的顺序,从开始节点到结束节点,依次执行经过的每一个服务方法。需要注意的是,编排功能允许将前面节点的返回值作为后面节点的输入参数,同时也支持添加判断节点和多个条件节点以形成多个分支,分支的条件表达式中也可以使用前序节点的返回值。因为需要支持分支功能,所以采用流程图进行可视化展示较为合适,如果不需要支持分支功能,也可以使用思维导图、树状图、步骤图等。
进一步地,编排一个控制器方法的实际操作流程如下所述:首先,用户需要点击新建一个控制器方法,输入该方法的编号、名称、说明等信息,构件设计器会在控制器方法列表追加一个新的方法条目。初始状态下,由于尚未引入任何服务方法,控制器方法条目的形参列表是空的,对应的流程图只有开始和结束两个节点。用户可以点击选中流程图的开始节点,选择在该节点后新增服务方法,构件设计器将展示当前引入的所有服务构件及其方法的列表,用户可以通过服务构件或服务方法的编号、名称、标签等关键字进行搜索,最终勾选导入所需要的服务方法。用户可以直接编辑流程图上的节点,可以对节点进行的操作包括:前移/后移节点(假设流程图水平布局)、删除节点(开始节点和结束节点不可删除)、在该节点后新增节点(可新增的节点包括:服务方法节点、分支节点、分支条件节点)、通过属性面板编辑该节点的属性。在属性面板中,可以编辑的信息包括,对服务方法节点来说,有编号、名称、说明、参数列表等;对分支节点来说,有编号、名称、说明等;对分支条件节点来说:有编号、名称、说明、用于判断是否执行该分支的条件表达式等。
在本申请的一个实施例中,在新增服务方法的编排任务后,若控制器构件中存在预置流程图组件,则通过预置流程图组件对新增服务方法进行组合编排。
在本申请的一个实施例中,在调用当前项目对应的控制器方法的情况下,若控制器方法对应的流程图组件中不包括分支节点,从流程图组件的开始节点开始执行,直到找不到下一个要执行的节点,结束对控制器方法的调用。若控制器方法对应的流程图组件中包括分支节点,对分支节点对应的判断条件表达式进行解析,在解析结果为真的情况下,执行分支节点对应的下一节点,直到找不到下一个要执行的节点,结束对控制器方法的调用。
具体地,如果用户需要添加编排方法,则切换设计器到控制器构件编辑模式,新增编排方法后,即可通过其对应的流程图组件对已有的服务方法进行组合编排。在编辑服务方法节点的输入参数或者分支条件节点的判断条件表达式时,可以使用命令参数表达式和命令结果表达式来代表编排方法的形参或者前序服务方法节点的返回值,它们的格式可以形如:{COMMAND~/params/XXXParamName}
{COMMAND~/results/XXXTaskName}。
在生成代码时,可以通过实现一个表达式解析服务来将该表达式转化为实际的方法形参或判断条件的值。
进一步地,系统根据编排方法的元数据,将其中的每一个服务方法抽象为一个节点。如果不涉及分支,则节点之间依次执行,直接用边依次连接服务方法节点即可得到一个图;如果涉及分支,则还可以在边上添加判断条件表达式,只有当表达式的解析结果为真时才会通过这个边去执行下一个节点。在系统调用这个编排方法时,通过编排所得到的图的开始节点开始执行,直到找不到下一个要执行的节点,即视为结束。
需要说明的是,本申请实施例中的编排方法本身是没有返回值的,但是开发者可以通过编排方法的执行上下文获取到其中的每一个服务方法节点的返回值。表1为本申请实施例提供的前端控制器构件数据表。
表1
表2为本申请实施例提供的控制器编排方法数据表。
表2
表3为本申请实施例提供的编排方法形参数据表。
表3表4为本申请实施例提供的编排方法的编排项数据表。
表4
图2为本申请实施例提供的一种可视化控制逻辑编排设备的结构示意图。如图2所示,可视化控制逻辑编排设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
创建控制器构件,并生成所述控制器构件对应的控制器构件原数据文件、服务构件元数据文件以及代码文件;
获取所述代码文件中的服务方法与所述服务方法对应的注释信息,并将所述服务方法与所述注释信息填充至服务构件元数据文件中;
在所述控制器构件处于编辑模式的情况下,基于所述控制器构件原数据文件中的服务方法与所述服务构件元数据文件中的服务方法分别对应的元数据,确定出多个节点信息;其中,所述多个节点信息与当前项目需求对应的元数据相关;
基于所述多个节点信息构建流程图组件,以基于所述流程图组件对当前项目所需的服务方法进行编排,得到当前项目对应的控制器方法。
一种非易失性计算机存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为:
创建控制器构件,并生成所述控制器构件对应的控制器构件原数据文件、服务构件元数据文件以及代码文件;
获取所述代码文件中的服务方法与所述服务方法对应的注释信息,并将所述服务方法与所述注释信息填充至服务构件元数据文件中;
在所述控制器构件处于编辑模式的情况下,基于所述控制器构件原数据文件中的服务方法与所述服务构件元数据文件中的服务方法分别对应的元数据,确定出多个节点信息;其中,所述多个节点信息与当前项目需求对应的元数据相关;
基于所述多个节点信息构建流程图组件,以基于所述流程图组件对当前项目所需的服务方法进行编排,得到当前项目对应的控制器方法。
本申请中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、设备、非易失性计算机存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
上述对本申请特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请的实施例可以有各种更改和变化。凡在本申请实施例的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (10)
1.一种可视化控制逻辑编排方法,其特征在于,所述方法包括:
创建控制器构件,并生成所述控制器构件对应的控制器构件原数据文件、服务构件元数据文件以及代码文件;
获取所述代码文件中的服务方法与所述服务方法对应的注释信息,并将所述服务方法与所述注释信息填充至所述服务构件元数据文件中;
在所述控制器构件处于编辑模式的情况下,基于所述控制器构件原数据文件中的服务方法与所述服务构件元数据文件中的服务方法分别对应的元数据,确定出多个节点信息;其中,所述多个节点信息与当前项目需求对应的元数据相关;
基于所述多个节点信息构建流程图组件,以基于所述流程图组件对当前项目所需的服务方法进行编排,得到当前项目对应的控制器方法。
2.根据权利要求1所述的一种可视化控制逻辑编排方法,其特征在于,所述基于所述多个节点信息构建流程图组件,具体包括:
将控制器构件元数据文件读入到一个对象中;
递归遍历当前项目所需的服务方法,获得编排项节点集合;
确定出所述编排项节点集合中各编排项的尺寸信息,以基于所述尺寸信息确定出每个节点的位置信息;
基于所述每个节点的位置信息绘制流程图组件,并在所述流程图组件的节点上进行事件响应绑定,以响应用户操作。
3.根据权利要求1所述的一种可视化控制逻辑编排方法,其特征在于,所述基于所述流程图组件对当前项目所需的服务方法进行编排,具体包括:
对所述流程图组件中的节点进行编辑处理,基于编辑处理后的流程图组件对当前项目对应的服务方法进行编排;
其中,所述编辑处理至少包括前移或后移节点、删除节点、在任一节点后新增节点、通过属性面板编辑该节点的属性中的一项或多项;
所述在任一节点后新增节点,至少包括在任一节点后新增服务方法节点、分支节点以及分支条件节点中的一项。
4.根据权利要求3所述的一种可视化控制逻辑编排方法,其特征在于,所述基于所述流程图组件对当前项目所需的服务方法进行编排,具体包括:
在编辑服务方法节点的输入参数时,通过命令参数表达式确定出编排方法的形参;以及
在编辑分支条件节点的判断条件表达式时,通过命令结果表达式确定出前序服务方法节点的返回值。
5.根据权利要求3所述的一种可视化控制逻辑编排方法,其特征在于,在对当前项目所对应的服务方法节点进行属性编辑的情况下,至少对所述服务方法节点对应的编号属性、名称属性、说明属性以及参数列表属性中的一项进行编辑;以及
在对当前项目所对应的分支节点进行属性编辑的情况下,至少对所述分支节点对应的编号属性、名称属性、说明属性以及条件表达式中的一项进行编辑。
6.根据权利要求1所述的一种可视化控制逻辑编排方法,其特征在于,所述确定出多个节点信息之后,所述方法还包括:
在新增服务方法的编排任务后,若所述控制器构件中存在预置流程图组件,则通过所述预置流程图组件对所述新增服务方法进行组合编排。
7.根据权利要求1所述的一种可视化控制逻辑编排方法,其特征在于,所述将所述服务方法与所述注释信息填充至服务构件元数据文件中之后,所述方法还包括:
获取一个或多个已构建完成的服务方法对应的参考信息;其中,所述参考信息至少包括所述一个或多个已构建完成的服务方法对应的路径、服务方法名称以及形参列表中的一项;
基于所述参考信息将所述一个或多个已构建完成的服务方法发布为公共服务构件,以被其它平台进行引用。
8.根据权利要求1所述的一种可视化控制逻辑编排方法,其特征在于,所述得到当前项目对应的控制器方法之后,所述方法还包括:
在调用当前项目对应的控制器方法时,若所述控制器方法对应的流程图组件中不包括分支节点,从所述流程图组件的开始节点开始执行,直到找不到下一个要执行的节点,结束对所述控制器方法的调用;
若所述控制器方法对应的流程图组件中包括分支节点,对所述分支节点对应的判断条件表达式进行解析,在解析结果为真的情况下,执行所述分支节点对应的下一节点,直到找不到下一个要执行的节点,结束对所述控制器方法的调用。
9.一种可视化控制逻辑编排设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
创建控制器构件,并生成所述控制器构件对应的控制器构件原数据文件、服务构件元数据文件以及代码文件;
获取所述代码文件中的服务方法与所述服务方法对应的注释信息,并将所述服务方法与所述注释信息填充至所述服务构件元数据文件中;
在所述控制器构件处于编辑模式的情况下,基于所述控制器构件原数据文件中的服务方法与所述服务构件元数据文件中的服务方法分别对应的元数据,确定出多个节点信息;其中,所述多个节点信息与当前项目需求对应的元数据相关;
基于所述多个节点信息构建流程图组件,以基于所述流程图组件对当前项目所需的服务方法进行编排,得到当前项目对应的控制器方法。
10.一种非易失性计算机存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为:
创建控制器构件,并生成所述控制器构件对应的控制器构件原数据文件、服务构件元数据文件以及代码文件;
获取所述代码文件中的服务方法与所述服务方法对应的注释信息,并将所述服务方法与所述注释信息填充至所述服务构件元数据文件中;
在所述控制器构件处于编辑模式的情况下,基于所述控制器构件原数据文件中的服务方法与所述服务构件元数据文件中的服务方法分别对应的元数据,确定出多个节点信息;其中,所述多个节点信息与当前项目需求对应的元数据相关;
基于所述多个节点信息构建流程图组件,以基于所述流程图组件对当前项目所需的服务方法进行编排,得到当前项目对应的控制器方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211506409.1A CN115718619A (zh) | 2022-11-29 | 2022-11-29 | 一种可视化控制逻辑编排方法、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211506409.1A CN115718619A (zh) | 2022-11-29 | 2022-11-29 | 一种可视化控制逻辑编排方法、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115718619A true CN115718619A (zh) | 2023-02-28 |
Family
ID=85256846
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211506409.1A Pending CN115718619A (zh) | 2022-11-29 | 2022-11-29 | 一种可视化控制逻辑编排方法、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115718619A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116167728A (zh) * | 2023-04-26 | 2023-05-26 | 中国建筑西南设计研究院有限公司 | Bim项目信息联动实现方法和装置 |
-
2022
- 2022-11-29 CN CN202211506409.1A patent/CN115718619A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116167728A (zh) * | 2023-04-26 | 2023-05-26 | 中国建筑西南设计研究院有限公司 | Bim项目信息联动实现方法和装置 |
CN116167728B (zh) * | 2023-04-26 | 2023-09-15 | 中国建筑西南设计研究院有限公司 | Bim项目信息联动实现方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108491205B (zh) | 一种基于组件树的前端网页开发方法及系统 | |
KR101307711B1 (ko) | 소프트웨어 자산 기반 솔루션을 개발하기 위한 일관된 방법, 시스템 및 컴퓨터 프로그램 | |
CN113849165A (zh) | 基于可视化拖拉且可定制的低代码前端开发框架及方法 | |
US9524279B2 (en) | Help document animated visualization | |
CN115617327A (zh) | 低代码页面搭建系统、方法及计算机可读存储介质 | |
US20090006154A1 (en) | Declarative workflow designer | |
CN106648662B (zh) | 基于工程造价计算描述语言bcl的报表生成装置及生成方法 | |
KR20060087995A (ko) | 작업 흐름을 모델링하는 방법 및 시스템 | |
US7805452B2 (en) | Data processing device and data processing method | |
CN114138254B (zh) | 一种代码自动生成方法、介质、设备和系统 | |
CN113900636A (zh) | 一种自助化渠道业务流程开发系统及其开发方法 | |
CN109445775A (zh) | 一键活动内嵌代码方法、装置及计算机可读存储介质 | |
CN113553035A (zh) | 一种通用的前端ui组件库的设计和构建方法 | |
CN115718619A (zh) | 一种可视化控制逻辑编排方法、设备及介质 | |
US20070208995A1 (en) | Document Processing Device and Document Processing Method | |
US20070198915A1 (en) | Document Processing Device And Document Processing Method | |
CN113010168B (zh) | 一种基于场景树的用户界面生成方法 | |
CN114564199A (zh) | 一种生成使用页面的方法、装置、设备及可读存储介质 | |
CN113655996A (zh) | 一种基于需求模型的企业级系统生成方法 | |
CN115220709A (zh) | 一种vue页面编辑方法、系统以及计算机可读存储介质 | |
CN116909553A (zh) | 一种页面在线开发及本地编译运行系统 | |
CN111506306B (zh) | 一种Ansible剧本编写方法、装置和电子设备 | |
CN116107555A (zh) | 一种基于能源行业的gui模型驱动的低代码平台及使用方法 | |
CN112181483B (zh) | 等离子体控制系统软件开发平台及方法 | |
CN111736834B (zh) | 一种基于dsl的用户界面生成方法、装置及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |