公共模块库调用方法、系统、设备及介质与流程

文档序号:30526738发布日期:2022-06-25 07:44阅读:118来源:国知局
公共模块库调用方法、系统、设备及介质与流程

1.本发明实施例涉及软件开发领域,尤其涉及一种公共模块库调用方法、系统、计算机设备及计算机可读存储介质。


背景技术:

2.随着互联网技术的不断发展,公共代码的复用逐渐成为开发中经常使用的一个环节,而在企业级项目开发中,由于历史迭代、技术架构的不统一以及项目繁多等问题,导致在一些基础公共代码库无法直接被调用,而公共代码库的迭代维护需要大量的人力资源去完成,进而引起项目开发效率低下的问题。


技术实现要素:

3.有鉴于此,有必要提供一种公共模块库调用的方法、系统、计算机设备及计算机可读存储介质,以解决公共代码库无法调用所引起的开发效率低下的问题。
4.为实现上述目的,本发明实施例提供了一种公共模块库调用的方法,所述方法步骤包括:
5.获取项目库中的至少一个项目的项目代码,基于所述项目代码所反映的应用场景选择匹配的第一配置文件;
6.基于所创建的所述项目库对公共模块库的第一复用请求,将所述第一复用请求输入至发起所述请求的项目所匹配的第一配置文件中进行转换,得到第二复用请求,再将转换后的所述第二复用请求发送至所述公共模块库;
7.所述公共模块库接收所述第二复用请求,并将所述第二复用请求所对应的返回值发送至所述发起请求的项目。
8.可选地,所述获取项目库中的至少一个项目的项目代码,基于所述项目代码所反映的应用场景选择匹配的第一配置文件的步骤之前,还包括:
9.创建配置文件库,所述配置文件库包含至少一个第一配置文件,所述第一配置文件用于对所述项目对公共模块库的所述第一复用请求进行转换,以使公共模块库能够识别所述项目发起的所述第一复用请求;
10.基于所创建的配置文件库生成调用接口。
11.可选地,创建配置文件库的步骤之前,还包括:
12.获取所述公共模块库的调用地址;
13.基于所述调用地址,在所述项目库的源码中创建用于引入所述公共模块库的配置项。
14.可选地,所述获取项目库中的至少一个项目的项目代码,基于所述项目代码所反映的应用场景选择匹配的第一配置文件的步骤之前,还包括:
15.收集所述项目库中各项目的环境信息;
16.基于所述各项目的环境信息,创建环境变量兼容配置;
17.将所述环境变量兼容配置发送至所述公共模块库,以使所述公共模块库能够兼容所述项目库中所有项目的环境。
18.可选地,所述基于所述项目代码所反映的应用场景选择匹配的第一配置文件的步骤包括:
19.遍历所述项目代码中的所有字段;
20.基于预置的场景字段集合,判断所述项目代码中是否包含所述场景字段集合中的元素,若有,则将所述元素所对应的第一配置文件与所述项目进行关联。
21.可选地,所述将所述第一复用请求输入至发起所述请求的项目所匹配的第一配置文件中进行转换,得到第二复用请求的步骤包括:
22.获取第一配置文件中的变量表达式,所述变量表达式包含多个第一变量以及封装的第二变量;
23.判断所述第一复用请求中是否包含所述第一变量,若是,则将所述第一复用请求中的所述第一变量基于所述变量表达式,替换为与之对应的所述第二变量。
24.可选地,所述公共模块库接收所述第二复用请求,并将所述第二复用请求所对应的返回值发送至所述发起请求的项目的步骤之后,还包括
25.判断基于所述第二复用请求所对应的返回值是否为空;
26.若是,则选取所述配置文件库中其他配置文件,对所述第一复用请求进行重新转化,生成第三复用请求并将所述第三复用请求发送至所述发起请求的项目。
27.为实现上述目的,本发明实施例还提供一种公共模块库调用系统,所述系统包括:
28.获取模块,用于获取项目库中的至少一个项目的项目代码,基于所述项目代码所反映的应用场景选择匹配的第一配置文件;
29.转化模块,用于基于所创建的所述项目库对公共模块库的第一复用请求,将所述第一复用请求输入至发起所述请求的项目所匹配的第一配置文件中进行转换,得到第二复用请求,再将转换后的所述第二复用请求发送至所述公共模块库;
30.发送模块,用于所述公共模块库接收所述第二复用请求,并将所述第二复用请求所对应的返回值发送至所述发起请求的项目。
31.为实现上述目的,本发明实施例还提供一种计算机设备,所述计算机设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述计算机程序被处理器执行时实现如上述的公共模块库调用的步骤。
32.为实现上述目的,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行如上述的公共模块库调用方法的步骤。
33.本发明实施例提供的公共模块库调用的方法、装置、计算机设备及计算机可读存储介质,通过设置配置文件库对各项目进行兼容处理,避免了公共代码库无法调用所引起的开发效率低下的问题。
附图说明
34.图1为本发明实施例一公共模块库调用方法的流程示意图。
35.图2为本发明实施例一步骤s100之前的流程示意图。
36.图3为本发明实施例一步骤s100a之前的流程示意图。
37.图4为本发明实施例一步骤s100之前的另一实施方式的流程示意图。
38.图5为本发明实施例一步骤s100的流程示意图。
39.图6为本发明实施例一步骤s200的流程示意图。
40.图7为本发明实施例一步骤s300之后的流程示意图。
41.图8为本发明公共模块库调用系统实施例二的程序模块示意图。
42.图9为本发明计算机设备实施例三的硬件结构示意图。
具体实施方式
43.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
44.在本发明实施例中使用的术语是仅仅处于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
45.需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
46.应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
47.取决于语境,如在此所使用的词语“如果”可以被解释称为“在
……
时”或“当
……
时”或“相应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或时间)”可以被解释成“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
48.以下实施例中,将以计算机设备2为执行主体进行示例性描述。
49.实施例一
50.本发明实施例提供了一种公共模块库调用的方法,包括:
51.步骤s100获取项目库中的至少一个项目的项目代码,基于所述项目代码所反映的应用场景选择匹配的第一配置文件。
52.具体的,项目库中可以包含许多项目,项目指的是实现软件某一功能或者软件整体产品的代码文档。当然,项目也可以独立存在,而不与其他项目合并形成项目库。
53.获取项目中的项目代码,基于所述项目代码判断该项目所适用的应用场景,进而选择所匹配的第一配置文件,使得该项目能够借助第一配置文件,去调用公共代码库中所想调用的公共模块。公共代码库包含有一个或多个公共模块或公共组件等代码。公共模块
或公共组件指的是将不同场景之间可以复用的某一功能或某一步骤的代码集合。通过将可复用的公共代码进行剥离,使得开发过程中无需再次撰写公共代码,直接对公共代码库中的公共代码进行调用则可完成相应功能。
54.其中,公共代码库中的公共模块出于更加通用的目的,会对复用模块进行二次抽象封装,因此许多变量,方法体以及属性等定义或格式会发生变化,沿用原有的方式调用公共模块会出错误,本技术此时创建第一配置文件做兼容处理,使得项目能够正常调用公共模块。
55.步骤s200基于所创建的所述项目库对公共模块库的第一复用请求,将所述第一复用请求输入至发起所述请求的项目所匹配的第一配置文件中进行转换,得到第二复用请求,再将转换后的所述第二复用请求发送至所述公共模块库。
56.具体的,项目中包含有技术人员的公共代码库的调用代码,项目在编译器编译时,基于调用代码生成对公共代码库的复用请求,并将复用请求发送至公共代码库,请求调用公共代码库中请求所指定的公共模块。
57.在复用请求发送前,会先将复用请求在上述步骤中项目所匹配的第一配置文件中进行兼容转化,再发送至公共代码库。其中,第一配置文件可以存放在项目所存储的设备中,也可以存在云端,也可以存放于公共代码库
58.其中,第一配置文件可以为一个或多个,即可以用一个配置文件对多个不同的项目的兼容处理进行记载,也可以单独用一个配置文件对一个项目调用公共代码库的调用兼容处理进行记载。第一配置文件可以包含属性,方法体以及属性等配置项的重定义。
59.步骤s300所述公共模块库接收所述第二复用请求,并将所述第二复用请求所对应的返回值发送至所述发起请求的项目。
60.公共代码库在接收复用请求后,对复用请求进行处理,并将返回值发送至发起所述请求的项目。
61.其中,公共代码库可配置有对环境变量名称不同进行兼容的配置处理,示例性的,编写development:config[`${module}_stg_host`],//来兼容建模平台。
[0062]
另外,可对部分利用react-hooks的方式使用redux的兼容,直接使用配置项传入的封装好的connectcustom进行配置,示例性的代码如下:
[0063]
兼容hooks方式,例如团金、建模平台
[0064]
const connectcustomenhance=()=》{
[0065]
const connectcustom=loginconfig.connectcustom;
[0066]
return connectcustom()
[0067]

[0068]

[0069]
let enhance=basicenhance(loginbox);
[0070]
if(loginconfig.connectcustom){
[0071]
enhance=connectcustomenhance();
[0072]
}else if(loginconfig.iskyz){
[0073]
enhance=basicenhance(withtranslation(['login','creditmenu'])(loginbox));
[0074]
}
[0075]
通过设置配置文件对各项目进行兼容处理,使得项目开发中可直接调用公共代码库的公共模块,减少因变量的定义不同等问题出现的调用错误现象。
[0076]
本发明实施例提供的公共模块库调用的方法,通过设置配置文件库对各项目进行兼容处理,避免了公共代码库无法调用所引起的开发效率低下的问题。
[0077]
在一些实施例中,步骤s100所述获取项目库中的至少一个项目的项目代码,基于所述项目代码所反映的应用场景选择匹配的第一配置文件的步骤之前,还包括:
[0078]
步骤s100a创建配置文件库,所述配置文件库包含至少一个第一配置文件,所述第一配置文件用于对所述项目对公共模块库的所述第一复用请求进行转换,以使公共模块库能够识别所述项目发起的所述第一复用请求;
[0079]
步骤s100b基于所创建的配置文件库生成调用接口。
[0080]
在项目分配对应的第一配置文件之前,还需创建配置文件库,配置文件库中包含至少一个第一配置文件,每个第一配置文件记载了项目与公共模块两者的配置的兼容处理。例如:在公共代码库中的公共模块a中,当前产品以product字段进行定义,而在项目a中,当前产品是以loginconfig.product字段进行定义,则第一配置文件中有product:loginconfig.product使得项目a中的变量“当前产品”能够与公共模块a中的相应变量进行兼容处理,使得项目a在向公共代码库发送公共模块a的复用请求时,使得公共代码库内置的逻辑能够识别复用请求中的传参并基于复用请求进行处理。
[0081]
在一些实施例汇总,步骤s100a中创建配置文件库的步骤之前,还包括:
[0082]
步骤s100a-1获取所述公共模块库的调用地址;
[0083]
步骤s100a-2基于所述调用地址,在所述项目库的源码中创建用于引入所述公共模块库的配置项。
[0084]
示例性的,技术人员编写创建submodule进而获取公共模块库的git地址,即调用地址,利用pull函数进入子模块中选择对应分支拉去代码。在新增别名、文件目录等配置项方便快速引入文件。
[0085]
在一些实施例中,步骤s100所述获取项目库中的至少一个项目的项目代码,基于所述项目代码所反映的应用场景选择匹配的第一配置文件的步骤之前,还包括:
[0086]
步骤s100c收集所述项目库中各项目的环境信息;
[0087]
步骤s100d基于所述各项目的环境信息,创建环境变量兼容配置;
[0088]
步骤s100e将所述环境变量兼容配置发送至所述公共模块库,以使所述公共模块库能够兼容所述项目库中所有项目的环境。
[0089]
在一些实施例中,步骤s100中所述基于所述项目代码所反映的应用场景选择匹配的第一配置文件的步骤包括:
[0090]
步骤s110遍历所述项目代码中的所有字段;
[0091]
步骤s120基于预置的场景字段集合,判断所述项目代码中是否包含所述场景字段集合中的元素,若有,则将所述元素所对应的第一配置文件与所述项目进行关联。
[0092]
具体的,项目代码中一般会包含能够反映项目适用的应用场景的字段,例如一个用于登录功能的开发项目,其中方法体或者属性中,会较多的出现login字段,判断login字段是否属于预置场景字段集合中的元素,若元素中包含login,获取login元素所对应的标
签,例如,配置文件a,则将配置文件a作为该项目的配置文件进行关联。
[0093]
另外,为了提高匹配的精准性,可收集项目代码中各场景字段的出现次数,以出现次数最高的字段元素作为匹配项,进而选择对应的配置文件与所判断的当前项目进行关联。
[0094]
在一些实施例中,步骤s200中所述将所述第一复用请求输入至发起所述请求的项目所匹配的第一配置文件中进行转换,得到第二复用请求的步骤包括:
[0095]
步骤s210获取第一配置文件中的变量表达式,所述变量表达式包含多个第一变量以及封装的第二变量;
[0096]
步骤s220判断所述第一复用请求中是否包含所述第一变量,若是,则将所述第一复用请求中的所述第一变量基于所述变量表达式,替换为与之对应的所述第二变量。
[0097]
在一些实施例中,步骤s300所述公共模块库接收所述第二复用请求,并将所述第二复用请求所对应的返回值发送至所述发起请求的项目的步骤之后,还包括
[0098]
步骤s400判断基于所述第二复用请求所对应的返回值是否为空;
[0099]
步骤s500若是,则选取所述配置文件库中其他配置文件,对所述第一复用请求进行重新转化,生成第三复用请求并将所述第三复用请求发送至所述发起请求的项目。
[0100]
在实际场景中,可能会出现某项目a所预先关联的配置文件并不匹配项目a,进而无法调用公共模块库的公共模块,因此本发明设计在出现这种情况的时候,调用配置文件库中其他配置文件,来对第一复用请求进行转化,以避免配置文件与项目之间关联不匹配的情况下,无法对公共模块进行调用。
[0101]
实施例二
[0102]
图7为本发明公共模块库调用系统实施例二的程序模块示意图。公共模块库调用系统20可以包括或被分割成一个或多个程序模块,一个或者多个程序模块被存储于存储介质中,并由一个或多个处理器所执行,以完成本发明,并可实现上述公共模块库调用方法。本发明实施例所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,比程序本身更适合于描述公共模块库调用系统20在存储介质中的执行过程。以下描述将具体介绍本实施例各程序模块的功能:
[0103]
本发明实施例还提供一种公共模块库调用系统20,包括
[0104]
获取模块200,用于获取项目库中的至少一个项目的项目代码,基于所述项目代码所反映的应用场景选择匹配的第一配置文件;
[0105]
转化模块210,用于基于所创建的所述项目库对公共模块库的第一复用请求,将所述第一复用请求输入至发起所述请求的项目所匹配的第一配置文件中进行转换,得到第二复用请求,再将转换后的所述第二复用请求发送至所述公共模块库;
[0106]
发送模块220,用于所述公共模块库接收所述第二复用请求,并将所述第二复用请求所对应的返回值发送至所述发起请求的项目。
[0107]
在一些实施例中,获取模块200进一步用于:
[0108]
创建配置文件库,所述配置文件库包含至少一个第一配置文件,所述第一配置文件用于对所述项目对公共模块库的所述第一复用请求进行转换,以使公共模块库能够识别所述项目发起的所述第一复用请求;
[0109]
基于所创建的配置文件库生成调用接口。
[0110]
在一些实施例中,获取模块200进一步用于:
[0111]
获取所述公共模块库的调用地址;
[0112]
基于所述调用地址,在所述项目库的源码中创建用于引入所述公共模块库的配置项。
[0113]
在一些实施例中,获取模块200进一步用于:
[0114]
收集所述项目库中各项目的环境信息;
[0115]
基于所述各项目的环境信息,创建环境变量兼容配置;
[0116]
将所述环境变量兼容配置发送至所述公共模块库,以使所述公共模块库能够兼容所述项目库中所有项目的环境。
[0117]
进一步的,获取模块200进一步用于:
[0118]
遍历所述项目代码中的所有字段;
[0119]
基于预置的场景字段集合,判断所述项目代码中是否包含所述场景字段集合中的元素,若有,则将所述元素所对应的第一配置文件与所述项目进行关联。
[0120]
在一些实施例中,转化模块210进一步用于:
[0121]
获取第一配置文件中的变量表达式,所述变量表达式包含多个第一变量以及封装的第二变量;
[0122]
判断所述第一复用请求中是否包含所述第一变量,若是,则将所述第一复用请求中的所述第一变量基于所述变量表达式,替换为与之对应的所述第二变量。
[0123]
在一些实施例汇总,发送模块220进一步用于:
[0124]
判断基于所述第二复用请求所对应的返回值是否为空;
[0125]
若是,则选取所述配置文件库中其他配置文件,对所述第一复用请求进行重新转化,生成第三复用请求并将所述第三复用请求发送至所述发起请求的项目。
[0126]
本发明实施例提供的公共模块库调用系统,通过设置配置文件库对各项目进行兼容处理,避免了公共代码库无法调用所引起的开发效率低下的问题。
[0127]
实施例三
[0128]
参阅图8,是本发明实施例三之计算机设备的硬件架构示意图。本实施例中,所述计算机设备2是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。该计算机设备2可以是机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。如图所示,所述计算机设备2至少包括,但不限于,可通过系统总线相互通信连接存储器21、处理器22、网络接口23、以及公共模块库调用系统20。
[0129]
本实施例中,存储器21至少包括一种类型的计算机可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器21可以是计算机设备2的内部存储单元,例如该计算机设备2的硬盘或内存。在另一些实施例中,存储器21也可以是计算机设备2的外部存储设备,例如该计算机设备2上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。当然,存储器21还可以既包括计算机设备2的内部存储单元也包括其外部
存储设备。本实施例中,存储器21通常用于存储安装于计算机设备2的操作系统和各类应用软件,例如实施例二的公共模块库调用系统20的程序代码等。此外,存储器21还可以用于暂时地存储已经输出或者将要输出的各类数据。
[0130]
处理器22在一些实施例中可以是中央处理器(central processing unit,cpu)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器22通常用于控制计算机设备2的总体操作。本实施例中,处理器22用于运行存储器21中存储的程序代码或者处理数据,例如运行公共模块库调用系统20,以实现实施例一的公共模块库调用方法。
[0131]
所述网络接口23可包括无线网络接口或有线网络接口,该网络接口23通常用于在所述计算机设备2与其他电子装置之间建立通信连接。例如,所述网络接口23用于通过网络将所述计算机设备2与外部终端相连,在所述计算机设备2与外部终端之间的建立数据传输通道和通信连接等。所述网络可以是企业内部网(intranet)、互联网(internet)、全球移动通讯系统(global system of mobile communication,gsm)、宽带码分多址(wideband code division multiple access,wcdma)、4g网络、5g网络、蓝牙(bluetooth)、wi-fi等无线或有线网络。
[0132]
需要指出的是,图8仅示出了具有部件20-23的计算机设备2,但是应理解的是,并不要求实施所有示出的部件,可以替代的实施更多或者更少的部件。
[0133]
在本实施例中,存储于存储器21中的公共模块库调用系统20还可以被分割为一个或者多个程序模块,所述一个或者多个程序模块被存储于存储器21中,并由一个或多个处理器(本实施例为处理器22)所执行,以完成本发明。
[0134]
例如,图7示出了本发明实施例二之所述实现公共模块库调用系统20的程序模块示意图,该实施例中,所述公共模块库调用系统20可以被划分为获取模块200、转化模块210、发送模块220。其中,本发明所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,比程序更适合于描述所述公共模块库调用系统20在所述计算机设备2中的执行过程。所述程序模块200-220的具体功能在实施例二中已有详细描述,在此不再赘述。
[0135]
实施例四
[0136]
本实施例还提供一种计算机可读存储介质,如闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘、服务器、app应用商城等等,其上存储有计算机程序,程序被处理器执行时实现相应功能。本实施例的计算机可读存储介质用于公共模块库调用系统20,被处理器执行时实现实施例一的公共模块库调用方法。
[0137]
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0138]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。
[0139]
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1