掌桥专利:专业的专利平台
掌桥专利
首页

树组件代码的生成方法、树组件的加载方法和装置

文献发布时间:2024-01-17 01:14:25


树组件代码的生成方法、树组件的加载方法和装置

技术领域

本公开涉及大数据技术领域,尤其涉及一种树组件代码的生成方法、树组件的加载方法、装置、电子设备、计算机可读存储介质和计算机程序产品。

背景技术

目前,随着网络技术的不断发展,页面组件化具有开发工作量少、扩展性好等优点,在网页、应用程序(比如小程序)等领域中得到了广泛应用。然而,相关技术中,树组件代码所需的开发工作量和开发成本较大,树组件代码的生成效率较低。

发明内容

本公开提供一种树组件代码的生成方法、树组件的加载方法、装置、电子设备、计算机可读存储介质和计算机程序产品,以至少解决相关技术中树组件代码所需的开发工作量和开发成本较大,树组件代码的生成效率较低的问题。本公开的技术方案如下:

根据本公开实施例的第一方面,提供一种树组件代码的生成方法,包括:获取目标树组件的数据库;从所述数据库中提取出第一字段名称;识别所述第一字段名称、设定模板代码中的第二字段名称对应的字段类别一致;将所述第二字段名称替换为所述第一字段名称,以更新所述设定模板代码;将更新后的设定模板代码确定为所述目标树组件的代码。

在本公开的一个实施例中,还包括:获取所述目标树组件的配置文件;从所述配置文件中提取出所述设定模板代码中的目标字段的配置信息;基于所述目标字段的配置信息,对所述目标字段的字段值进行配置,以更新所述设定模板代码。

在本公开的一个实施例中,所述目标字段包括图标路径字段,所述目标字段的配置信息包括图标的存储路径。

根据本公开实施例的第二方面,提供一种树组件的加载方法,包括:确定待加载的目标树组件;基于所述目标树组件的标识,获取所述目标树组件的代码,其中,所述目标树组件的代码采用如前第一方面所述的树组件代码的生成方法得到;执行所述目标树组件的代码,以加载所述目标树组件。

在本公开的一个实施例中,在执行所述目标树组件的代码的过程中,还包括:在所述目标树组件的加载方式为第一设定方式的情况下,响应于第一加载指令,执行所述目标树组件的代码中的第一查询语句;基于所述第一查询语句,从所述目标树组件的数据库中查询所述目标树组件的第一级节点的节点数据;基于所述第一级节点的节点数据,对所述第一级节点进行渲染,以加载所述第一级节点。

在本公开的一个实施例中,在执行所述目标树组件的代码的过程中,还包括:在所述目标树组件的加载方式为第一设定方式的情况下,响应于第二加载指令,从所述第二加载指令中提取出所述目标树组件的目标父节点的标识;基于所述目标父节点的标识,对所述目标树组件的代码中的查询条件字段的字段值进行配置,得到第二查询语句;执行所述第二查询语句,并基于所述第二查询语句,从所述目标树组件的数据库中查询所述目标父节点的子节点的节点数据;基于所述目标父节点的子节点的节点数据,对所述目标父节点的子节点进行渲染,以加载所述目标父节点的子节点。

在本公开的一个实施例中,在执行所述目标树组件的代码的过程中,还包括:在所述目标树组件的加载方式为第二设定方式的情况下,响应于第一加载指令,执行所述目标树组件的代码中的第三查询语句;基于所述第三查询语句,从所述目标树组件的数据库中查询所述目标树组件的每个节点的节点数据;基于任一节点的节点数据,对所述任一节点进行渲染,以加载所述任一节点。

在本公开的一个实施例中,所述基于任一节点的节点数据,对所述任一节点进行渲染,以加载所述任一节点,包括:从所述任一节点的节点数据中提取出所述任一节点隶属的父节点的标识;基于所述任一节点隶属的父节点的标识,确定所述任一节点的层级;基于所述任一节点的节点数据和所述任一节点的层级,对所述任一节点进行渲染,以加载所述任一节点。

根据本公开实施例的第三方面,提供一种树组件代码的生成装置,包括:获取模块,被配置为获取目标树组件的数据库;提取模块,被配置为从所述数据库中提取出第一字段名称;识别模块,被配置为识别所述第一字段名称、设定模板代码中的第二字段名称对应的字段类别一致;更新模块,被配置为将所述第二字段名称替换为所述第一字段名称,以更新所述设定模板代码;确定模块,被配置为将更新后的设定模板代码确定为所述目标树组件的代码。

在本公开的一个实施例中,所述更新模块,还被配置为:获取所述目标树组件的配置文件;从所述配置文件中提取出所述设定模板代码中的目标字段的配置信息;基于所述目标字段的配置信息,对所述目标字段的字段值进行配置,以更新所述设定模板代码。

在本公开的一个实施例中,所述目标字段包括图标路径字段,所述目标字段的配置信息包括图标的存储路径。

根据本公开实施例的第四方面,提供一种树组件的加载装置,包括:确定模块,被配置为确定待加载的目标树组件;获取模块,被配置为基于所述目标树组件的标识,获取所述目标树组件的代码,其中,所述目标树组件的代码采用如前第一方面所述的树组件代码的生成方法得到;加载模块,被配置为执行所述目标树组件的代码,以加载所述目标树组件。

在本公开的一个实施例中,在执行所述目标树组件的代码的过程中,所述加载模块,还被配置为:在所述目标树组件的加载方式为第一设定方式的情况下,响应于第一加载指令,执行所述目标树组件的代码中的第一查询语句;基于所述第一查询语句,从所述目标树组件的数据库中查询所述目标树组件的第一级节点的节点数据;基于所述第一级节点的节点数据,对所述第一级节点进行渲染,以加载所述第一级节点。

在本公开的一个实施例中,在执行所述目标树组件的代码的过程中,所述加载模块,还被配置为:在所述目标树组件的加载方式为第一设定方式的情况下,响应于第二加载指令,从所述第二加载指令中提取出所述目标树组件的目标父节点的标识;基于所述目标父节点的标识,对所述目标树组件的代码中的查询条件字段的字段值进行配置,得到第二查询语句;执行所述第二查询语句,并基于所述第二查询语句,从所述目标树组件的数据库中查询所述目标父节点的子节点的节点数据;基于所述目标父节点的子节点的节点数据,对所述目标父节点的子节点进行渲染,以加载所述目标父节点的子节点。

在本公开的一个实施例中,在执行所述目标树组件的代码的过程中,所述加载模块,还被配置为:在所述目标树组件的加载方式为第二设定方式的情况下,响应于第一加载指令,执行所述目标树组件的代码中的第三查询语句;基于所述第三查询语句,从所述目标树组件的数据库中查询所述目标树组件的每个节点的节点数据;基于任一节点的节点数据,对所述任一节点进行渲染,以加载所述任一节点。

在本公开的一个实施例中,所述加载模块,还被配置为:从所述任一节点的节点数据中提取出所述任一节点隶属的父节点的标识;基于所述任一节点隶属的父节点的标识,确定所述任一节点的层级;基于所述任一节点的节点数据和所述任一节点的层级,对所述任一节点进行渲染,以加载所述任一节点。

根据本公开实施例的第五方面,提供一种电子设备,包括:处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令,以实现如前第一方面所述的树组件代码的生成方法、或者实现如前第二方面所述的树组件的加载方法。

根据本公开实施例的第六方面,提供一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如前第一方面所述的树组件代码的生成方法、或者执行如前第二方面所述的树组件的加载方法。

根据本公开实施例的第七方面,提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如前第一方面所述的树组件代码的生成方法、或者实现如前第二方面所述的树组件的加载方法。

本公开的实施例提供的技术方案至少带来以下有益效果:获取目标树组件的数据库,从数据库中提取出第一字段名称,识别第一字段名称、设定模板代码中的第二字段名称对应的字段类别一致,将第二字段名称替换为第一字段名称,以更新设定模板代码,将更新后的设定模板代码确定为目标树组件的代码。由此,相较于相关技术中需要为树组件定制化开发代码,本方案中仅需设置通用的设定模板代码,并考虑到目标树组件的数据库,动态更新设定模板代码,以生成目标树组件的代码,大大降低了树组件代码所需的开发工作量和开发成本,提高了树组件代码的生成效率。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。

图1是根据本公开第一实施例的树组件代码的生成方法的流程示意图。

图2是根据本公开第一实施例的树组件的加载方法的流程示意图。

图3是根据本公开第二实施例的树组件的加载方法的流程示意图。

图4是根据本公开第三实施例的树组件的加载方法的流程示意图。

图5是根据本公开第一实施例的树组件代码的生成装置的框图。

图6是根据本公开第一实施例的树组件的加载装置的框图。

图7是根据一示例性实施例示出的一种电子设备的框图。

具体实施方式

为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。

需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。

本公开技术方案中对数据的获取、存储、使用、处理等均符合国家法律法规的相关规定。

图1是根据本公开第一实施例的树组件代码的生成方法的流程示意图。

如图1所示,本公开第一实施例的树组件代码的生成方法,包括以下步骤:

在步骤S101中,获取目标树组件的数据库。

需要说明的是,本公开的树组件代码的生成方法的执行主体为电子设备。本公开实施例的树组件代码的生成方法可以由本公开实施例的树组件代码的生成装置执行,本公开实施例的树组件代码的生成装置可以配置在任意电子设备中,以执行本公开实施例的树组件代码的生成方法。

需要说明的是,目标树组件的数据库包括目标树组件的每个节点的节点数据。数据库可由开发人员、用户根据实际情况自行设置,并预先设置在存储空间中。对数据库不做过多限定,比如,可包括表格、键值对等。

比如,以数据库为表格为例,目标树组件x的数据库如表1所示。

表1目标树组件x的数据库

需要说明的是,表1中的字段名称包括ID、NAME、SUPERID,字段名称ID对应的字段类别为节点标识,字段名称NAME对应的字段类别为节点名称,字段名称SUPERID对应的字段类别为隶属的父节点的标识。

如表1所示,目标树组件x可包括节点标识分别为1至10的节点,节点标识为1的节点(以下简称节点1,其余同理)隶属的父节点的标识为空,即节点1为第一级节点,节点2至4隶属的父节点的标识为1,即节点2至4为节点1的子节点,节点5、6隶属的父节点的标识为2,即节点5、6为节点2的子节点,节点7、8隶属的父节点的标识为3,即节点7、8为节点3的子节点,节点9、10隶属的父节点的标识为5,即节点9、10为节点5的子节点。

如表1所示,节点1至10的节点名称分别为A至J。

需要说明的是,第一级节点无父节点,有子节点。

在步骤S102中,从数据库中提取出第一字段名称。

需要说明的是,对第一字段名称不做过多限定,比如,继续以表1为例,第一字段名称可包括ID、NAME、SUPERID。

在一种实施方式中,从数据库中提取出第一字段名称,包括在数据库为表格的情况下,从数据库中提取出列名称,将列名称确定为第一字段名称。

在一种实施方式中,从数据库中提取出第一字段名称,包括在数据库为键值对的情况下,从数据库中提取出键名称,将键名称确定为第一字段名称。

在步骤S103中,识别第一字段名称、设定模板代码中的第二字段名称对应的字段类别一致。

在步骤S104中,将第二字段名称替换为第一字段名称,以更新设定模板代码。

需要说明的是,设定模板代码可由开发人员、用户根据实际情况自行设置,并预先设置在存储空间中。对设定模板代码不做过多限定。

比如,设定模板代码中的第二字段名称包括Q1、Q2、Q3,第二字段名称Q1对应的字段类别为节点标识,第二字段名称Q2对应的字段类别为节点名称,第二字段名称Q3对应的字段类别为隶属的父节点的标识。

继续以表1为例,可识别第一字段名称ID、第二字段名称Q1对应的字段类别一致,将设定模板代码中的第二字段名称Q1替换为第一字段名称ID,可识别第一字段名称NAME、第二字段名称Q2对应的字段类别一致,将设定模板代码中的第二字段名称Q2替换为第一字段名称NAME,可识别第一字段名称SUPERID、第二字段名称Q3对应的字段类别一致,将设定模板代码中的第二字段名称Q3替换为第一字段名称SUPERID,以更新设定模板代码。

在步骤S105中,将更新后的设定模板代码确定为目标树组件的代码。

在一种实施方式中,还包括获取目标树组件的配置文件,从配置文件中提取出设定模板代码中的目标字段的配置信息,基于目标字段的配置信息,对目标字段的字段值进行配置,以更新设定模板代码。

需要说明的是,配置文件可由开发人员、用户根据实际情况自行设置,并预先设置在存储空间中。对配置文件不做过多限定。

需要说明的是,对目标字段不做过多限定,比如,可包括图标路径字段、父子节点关联字段、节点选择字段等。

需要说明的是,对目标字段的配置信息不做过多限定,比如,可包括图标的存储路径、数值等。

以目标字段为图标路径字段为例,目标字段的配置信息可包括图标的存储路径。

以目标字段为父子节点关联字段为例,目标字段的配置信息可包括数值1或0,在父子节点关联字段的字段值为1的情况下,父子节点关联,即当父节点被选择时,父节点的每个子节点也被选择,在父子节点关联字段的字段值为0的情况下,父子节点未关联,即当父节点被选择时,父节点的每个子节点未被选择。

以目标字段为节点选择字段为例,目标字段的配置信息可包括数值1或0,在节点选择字段的字段值为1的情况下,目标树组件的节点的选择方式为单选,仅一个节点可被选择,在节点选择字段的字段值为0的情况下,目标树组件的节点的选择方式为多选,多个节点可同时被选择。

在一些例子中,基于目标字段的配置信息,对目标字段的字段值进行配置,包括将图标路径字段的字段值配置为图标的存储路径,和/或,将父子节点关联字段的字段值配置为1或0,和/或,将节点选择字段的字段值配置为1或0。

综上,根据本公开实施例提供的树组件代码的生成方法,获取目标树组件的数据库,从数据库中提取出第一字段名称,识别第一字段名称、设定模板代码中的第二字段名称对应的字段类别一致,将第二字段名称替换为第一字段名称,以更新设定模板代码,将更新后的设定模板代码确定为目标树组件的代码。由此,相较于相关技术中需要为树组件定制化开发代码,本方案中仅需设置通用的设定模板代码,并考虑到目标树组件的数据库,动态更新设定模板代码,以生成目标树组件的代码,大大降低了树组件代码所需的开发工作量和开发成本,提高了树组件代码的生成效率。

图2是根据本公开第一实施例的树组件的加载方法的流程示意图。

如图2所示,本公开第一实施例的树组件的加载方法,包括以下步骤:

在步骤S201中,确定待加载的目标树组件。

在一种实施方式中,确定待加载的目标树组件,可包括响应于客户端的加载请求,从加载请求中提取出目标树组件的标识,基于目标树组件的标识,从多个候选树组件中确定目标树组件。

可以理解的是,用户可登录客户端,并在客户端上触发针对目标树组件的加载操作,相应的,客户端可响应于上述加载操作,并根据目标树组件的标识,生成加载请求。比如,客户端的页面上包括用于触发上述加载操作的图标,用户可点击上述图标,以触发上述加载操作。

在步骤S202中,基于目标树组件的标识,获取目标树组件的代码,其中,目标树组件的代码采用树组件代码的生成方法得到。

在一种实施方式中,基于目标树组件的标识,获取目标树组件的代码,可包括基于目标树组件的标识和目标树组件的代码之间的映射关系,获取目标树组件的代码。可以理解的是,可预先建立树组件的标识和树组件的代码之间的映射关系,并预先设置在存储空间中。

在步骤S203中,执行目标树组件的代码,以加载目标树组件。

需要说明的是,执行目标树组件的代码的相关内容,可采用相关技术中的任一树组件代码的执行方法来实现,这里不再赘述。

综上,根据本公开实施例提供的树组件的加载方法,确定待加载的目标树组件,基于目标树组件的标识,获取目标树组件的代码,其中,目标树组件的代码采用树组件代码的生成方法得到,执行目标树组件的代码,以加载目标树组件。

图3是根据本公开第二实施例的树组件的加载方法的流程示意图。

如图3所示,本公开第二实施例的树组件的加载方法,包括以下步骤:

在步骤S301中,确定待加载的目标树组件。

在步骤S302中,基于目标树组件的标识,获取目标树组件的代码,其中,目标树组件的代码采用树组件代码的生成方法得到。

步骤S301-S302的相关内容可参见上述实施例,这里不再赘述。

在步骤S303中,在目标树组件的加载方式为第一设定方式的情况下,响应于第一加载指令,执行目标树组件的代码中的第一查询语句。

需要说明的是,第一设定方式为懒加载,懒加载指的是当父节点被选择时,加载父节点的每个子节点,反之,当父节点未被选择时,则不加载父节点的每个子节点。

需要说明的是,第一加载指令指的是目标树组件的初始加载指令,即目标树组件的时间最早的加载指令。

在一种实施方式中,可响应于客户端的第一加载指令。可以理解的是,用户可登录客户端,并在客户端上触发针对目标树组件的加载操作(比如点击目标树组件对应的图标),相应的,客户端可响应于上述加载操作,并根据目标树组件的标识,生成第一加载指令。

需要说明的是,在目标树组件的加载方式为第一设定方式的情况下,目标树组件的代码包括第一查询语句,第一查询语句用于查询目标树组件的第一级节点的节点数据。对第一查询语句不做过多限定,比如,可包括SQL(Structured Query Language,结构化查询语言)语句。

比如,第一查询语句如下:

Select ID as CODE,NAME as NAME from TREE_TEST_TABLE where LEVEL='0'。

在步骤S304中,基于第一查询语句,从目标树组件的数据库中查询目标树组件的第一级节点的节点数据。

在步骤S305中,基于第一级节点的节点数据,对第一级节点进行渲染,以加载第一级节点。

需要说明的是,对第一级节点的节点数据不做过多限定。

比如,继续以表1为例,第一级节点为节点1,可基于第一查询语句,从表1中查询节点1的节点数据,节点1的节点数据可包括节点标识1、节点名称A,可基于节点标识1、节点名称A,对节点1进行渲染,以加载节点1。

需要说明的是,基于节点数据,对节点进行渲染的相关内容,可采用相关技术中的任一节点渲染方法来实现,这里不再赘述。

在步骤S306中,在目标树组件的加载方式为第一设定方式的情况下,响应于第二加载指令,从第二加载指令中提取出目标树组件的目标父节点的标识。

需要说明的是,第二加载指令指的是目标树组件的目标父节点的子节点的加载指令,第二加载指令晚于第一加载指令。

在一种实施方式中,可响应于客户端的第二加载指令。可以理解的是,用户可登录客户端,并在客户端上触发针对目标父节点的子节点的加载操作(比如点击目标父节点对应的图标),相应的,客户端可响应于上述加载操作,并根据目标父节点的标识,生成第二加载指令。

在步骤S307中,基于目标父节点的标识,对目标树组件的代码中的查询条件字段的字段值进行配置,得到第二查询语句。

需要说明的是,在目标树组件的加载方式为第一设定方式的情况下,目标树组件的代码包括第二查询语句,第二查询语句包括查询条件字段。第二查询语句用于查询目标树组件的除第一级节点以外的其余节点的节点数据。

在一种实施方式中,基于目标父节点的标识,对目标树组件的代码中的查询条件字段的字段值进行配置,得到第二查询语句,包括将查询条件字段的字段值配置为目标父节点的标识,得到第二查询语句。

比如,第二查询语句如下:

select ID as CODE,NAME as NAME from TREE_TEST_TABLE where SUPERID=#PCODE#

其中,#PCODE#为查询条件字段默认的字段值。

继续以表1为例,若目标父节点的标识为1,可将查询条件字段的字段值配置为1,得到第二查询语句,第二查询语句如下:

select ID as CODE,NAME as NAME from TREE_TEST_TABLE where SUPERID=1

或者,若目标父节点的标识为2,可将查询条件字段的字段值配置为2,得到第二查询语句,第二查询语句如下:

select ID as CODE,NAME as NAME from TREE_TEST_TABLE where SUPERID=2

在步骤S308中,执行第二查询语句,并基于第二查询语句,从目标树组件的数据库中查询目标父节点的子节点的节点数据。

在步骤S309中,基于目标父节点的子节点的节点数据,对目标父节点的子节点进行渲染,以加载目标父节点的子节点。

比如,继续以表1为例,若目标父节点的标识为1,可将查询条件字段的字段值配置为1,得到第二查询语句,并执行第二查询语句,基于第二查询语句,从表1中查询节点1的子节点的节点数据,节点1的子节点包括节点2至4,节点2的节点数据可包括节点标识2、节点名称B、隶属的父节点的标识1,节点3的节点数据可包括节点标识3、节点名称C、隶属的父节点的标识1,节点4的节点数据可包括节点标识4、节点名称D、隶属的父节点的标识1。

可基于节点标识2、节点名称B、隶属的父节点的标识1,对节点2进行渲染,以加载节点2,可基于节点标识3、节点名称C、隶属的父节点的标识1,对节点3进行渲染,以加载节点3,可基于节点标识4、节点名称D、隶属的父节点的标识1,对节点4进行渲染,以加载节点4。

综上,根据本公开实施例提供的树组件的加载方法,在目标树组件的加载方式为第一设定方式的情况下,可执行第一查询语句,从数据库中查询第一级节点的节点数据,以加载第一级节点,还可考虑到目标父节点的标识,对查询条件字段的字段值进行配置,得到第二查询语句,并执行第二查询语句,从数据库中查询目标父节点的子节点的节点数据,以加载目标父节点的子节点。

图4是根据本公开第三实施例的树组件的加载方法的流程示意图。

如图4所示,本公开第三实施例的树组件的加载方法,包括以下步骤:

在步骤S401中,确定待加载的目标树组件。

在步骤S402中,基于目标树组件的标识,获取目标树组件的代码,其中,目标树组件的代码采用树组件代码的生成方法得到。

步骤S401-S402的相关内容可参见上述实施例,这里不再赘述。

在步骤S403中,在目标树组件的加载方式为第二设定方式的情况下,响应于第一加载指令,执行目标树组件的代码中的第三查询语句。

需要说明的是,第二设定方式为全加载,全加载指的是同时加载树组件的每个节点。

需要说明的是,在目标树组件的加载方式为第二设定方式的情况下,目标树组件的代码包括第三查询语句,第三查询语句用于查询目标树组件的每个节点的节点数据。对第三查询语句不做过多限定。

比如,第三查询语句如下:

Select ID as CODE,NAME as NAME,SUPERID as PCODE_CODE from TREE_TEST_TABLE

在步骤S404中,基于第三查询语句,从目标树组件的数据库中查询目标树组件的每个节点的节点数据。

在步骤S405中,基于任一节点的节点数据,对任一节点进行渲染,以加载任一节点。

在一种实施方式中,基于任一节点的节点数据,对任一节点进行渲染,以加载任一节点,包括从任一节点的节点数据中提取出任一节点隶属的父节点的标识,基于任一节点隶属的父节点的标识,确定任一节点的层级,基于任一节点的节点数据和任一节点的层级,对任一节点进行渲染,以加载任一节点。由此,该方法中可从节点数据中提取出隶属的父节点的标识,以确定节点的层级,并综合考虑到节点数据和节点的层级,对节点进行渲染,以加载节点。

比如,继续以表1为例,可基于第三查询语句,从表1中查询节点1至10的节点数据。

节点1的节点数据可包括节点标识1、节点名称A,隶属的父节点的标识为空,可确定节点1的层级为1,即节点1为第一级节点,基于节点标识1、节点名称A,以及节点1为第一级节点,对节点1进行渲染,以加载节点1。

节点2的节点数据可包括节点标识2、节点名称B,隶属的父节点的标识为1,可确定节点2的层级为节点2为节点1的子节点,即节点2为第二级节点,基于节点标识2、节点名称B,以及节点2为节点1的子节点,对节点2进行渲染,以加载节点2。

节点5的节点数据可包括节点标识5、节点名称E,隶属的父节点的标识为2,可确定节点5的层级为节点5为节点2的子节点,即节点5为第三级节点,基于节点标识5、节点名称E,以及节点5为节点2的子节点,对节点5进行渲染,以加载节点5。

综上,根据本公开实施例提供的树组件的加载方法,在目标树组件的加载方式为第二设定方式的情况下,可执行第三查询语句,从数据库中查询每个节点的节点数据,以加载每个节点。

图5为根据本公开第一实施例的树组件代码的生成装置的框图。

如图5所示,本公开实施例的树组件代码的生成装置500包括:获取模块501、提取模块502、识别模块503、更新模块504和确定模块505。

获取模块501被配置为获取目标树组件的数据库;

提取模块502被配置为从所述数据库中提取出第一字段名称;

识别模块503被配置为识别所述第一字段名称、设定模板代码中的第二字段名称对应的字段类别一致;

更新模块504被配置为将所述第二字段名称替换为所述第一字段名称,以更新所述设定模板代码;

确定模块505被配置为将更新后的设定模板代码确定为所述目标树组件的代码。

在本公开的一个实施例中,所述更新模块504还被配置为:获取所述目标树组件的配置文件;从所述配置文件中提取出所述设定模板代码中的目标字段的配置信息;基于所述目标字段的配置信息,对所述目标字段的字段值进行配置,以更新所述设定模板代码。

在本公开的一个实施例中,所述目标字段包括图标路径字段,所述目标字段的配置信息包括图标的存储路径。

关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

综上,本公开实施例提供的树组件代码的生成装置,获取目标树组件的数据库,从数据库中提取出第一字段名称,识别第一字段名称、设定模板代码中的第二字段名称对应的字段类别一致,将第二字段名称替换为第一字段名称,以更新设定模板代码,将更新后的设定模板代码确定为目标树组件的代码。由此,相较于相关技术中需要为树组件定制化开发代码,本方案中仅需设置通用的设定模板代码,并考虑到目标树组件的数据库,动态更新设定模板代码,以生成目标树组件的代码,大大降低了树组件代码所需的开发工作量和开发成本,提高了树组件代码的生成效率。

图6为根据本公开第一实施例的树组件的加载装置的框图。

如图6所示,本公开实施例的树组件的加载装置600包括:确定模块601、获取模块602和加载模块603。

确定模块601被配置为确定待加载的目标树组件;

获取模块602被配置为基于所述目标树组件的标识,获取所述目标树组件的代码,其中,所述目标树组件的代码采用如前第一方面所述的树组件代码的生成方法得到;

加载模块603被配置为执行所述目标树组件的代码,以加载所述目标树组件。

在本公开的一个实施例中,在执行所述目标树组件的代码的过程中,所述加载模块603还被配置为:在所述目标树组件的加载方式为第一设定方式的情况下,响应于第一加载指令,执行所述目标树组件的代码中的第一查询语句;基于所述第一查询语句,从所述目标树组件的数据库中查询所述目标树组件的第一级节点的节点数据;基于所述第一级节点的节点数据,对所述第一级节点进行渲染,以加载所述第一级节点。

在本公开的一个实施例中,在执行所述目标树组件的代码的过程中,所述加载模块603还被配置为:在所述目标树组件的加载方式为第一设定方式的情况下,响应于第二加载指令,从所述第二加载指令中提取出所述目标树组件的目标父节点的标识;基于所述目标父节点的标识,对所述目标树组件的代码中的查询条件字段的字段值进行配置,得到第二查询语句;执行所述第二查询语句,并基于所述第二查询语句,从所述目标树组件的数据库中查询所述目标父节点的子节点的节点数据;基于所述目标父节点的子节点的节点数据,对所述目标父节点的子节点进行渲染,以加载所述目标父节点的子节点。

在本公开的一个实施例中,在执行所述目标树组件的代码的过程中,所述加载模块603还被配置为:在所述目标树组件的加载方式为第二设定方式的情况下,响应于第一加载指令,执行所述目标树组件的代码中的第三查询语句;基于所述第三查询语句,从所述目标树组件的数据库中查询所述目标树组件的每个节点的节点数据;基于任一节点的节点数据,对所述任一节点进行渲染,以加载所述任一节点。

在本公开的一个实施例中,所述加载模块603还被配置为:从所述任一节点的节点数据中提取出所述任一节点隶属的父节点的标识;基于所述任一节点隶属的父节点的标识,确定所述任一节点的层级;基于所述任一节点的节点数据和所述任一节点的层级,对所述任一节点进行渲染,以加载所述任一节点。

关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

综上,本公开实施例提供的树组件的加载装置,确定待加载的目标树组件,基于目标树组件的标识,获取目标树组件的代码,其中,目标树组件的代码采用树组件代码的生成方法得到,执行目标树组件的代码,以加载目标树组件。

图7是根据一示例性实施例示出的一种电子设备的框图。

如图7所示,上述电子设备700包括:

存储器710及处理器720,连接不同组件(包括存储器710和处理器720)的总线730,存储器710存储有计算机程序,当处理器720执行所述程序时实现本公开实施例所述的树组件代码的生成方法,或者实现本公开实施例所述的树组件的加载方法。

总线730表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。

电子设备700典型地包括多种电子设备可读介质。这些介质可以是任何能够被电子设备700访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。

存储器710还可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)740和/或高速缓存存储器750。电子设备700可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统760可以用于读写不可移动的、非易失性磁介质(图7未显示,通常称为“硬盘驱动器”)。尽管图7中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线730相连。存储器710可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本公开各实施例的功能。

具有一组(至少一个)程序模块770的程序/实用工具780,可以存储在例如存储器710中,这样的程序模块770包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块770通常执行本公开所描述的实施例中的功能和/或方法。

电子设备700也可以与一个或多个外部设备790(例如键盘、指向设备、显示器791等)通信,还可与一个或者多个使得用户能与该电子设备700交互的设备通信,和/或与使得该电子设备700能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口792进行。并且,电子设备700还可以通过网络适配器793与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图7所示,网络适配器793通过总线730与电子设备700的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备700使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。

处理器720通过运行存储在存储器710中的程序,从而执行各种功能应用以及数据处理。

需要说明的是,本实施例的电子设备的实施过程和技术原理参见前述对本公开实施例的树组件代码的生成方法、树组件的加载方法的解释说明,此处不再赘述。

综上,本公开实施例提供的电子设备,可以执行如前所述的树组件代码的生成方法,或者执行如前所述的树组件的加载方法,获取目标树组件的数据库,从数据库中提取出第一字段名称,识别第一字段名称、设定模板代码中的第二字段名称对应的字段类别一致,将第二字段名称替换为第一字段名称,以更新设定模板代码,将更新后的设定模板代码确定为目标树组件的代码。由此,相较于相关技术中需要为树组件定制化开发代码,本方案中仅需设置通用的设定模板代码,并考虑到目标树组件的数据库,动态更新设定模板代码,以生成目标树组件的代码,大大降低了树组件代码所需的开发工作量和开发成本,提高了树组件代码的生成效率。

为了实现上述实施例,本公开还提出一种计算机可读存储介质。

其中,该计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如前所述的树组件代码的生成方法,或者执行如前所述的树组件的加载方法。可选的,计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。

为了实现上述实施例,本公开还提供一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如前所述的树组件代码的生成方法,或者实现如前所述的树组件的加载方法。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。

应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

相关技术
  • 一种组件加载方法、装置、计算机设备及存储介质
  • 一种试剂瓶夹持组件、自动加载机构及其加载方法
  • 用于生成用户定制的可视化组件的方法和装置
  • 基于语义模型的行业树产品词生成方法、装置及相关组件
  • 树组件生成方法、装置、设备和计算机存储介质
技术分类

06120116078869