发明内容
本公开实施例至少提供一种区块接口代码生成方法、及装置。
第一方面,本公开实施例提供了一种区块接口代码生成方法,包括:
响应区块选择操作,从发布的区块中确定目标工程待使用的多个目标区块;其中,每个区块具有发布的接口配置文件;
将多个目标区块中包括的所述接口配置文件进行合并,生成多个目标区块对应的合并后的接口配置文件;
基于所述合并后的接口配置文件,生成多个目标区块对应的组装后的目标接口代码,将生成的目标接口代码存储至目标目录对应的位置。
一种可选实施方式中,还包括:将所述目标工程中,所述目标目录的路径别名配置为约定的别名。
一种可选实施方式中,所述接口配置文件中包括仓库地址以及接口白名单;其中,所述仓库地址对应的仓库中存储有接口描述语言(Interface description language,IDL)文件,所述IDL文件中包括有多个接口分别对应的接口信息;每个区块对应的所述接口白名单中包括有该区块对应的待使用的目标接口信息;
将多个目标区块中包括的所述接口配置文件进行合并,生成多个目标区块对应的合并后的接口配置文件,包括:
将多个目标区块分别对应的各个仓库地址和各个接口白名单进行合并、去重处理,得到合并后的至少一个仓库地址、和合并后的接口白名单;
将所述合并后的至少一个仓库地址、和合并后的接口白名单,构成多个目标区块对应的合并后的接口配置文件。
一种可选实施方式中,基于所述合并后的接口配置文件,生成多个目标区块对应的组装后的目标接口代码,包括:
基于所述合并后的接口配置文件中包括的所述合并后的至少一个仓库地址,获取至少一个IDL文件;
基于所述合并后的接口配置文件中包括的合并后的接口白名单,对获取的所述至少一个IDL文件中包括的接口信息进行筛选,生成包含目标接口信息的、筛选后的至少一个IDL文件;
基于包含目标接口信息的、筛选后的至少一个IDL文件,生成所述多个目标区块对应的组装后的目标接口代码。
一种可选实施方式中,将多个目标区块中包括的所述接口配置文件进行合并之前,还包括:
针对每个目标区块,确定所述目标区块对应的插入文件名称、和插入位置,其中所述插入位置包括所述目标区块在所述插入文件中的行号和列号;
将所述目标区块放置在对应的所述插入文件的同级目录中,并在所述插入文件的首部位置处生成所述目标区块的引用代码、以及在所述插入文件的所述插入位置处生成所述目标区块的使用代码。
一种可选实施方式中,在响应区块选择操作,从发布的各个区块中确定目标工程待使用的多个目标区块之前,还包括:
为待发布的每个所述区块生成对应的发布文件白名单,其中,所述发布文件白名单中指示有所述区块中待发布的文件信息;所述待发布的文件信息中包含所述接口配置文件的信息,且不包含所述区块对应的接口代码文件的信息;
按照每个所述区块对应的所述发布文件白名单中指示的待发布的文件信息,发布包含所述待发布的文件信息指示的文件的区块。
一种可选实施方式中,根据以下步骤生成待发布的区块:
响应区块开发操作,为每个区块生成对应的接口配置文件;
基于每个区块的所述接口配置文件指示的仓库地址,获取该区块对应的接口描述语言IDL文件;
基于每个区块对应的所述IDL文件和所述接口配置文件中的接口白名单,生成该区块对应的接口代码,并将所述接口代码存储在所述目标目录对应的位置,并将所述目标目录的路径别名配置为约定的别名;
通过所述路径别名引用生成的每个所述区块对应的所述接口代码,生成待发布的区块。
一种可选实施方式中,按照每个所述区块对应的所述发布文件白名单中指示的待发布的文件信息,发布包含所述待发布的文件信息指示的文件的区块之前,还包括:
检测所述接口配置文件中包括的字段类型、字段内容、字段数量是否符合约束条件,以及,检测所述发布文件白名单中包括的待发布文件的类型是否符合约束条件;
在所述接口配置文件和所述发布文件白名单符合约束条件后,按照每个所述区块对应的所述发布文件白名单中指示的待发布的文件信息,发布包含所述待发布的文件信息指示的文件的区块。
第二方面,本公开实施例还提供一种区块接口代码生成装置,包括:
确定模块,用于响应区块选择操作,从发布的区块中确定目标工程待使用的多个目标区块;其中,每个区块具有发布的接口配置文件;
第一生成模块,用于将多个目标区块中包括的所述接口配置文件进行合并,生成多个目标区块对应的合并后的接口配置文件;
第二生成模块,用于基于所述合并后的接口配置文件,生成多个目标区块对应的组装后的目标接口代码,将生成的目标接口代码存储至目标目录对应的位置。
一种可选实施方式中,还包括:配置模块;
所述配置模块,用于将所述目标工程中,所述目标目录的路径别名配置为约定的别名。
一种可选实施方式中,所述接口配置文件中包括仓库地址以及接口白名单;其中,所述仓库地址对应的仓库中存储有接口描述语言IDL文件,所述IDL文件中包括有多个接口分别对应的接口信息;每个区块对应的所述接口白名单中包括有该区块对应的待使用的目标接口信息;
所述第一生成模块,在将多个目标区块中包括的所述接口配置文件进行合并,生成多个目标区块对应的合并后的接口配置文件时,用于:
将多个目标区块分别对应的各个仓库地址和各个接口白名单进行合并、去重处理,得到合并后的至少一个仓库地址、和合并后的接口白名单;
将所述合并后的至少一个仓库地址、和合并后的接口白名单,构成多个目标区块对应的合并后的接口配置文件。
一种可选实施方式中,所述第二生成模块,在基于所述合并后的接口配置文件,生成多个目标区块对应的组装后的目标接口代码时,用于:
基于所述合并后的接口配置文件中包括的所述合并后的至少一个仓库地址,获取至少一个IDL文件;
基于所述合并后的接口配置文件中包括的合并后的接口白名单,对获取的所述至少一个IDL文件中包括的接口信息进行筛选,生成包含目标接口信息的、筛选后的至少一个IDL文件;
基于包含目标接口信息的、筛选后的至少一个IDL文件,生成所述多个目标区块对应的组装后的目标接口代码。
一种可选实施方式中,将多个目标区块中包括的所述接口配置文件进行合并之前,还包括:区块插入模块,用于:
针对每个目标区块,确定所述目标区块对应的插入文件名称、和插入位置,其中所述插入位置包括所述目标区块在所述插入文件中的行号和列号;
将所述目标区块放置在对应的所述插入文件的同级目录中,并在所述插入文件的首部位置处生成所述目标区块的引用代码、以及在所述插入文件的所述插入位置处生成所述目标区块的使用代码。
一种可选实施方式中,在响应区块选择操作,从发布的各个区块中确定目标工程待使用的多个目标区块之前,还包括:区块发布模块,用于:
为待发布的每个所述区块生成对应的发布文件白名单,其中,所述发布文件白名单中指示有所述区块中待发布的文件信息;所述待发布的文件信息中包含所述接口配置文件的信息,且不包含所述区块对应的接口代码文件的信息;
按照每个所述区块对应的所述发布文件白名单中指示的待发布的文件信息,发布包含所述待发布的文件信息指示的文件的区块。
一种可选实施方式中,所述装置还包括:区块开发模块,用于根据以下步骤生成待发布的区块:
响应区块开发操作,为每个区块生成对应的接口配置文件;
基于每个区块的所述接口配置文件指示的仓库地址,获取该区块对应的接口描述语言IDL文件;
基于每个区块对应的所述IDL文件和所述接口配置文件中的接口白名单,生成该区块对应的接口代码,并将所述接口代码存储在所述目标目录对应的位置,并将所述目标目录的路径别名配置为约定的别名;
通过所述路径别名引用生成的每个所述区块对应的所述接口代码,生成待发布的区块。
一种可选实施方式中,按照每个所述区块对应的所述发布文件白名单中指示的待发布的文件信息,发布包含所述待发布的文件信息指示的文件的区块之前,还包括:检测模块,用于:
检测所述接口配置文件中包括的字段类型、字段内容、字段数量是否符合约束条件,以及,检测所述发布文件白名单中包括的待发布文件的类型是否符合约束条件;
在所述接口配置文件和所述发布文件白名单符合约束条件后,按照每个所述区块对应的所述发布文件白名单中指示的待发布的文件信息,发布包含所述待发布的文件信息指示的文件的区块。
第三方面,本公开实施例还提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
第四方面,本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
本公开实施例提供的区块接口代码生成方法、及装置,通过将多个目标区块中包括的接口配置文件进行合并,生成多个目标区块对应的合并后的接口配置文件,并基于合并后的接口配置文件,生成多个目标区块对应的组装后的目标接口代码,可知多个目标区块对应的组装后的目标接口代码是统一生成的,实现了接口代码与区块的解耦,使得生成的目标接口代码中不存在重复的接口代码,且在统一生成目标接口代码的过程中,可以对接口进行适配处理,使得接口适配过程较为简单。
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
目前,接口代码是完全耦合在区块代码中的,但是上述把接口代码分散到每个区块中的方式会存在下述问题:一、接口代码重复的问题,即不同的区块可能使用同一个接口,该接口的代码会重复出现在相关区块中;二、不方便进行接口统一适配的问题,即区块可能运行在不同的宿主中,比如小程序和网页视图webview,为了使区块能正常运行,需要对接口进行适配,但是,由于接口代码分散在各个区块中,为接口的统一适配处理带来了困难。
故为了解决上述问题,本公开提供了一种区块接口代码生成方法、及装置。
为便于对本实施例进行理解,首先对本公开实施例所公开的一种区块接口代码生成方法进行详细介绍。本公开实施例所提供的区块接口代码生成方法的执行主体一般为具有一定计算能力的计算机设备,该计算机设备例如包括:终端设备或服务器或其它处理设备,终端设备可以为用户设备(User Equipment,UE)、移动设备、用户终端、终端、蜂窝电话、无绳电话、个人数字处理(Personal Digital Assistant,PDA)、手持设备、计算设备、车载设备、可穿戴设备等。在一些可能的实现方式中,该区块接口代码生成方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
下面以执行主体为服务器为例对本公开实施例提供的区块接口代码生成方法加以说明。
参见图1所示,为本公开实施例提供的区块接口代码生成方法的流程图,所述方法包括步骤S101~S103,其中:
S101,响应区块选择操作,从发布的区块中确定目标工程待使用的多个目标区块;其中,每个区块具有发布的接口配置文件。
S102,将多个目标区块中包括的接口配置文件进行合并,生成多个目标区块对应的合并后的接口配置文件。
S103,基于合并后的接口配置文件,生成多个目标区块对应的组装后的目标接口代码,将生成的目标接口代码存储至目标目录对应的位置。
上述方法中,通过将多个目标区块中包括的接口配置文件进行合并,生成多个目标区块对应的合并后的接口配置文件,并基于合并后的接口配置文件,生成多个目标区块对应的组装后的目标接口代码,可知多个目标区块对应的组装后的目标接口代码是统一生成的,实现了接口代码与区块的解耦,使得生成的目标接口代码中不存在重复的接口代码,且在统一生成目标接口代码的过程中,可以对接口进行适配处理,使得接口适配过程较为简单。
针对S101:
在具体实施时,可以生成多个待发布的区块,并将生成的待发布的区块发布在固定位置处,比如,将生成的待发布的区块发布在区块市场中。其中,发布的每个区块中具有发布的接口配置文件。
一种可选实施方式中,参见图2所示,可以根据以下步骤生成待发布的区块:
S201,响应区块开发操作,为每个区块生成对应的接口配置文件。
S202,基于每个区块的接口配置文件指示的仓库地址,获取该区块对应的接口描述语言IDL文件。
S203,基于每个区块对应的IDL文件和接口配置文件中的接口白名单,生成该区块对应的接口代码,并将接口代码存储在目标目录对应的位置,并将目标目录的路径别名配置为约定的别名。
S204,通过路径别名引用生成的每个区块对应的接口代码,生成待发布的区块。
在S201中,可以为每个区块撰写对应的接口配置文件,接口配置文件中包括仓库地址以及接口白名单。具体的,仓库地址可以为存储有接口描述语言(Interfacedescription language,IDL)文件的仓库的地址,该仓库可以为远程git仓库。即仓库地址对应的仓库中存储有接口描述语言IDL文件,该IDL文件中包括有多个接口分别对应的接口信息。示例性的,IDL文件中可以包括多个接口中,每个接口的接口信息,该接口信息中包括接口标识、接口名称、接口内容、接口类型等信息。其中,每个接口的接口信息为生成对应接口代码时使用的信息。每个接口的接口信息可以根据需要进行设置。
每个区块对应的接口白名单中包括有该区块对应的待使用的目标接口信息。该目标接口信息可以为接口标识、或接口名称等。即接口白名单中包括有该区块对应的待使用的目标接口的接口标识、或接口名称等。
在S202中,可以从接口配置文件指示的仓库地址对应的仓库中,获取该区块对应的IDL文件。
在S203中,在得到该区块对应的IDL文件之后,可以利用接口配置文件中的接口白名单,对IDL文件中包括的多个接口的接口信息进行筛选,得到筛选后的IDL文件,利用筛选后的IDL文件,生成该区块对应的接口代码。比如,若接口白名单中包括接口标识A、接口标识B,则从IDL文件中包括的多个接口分别对应的接口信息中,确定接口标识A对应的接口信息和接口标识B对应的接口信息,并将多个接口分别对应的接口信息中,除接口标识A对应的接口信息和接口标识B对应的接口信息之外的其他接口信息筛掉,得到筛选后的IDL文件。
在生成该区块对应的接口代码之后,将该接口代码存储在目标目录对应的位置,比如,可以通过命令行参数控制接口代码输出到约定的统一目录(即目标目录)。
还可以将该目标目录的路径别名配置为约定的别名,具体实施时,可以在开发区块的开发工程中,对目标目录的路径别名进行配置,其中,配置路径别名的过程可以在开发区块的任一步骤之后,例如,可以在生成接口配置文件之后,也可以在生成接口代码之后等。比如,目标模块可以为“./api_lib”,约定的别名可以为“@api_lib”。在具体实施时,目标目录的路径别名可以在JavaScript的配置文件“jsconfig.json”和TypeScript的配置文件“tsconfig.json”中进行配置。
在S204中,可以通过路径别名引用生成的每个区块对应的接口代码,生成待发布的区块。示例性的,可以在区块包括的UI代码中通过路径别名引用对应的接口代码,生成待发布的区块。
上述实施方式中,通过为每个待发布区块生成对应的接口配置文件,并基于接口配置文件,生成对应的接口代码,将接口代码存储在目标目录对应的位置,并通过路径别名引用生成的每个区块对应的接口代码,生成待发布的区块,以便在待发布的区块发布之后,可以直接在目标工程中使用发布的目标区块。
一种可选实施方式中,在生成了待发布区块之后,在响应区块选择操作,从发布的各个区块中确定多个目标区块之前,还包括:
A1,为待发布的每个区块生成对应的发布文件白名单,其中,发布文件白名单中指示有区块中待发布的文件信息;待发布的文件信息中包含接口配置文件的信息,且不包含区块对应的接口代码文件的信息。
A2,按照每个区块对应的发布文件白名单中指示的待发布的文件信息,发布包含待发布的文件信息指示的文件的区块。
在步骤A1中,由于生成的待发布的每个区块中包括多种文件,比如,待发布的每个区块中包括UI代码文件、业务逻辑代码文件、接口配置文件、接口代码文件等,故需要为待发布的每个区块生成对应的发布文件白名单,通过发布文件白名单,确定每个区块中包括的多种文件中,哪些是需要发布的文件、哪些是不需要发布的文件,在发布了区块之后,使得发布的区块中只包括需要发布的文件。在具体实施时,可以在package.json文件中配置发布文件白名单。
其中,发布文件白名单中指示有区块中待发布的文件信息,比如,待发布的文件信息中包括UI代码文件的信息、业务逻辑代码文件的信息、接口配置文件的信息,且不包括区块对应的接口代码文件的信息。其中,发布文件白名单中包含的待发布的文件信息可以根据实际需要进行设置。
在步骤A2中,按照每个区块对应的发布文件白名单中指示的待发布的文件信息,发布包含待发布的文件信息指示的文件的区块,即使得发布后的区块中包含有待发布的文件,且不包含除待发布的文件之外的其他文件,在具体实施时,使得发布后的区块中包含有接口配置文件,且不包含接口代码文件。
上述实施方式中,通过设置发布文件白名单,使得发布后的区块包含待发布的文件信息指示的文件,即使得发布后的区块包含接口配置文件,且不包含接口代码文件,进而可以基于各个目标区块对应的合并后的接口配置文件,生成目标接口代码,使得生成的目标接口代码中不包括重复的接口代码。同时,在根据合并后的接口配置文件,生成对应的目标接口代码时,可以对接口进行适配,使得接口适配过程简单。
一种可选实施方式中,按照每个区块对应的发布文件白名单中指示的待发布的文件信息,发布包含待发布的文件信息指示的文件的区块之前,还包括:
B1,检测接口配置文件中包括的字段类型、字段内容、字段数量是否符合约束条件,以及,检测发布文件白名单中包括的待发布文件的类型是否符合约束条件。
B2,在接口配置文件和发布文件白名单符合约束条件后,按照每个区块对应的发布文件白名单中指示的待发布的文件信息,发布包含待发布的文件信息指示的文件的区块。
这里,接口配置文件中包括字段类型、字段内容、字段数量等信息,其中接口配置文件中包括的信息可以根据实际需要进行设置。示例性的,约束条件可以为区块开发过程中设定的符合规范的条件。比如,约束条件可以包含约定的字段类型、约定的字段内容、约定的字段数量、约定的发布文件等。
在待发布的区块发布之前,可以对区块对应的接口配置文件和发布文件白名单进行合法性检查,在检测到接口配置文件和发布文件白名单均符合约束条件之后,则发布区块代码。示例性的,若检测到接口配置文件中包含的字段类型与约定的字段类型匹配、字段内容与约定的字段内容匹配、字段数量与约定的字段数量一致,则认为接口配置文件符合约束条件。若检测到发布文件白名单中包括接口配置文件的信息、且不包括接口代码的信息时,则认为发布文件白名单符合约束条件。
在检测到接口配置文件和发布文件白名单均符合约束条件之后,按照每个区块对应的发布文件白名单中指示的待发布的文件信息,发布包含待发布的文件信息指示的文件的区块。
上述实施方式中,通过对接口配置文件和发布文件白名单进行合法性检测,在检测到接口配置文件和发布文件白名单均符合约束条件之后,再发布区块,避免接口配置文件或发布文件白名单出错时,造成发布的区块无法正常使用的情况发生。
进一步的,在区块发布之后,可以响应区块选择操作,从发布的区块中确定目标工程待使用的多个目标区块。即目标区块可以为目标工程中需要用到的区块。比如,若目标工程中需要用到区块一、区块二,则可以触发区块选择操作,响应触发的区块选择操作,从发布的区块中将区块一确定为目标区块、以及将区块二确定为目标区块。
一种可选实施方式中,接口配置文件中包括仓库地址以及接口白名单;其中,仓库地址对应的仓库中存储有接口描述语言IDL文件,IDL文件中包括有多个接口分别对应的接口信息;每个区块对应的接口白名单中包括有该区块对应的待使用的目标接口信息。
针对S102:
这里,在确定了目标工程需要的多个目标区块之后,可以将确定的多个目标区块中包括的接口配置文件进行合并,生成多个目标区块对应的合并后的接口配置文件。
其中,将多个目标区块中包括的接口配置文件进行合并,生成多个目标区块对应的合并后的接口配置文件,可以包括:
一、将多个目标区块分别对应的各个仓库地址和各个接口白名单进行合并、去重处理,得到合并后的至少一个仓库地址、和合并后的接口白名单。
二、将合并后的至少一个仓库地址、和合并后的接口白名单,构成多个目标区块对应的合并后的接口配置文件。
这里,可以将多个目标区块分别对应的各个仓库地址进行合并、去重处理,得到合并后的至少一个仓库地址。比如,若多个目标区块为目标区块一、目标区块二、目标区块三,若目标区块一对应的仓库地址为地址一、目标区块二对应的仓库地址为地址二、目标区块三对应的仓库地址为地址一,则合并、去重处理后,得到合并后的至少一个仓库地址包括地址一和地址二。
可以将多个目标区块分别对应的各个接口白名单进行合并、去重处理,得到合并后的接口白名单。比如,若目标区块一对应的接口白名单中包括:目标接口信息A、目标接口信息B;若目标区块二对应的接口白名单中包括:目标接口信息A、目标接口信息C;若目标区块三对应的接口白名单中包括:目标接口信息B、目标接口信息C、目标接口信息D;则合并、去重处理后得到合并后的接口白名单,合并后的接口白名单中包括目标接口信息A、目标接口信息B、目标接口信息C、目标接口信息D。
进而,可以将合并后的至少一个仓库地址、和合并后的接口白名单,构成了多个目标区块对应的合并后的接口配置文件。
上述实施方式中,通过将多个目标区块分别对应的各个仓库地址和各个接口白名单进行合并、去重处理,得到合并后的至少一个仓库地址、和合并后的接口白名单,确定了各个目标区块对应的合并后的接口配置文件,合并后的接口配置文件中不存在重复的目标接口信息,使得基于合并后的接口配置文件,生成的目标接口代码中不存在重复接口代码。
一种可选实施方式中,将多个目标区块中包括的接口配置文件进行合并之前,还包括:
步骤一、针对每个目标区块,确定目标区块对应的插入文件名称、和插入位置,其中插入位置包括目标区块在插入文件中的行号和列号。
步骤二、将目标区块放置在对应的插入文件的同级目录中,并在插入文件的首部位置处生成目标区块的引用代码、以及在插入文件的插入位置处生成目标区块的使用代码。
这里,在确定了多个目标区块之后,可以确定每个目标区块的插入文件名称、以及该区块的插入位置,其中,该插入位置包括目标区块在插入文件中的行号和列号。
再可以将目标区块放置在对应的插入文件的同级目录中,并可以在插入文件的首部位置处生成目标区块的引用代码,以及在插入文件的插入位置处生成目标区块的使用代码,完成在目标工程中引用各个目标区块。
针对S103:
这里,可以基于合并后的接口配置文件,为多个目标区块生成组装后的目标接口代码。
一种可选实施方式中,基于合并后的接口配置文件,生成多个目标区块对应的组装后的目标接口代码,包括:
步骤一、基于合并后的接口配置文件中包括的合并后的至少一个仓库地址,获取至少一个IDL文件。
步骤二、基于合并后的接口配置文件中包括的合并后的接口白名单,对获取的至少一个IDL文件中包括的接口信息进行筛选,生成包含目标接口信息的、筛选后的至少一个IDL文件。
步骤三、基于包含目标接口信息的、筛选后的至少一个IDL文件,生成多个目标区块对应的组装后的目标接口代码。
这里,可以先基于合并后的接口配置文件中包括的合并后的至少一个仓库地址,获取至少一个IDL文件,比如,若合并后的至少一个仓库地址包括地址一和地址二,则可以从地址一对应的仓库中获取IDL文件A,以及从地址二对应的仓库中获取IDL文件B。
接着,可以利用合并后的接口配置文件中包括的合并后的接口白名单,对获取的至少一个IDL文件中包括的接口信息进行筛选,生成包含目标接口信息的、筛选后的至少一个IDL文件。最后,基于包含目标接口信息的、筛选后的至少一个IDL文件,生成多个目标区块对应的组装后的目标接口代码。
在生成目标接口代码之后,可以将生成的目标接口代码存储在目标目录对应的位置,该目标目录与开发区块时存储待发布的区块对应的接口代码的目标目录相同。
上述实施方式中,通过合并后的接口白名单,对获取的至少一个IDL文件中包括的接口信息进行筛选,将不需要的接口信息筛掉,避免产生目标区块不需要的、多余接口代码。
一种可选实施方式中,该方法还包括:将所述目标工程中,所述目标目录的路径别名配置为约定的别名。
具体实施时,还可以在多个目标区块对应的目标工程中,将目标目录的路径别名配置为约定的别名,该约定的别名与开发区块时配置的路径别名相同。其中,在目标区块对应的目标工程中,配置路径别名的执行时间可以根据需要进行设置。比如,在目标区块对应的目标工程中,配置路径别名的过程可以在确定了目标区块之后,也可以在生成了目标接口代码之后等。
这里,通过在目标区块对应的目标工程中,将目标目录的路径别名配置为约定的别名,使得应用目标接口代码的区块文件,可以通过路径别名准确的查找到对应的目标接口代码,进而保证了在目标接口代码与目标区块解耦之后,目标区块可以在对应的目标工程中正常使用。
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
基于同一发明构思,本公开实施例中还提供了与区块接口代码生成方法对应的区块接口代码生成装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述区块接口代码生成方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
参照图3所示,为本公开实施例提供的一种区块接口代码生成装置的示意图,所述装置包括:确定模块301、第一生成模块302、第二生成模块303、区块插入模块304、区块发布模块305、区块开发模块306、检测模块307、配置模块308;其中,
确定模块301,用于响应区块选择操作,从发布的区块中确定目标工程待使用的多个目标区块;其中,每个区块具有发布的接口配置文件;
第一生成模块302,用于将多个目标区块中包括的所述接口配置文件进行合并,生成多个目标区块对应的合并后的接口配置文件;
第二生成模块303,用于基于所述合并后的接口配置文件,生成多个目标区块对应的组装后的目标接口代码,将生成的目标接口代码存储至目标目录对应的位置。
一种可选实施方式中,还包括:配置模块308;
所述配置模块308,用于将所述目标工程中,所述目标目录的路径别名配置为约定的别名。
一种可选实施方式中,所述接口配置文件中包括仓库地址以及接口白名单;其中,所述仓库地址对应的仓库中存储有接口描述语言IDL文件,所述IDL文件中包括有多个接口分别对应的接口信息;每个区块对应的所述接口白名单中包括有该区块对应的待使用的目标接口信息;
所述第一生成模块302,在将多个目标区块中包括的所述接口配置文件进行合并,生成多个目标区块对应的合并后的接口配置文件时,用于:
将多个目标区块分别对应的各个仓库地址和各个接口白名单进行合并、去重处理,得到合并后的至少一个仓库地址、和合并后的接口白名单;
将所述合并后的至少一个仓库地址、和合并后的接口白名单,构成多个目标区块对应的合并后的接口配置文件。
一种可选实施方式中,所述第二生成模块303,在基于所述合并后的接口配置文件,生成多个目标区块对应的组装后的目标接口代码时,用于:
基于所述合并后的接口配置文件中包括的所述合并后的至少一个仓库地址,获取至少一个IDL文件;
基于所述合并后的接口配置文件中包括的合并后的接口白名单,对获取的所述至少一个IDL文件中包括的接口信息进行筛选,生成包含目标接口信息的、筛选后的至少一个IDL文件;
基于包含目标接口信息的、筛选后的至少一个IDL文件,生成所述多个目标区块对应的组装后的目标接口代码。
一种可选实施方式中,将多个目标区块中包括的所述接口配置文件进行合并之前,还包括:区块插入模块304,用于:
针对每个目标区块,确定所述目标区块对应的插入文件名称、和插入位置,其中所述插入位置包括所述目标区块在所述插入文件中的行号和列号;
将所述目标区块放置在对应的所述插入文件的同级目录中,并在所述插入文件的首部位置处生成所述目标区块的引用代码、以及在所述插入文件的所述插入位置处生成所述目标区块的使用代码。
一种可选实施方式中,在响应区块选择操作,从发布的各个区块中确定目标工程待使用的多个目标区块之前,还包括:区块发布模块305,用于:
为待发布的每个所述区块生成对应的发布文件白名单,其中,所述发布文件白名单中指示有所述区块中待发布的文件信息;所述待发布的文件信息中包含所述接口配置文件的信息,且不包含所述区块对应的接口代码文件的信息;
按照每个所述区块对应的所述发布文件白名单中指示的待发布的文件信息,发布包含所述待发布的文件信息指示的文件的区块。
一种可选实施方式中,所述装置还包括:区块开发模块306,用于根据以下步骤生成待发布的区块:
响应区块开发操作,为每个区块生成对应的接口配置文件;
基于每个区块的所述接口配置文件指示的仓库地址,获取该区块对应的接口描述语言IDL文件;
基于每个区块对应的所述IDL文件和所述接口配置文件中的接口白名单,生成该区块对应的接口代码,并将所述接口代码存储在所述目标目录对应的位置,并将所述目标目录的路径别名配置为约定的别名;
通过所述路径别名引用生成的每个所述区块对应的所述接口代码,生成待发布的区块。
一种可选实施方式中,按照每个所述区块对应的所述发布文件白名单中指示的待发布的文件信息,发布包含所述待发布的文件信息指示的文件的区块之前,还包括:检测模块307,用于:
检测所述接口配置文件中包括的字段类型、字段内容、字段数量是否符合约束条件,以及,检测所述发布文件白名单中包括的待发布文件的类型是否符合约束条件;
在所述接口配置文件和所述发布文件白名单符合约束条件后,按照每个所述区块对应的所述发布文件白名单中指示的待发布的文件信息,发布包含所述待发布的文件信息指示的文件的区块。
关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
对应于图1中的区块接口代码生成方法,本公开实施例还提供了一种电子设备400,如图4所示,为本公开实施例提供的电子设备400结构示意图,包括:
处理器41、存储器42、和总线43;存储器42用于存储执行指令,包括内存421和外部存储器422;这里的内存421也称内存储器,用于暂时存放处理器41中的运算数据,以及与硬盘等外部存储器422交换的数据,处理器41通过内存421与外部存储器422进行数据交换,当所述电子设备400运行时,所述处理器41与所述存储器42之间通过总线43通信,使得所述处理器41执行以下指令:
响应区块选择操作,从发布的区块中确定目标工程待使用的多个目标区块;其中,每个区块具有发布的接口配置文件;
将多个目标区块中包括的所述接口配置文件进行合并,生成多个目标区块对应的合并后的接口配置文件;
基于所述合并后的接口配置文件,生成多个目标区块对应的组装后的目标接口代码,将生成的目标接口代码存储至目标目录对应的位置。
一种可能的实施方式中,所述处理器41执行的指令中,还包括:
将所述目标工程中,所述目标目录的路径别名配置为约定的别名。
一种可能的实施方式中,所述处理器41执行的指令中,所述接口配置文件中包括仓库地址以及接口白名单;其中,所述仓库地址对应的仓库中存储有接口描述语言IDL文件,所述IDL文件中包括有多个接口分别对应的接口信息;每个区块对应的所述接口白名单中包括有该区块对应的待使用的目标接口信息;
将多个目标区块中包括的所述接口配置文件进行合并,生成多个目标区块对应的合并后的接口配置文件,包括:
将多个目标区块分别对应的各个仓库地址和各个接口白名单进行合并、去重处理,得到合并后的至少一个仓库地址、和合并后的接口白名单;
将所述合并后的至少一个仓库地址、和合并后的接口白名单,构成多个目标区块对应的合并后的接口配置文件。
一种可能的实施方式中,所述处理器41执行的指令中,基于所述合并后的接口配置文件,生成多个目标区块对应的组装后的目标接口代码,包括:
基于所述合并后的接口配置文件中包括的所述合并后的至少一个仓库地址,获取至少一个IDL文件;
基于所述合并后的接口配置文件中包括的合并后的接口白名单,对获取的所述至少一个IDL文件中包括的接口信息进行筛选,生成包含目标接口信息的、筛选后的至少一个IDL文件;
基于包含目标接口信息的、筛选后的至少一个IDL文件,生成所述多个目标区块对应的组装后的目标接口代码。
一种可能的实施方式中,所述处理器41执行的指令中,将多个目标区块中包括的所述接口配置文件进行合并之前,还包括:
针对每个目标区块,确定所述目标区块对应的插入文件名称、和插入位置,其中所述插入位置包括所述目标区块在所述插入文件中的行号和列号;
将所述目标区块放置在对应的所述插入文件的同级目录中,并在所述插入文件的首部位置处生成所述目标区块的引用代码、以及在所述插入文件的所述插入位置处生成所述目标区块的使用代码。
一种可能的实施方式中,所述处理器41执行的指令中,在响应区块选择操作,从发布的各个区块中确定目标工程待使用的多个目标区块之前,还包括:
为待发布的每个所述区块生成对应的发布文件白名单,其中,所述发布文件白名单中指示有所述区块中待发布的文件信息;所述待发布的文件信息中包含所述接口配置文件的信息,且不包含所述区块对应的接口代码文件的信息;
按照每个所述区块对应的所述发布文件白名单中指示的待发布的文件信息,发布包含所述待发布的文件信息指示的文件的区块。
一种可能的实施方式中,所述处理器41执行的指令中,根据以下步骤生成待发布的区块:
响应区块开发操作,为每个区块生成对应的接口配置文件;
基于每个区块的所述接口配置文件指示的仓库地址,获取该区块对应的接口描述语言IDL文件;
基于每个区块对应的所述IDL文件和所述接口配置文件中的接口白名单,生成该区块对应的接口代码,并将所述接口代码存储在所述目标目录对应的位置,并将所述目标目录的路径别名配置为约定的别名;
通过所述路径别名引用生成的每个所述区块对应的所述接口代码,生成待发布的区块。
一种可能的实施方式中,所述处理器41执行的指令中,按照每个所述区块对应的所述发布文件白名单中指示的待发布的文件信息,发布包含所述待发布的文件信息指示的文件的区块之前,还包括:
检测所述接口配置文件中包括的字段类型、字段内容、字段数量是否符合约束条件,以及,检测所述发布文件白名单中包括的待发布文件的类型是否符合约束条件;
在所述接口配置文件和所述发布文件白名单符合约束条件后,按照每个所述区块对应的所述发布文件白名单中指示的待发布的文件信息,发布包含所述待发布的文件信息指示的文件的区块。
本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的区块接口代码生成方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
本公开实施例所提供的区块接口代码生成方法的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行上述方法实施例中所述的区块接口代码生成方法的步骤,具体可参见上述方法实施例,在此不再赘述。
本公开实施例还提供一种计算机程序,该计算机程序被处理器执行时实现前述实施例的任意一种方法。该计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software DevelopmentKit,SDK)等等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。