程序资源处理方法、装置及计算机设备与流程
未命名
07-13
阅读:109
评论:0
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.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
35.为了更清楚地说明本说明书实施方式或现有技术中的技术方案,下面将对实施方式或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
36.图1是一个实施例中一种程序资源处理方法的流程示意图;
37.图2是一个实施例中对子程序的非公用文件进行资源优化的流程示意图;
38.图3是另一个实施例中一种程序资源处理方法的流程示意图;
39.图4是另一个实施例中一种程序资源处理方法的流程示意图;
40.图5是另一个实施例中一种程序资源处理方法的流程示意图;
41.图6是另一个实施例中一种程序资源处理方法的流程示意图;
42.图7是另一个实施例中一种融合代码处理机制的结构示意图;
43.图8是一个实施例中一种程序资源处理装置的结构示意图;
44.图9是一个实施例中一种计算机设备的内部结构示意图。
具体实施方式
45.为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
46.需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、产品或者设备不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、方法、产品或者设备所固有的要素。在没有更多限制的情况下,并不排除在包括所述要素的过程、方法、产品或者设备中还存在另外的相同或等同要素。例如若使用到第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
47.本文所使用的术语“垂直的”、“水平的”、“左”、“右”、“上”、“下”、“前”、“后”、“周向”、“行进方向”以及类似的表述是基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
48.除非另有定义,本文所使用的技术和科学术语与属于本发明的技术领域的技术人
员通常理解的含义可以相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。本文所使用的术语“及/或”、“和/或”、“至少
…
之一”包括一个或多个相关的所列项目的任意的和所有的组合。需要说明的是,本公开中所描述的相连、连接等,可以是通过器件间的接口或引脚直接连接,也可以是通过引线连接,还可以是通过无线连接(通信连接)。
49.随着小程序在不同平台的广泛应用,小程序的集成也变得越来越重要。部署在不同平台的小程序之间普遍存在页面共享,在进行页面跳转时响应时间过程,通过将多个小程序集成为一个小程序,可以提升页面跳转速度。从开发过程讲,有些小程序功能过于复杂,需要多个团队共同开发,将不同团队开发的项目汇总形成目标小程序也要进行小程序的集成。
50.小程序的集成也被称为小程序的融合,相关技术中小程序的集成方法对开发团队和开发过程要求较高,不同小程序要在同一开发环境下进行开发,整体效率低下。
51.针对上述问题,根据本公开实施例的一个方面,如图1所示,提供一种程序资源处理方法,可以应用于上述小程序的集成,包括:
52.步骤s200,获取待合并程序各自的项目文件。
53.其中,待合并程序可以是在应用软件中使用的小程序。所述小程序可以是微信小程序、企业微信小程序以及其他平台的小程序等。项目文件可以是小程序的源代码等用于保证小程序正常运行的文件。
54.具体地,若对多个小程序进行集成,可以获取每个待合并程序的源代码包。所述源代码包中包含该待合并程序的所有代码文件。
55.步骤s210,在所述待合并程序中确定主程序和子程序,所述子程序为所述待合并程序中除所述主程序之外的待合并程序。
56.具体地,可以根据待合并程序的功能模块、开发重点、代码架构等特点,在多个待合并程序中选择一个程序作为主程序,除主程序之外的其他待合并程序作为子程序。
57.步骤s220,对所述项目文件中的公用文件进行合并,将合并后的公用文件作为所述主程序的第一项目文件。
58.其中,公用文件可以包括与程序通用组件相关的代码文件、以及多个待合并程序之间可以共用的页面文件等。
59.具体地,可以将待合并程序中相同的弹出框组件、消息提醒组件等通用组件,以及可以共用的全局样式、页面等文件进行合并,合并后的公用文件放入主程序的项目文件中,作为主程序的第一项目文件。例如,可以将各子程序的全局样式文件与主程序的全局样式文件逐一比较,找到重复的全局样式类,任选一个保留,删除其他重复的全局样式类,保留下来的全局样式类并入主程序的全局样式文件。
60.步骤s230,对所述子程序的非公用文件进行改造,将所述子程序改造后的非公用文件和所述主程序的非公用文件作为所述主程序的第二项目文件;其中,所述非公用文件包括以下至少一种:路由配置文件、全局样式文件、通用工具方法文件、全局逻辑文件;所述改造包括按照预设方案对所述子程序的非公用文件进行资源优化的处理步骤。
61.其中,预设方案可以包括根据待合并程序项目文件形成的融合代码处理机制。
62.具体地,对子程序中的非公用文件,例如路由配置文件、全局样式文件、通用工具
方法文件、全局逻辑文件等,可以进行相应的改造,并将改造后的文件放入主程序的项目文件中,作为主程序的第二项目文件。这样,主程序以及各子程序之间的代码在运行时不会发生冲突。所述资源优化的处理步骤可以包括:对各子程序的路由配置文件中的原始路由进行修改;对全局样式文件中不同的全局样式类进行修改;对通用工具方法文件中的js文件进行修改等。经过所述资源优化处理后,主程序和各子程序之间原有的路由机制、全局样式、通用工具方法调用等功能模块可以在主程序中正常运行,且不会发生冲突。
63.步骤s240,根据所述第一项目文件和所述第二项目文件生成目标程序。
64.具体地,第一项目文件包括主程序和各子程序的公用文件,第二项目文件包括主程序和各子程序的非公用文件,所述第一项目文件和所述第二项目文件存放于主程序的代码包中,根据第一项目文件和第二项目文件,可以生成集成后的目标程序。
65.本公开实施例提供的技术方案中,在获取待合并程序的项目文件后,可以在待合并程序中确定出一个主程序和其他子程序,再将这些待合并程序的公用文件合并后作为主程序的第一项目文件,即可以作为集成后的目标程序的公用文件。而且,还可以以主程序为基础,对子程序的非公用文件进行改造,改造后与主程序的非公用文件作为第二项目文件,根据第一项目文件和第二项目文件得到集成后的目标程序。这样,通过对公用文件的合并以及对非公用文件的改造,可以在保留待合并程序原有功能的基础上,快速实现对多个待合并程序的有效集成。此外,按照预设的处理机制对非公用文件进行资源优化,对程序开发环境要求低,更有利于程序开发效率的提升。
66.在一个实施例中,如图2所示,所述对所述子程序的非公用文件进行资源优化的处理步骤包括:
67.步骤s2302,对所述子程序中非公用文件的文件和/或文件目录进行重命名。
68.具体地,由于各个待合并程序之间相同的功能模块下命名可能存在重合,可以对各子程序的文件和/或文件目录进行重命名。
69.例如,为保证程序合并后原来的各个子程序路由不引起冲突,可以对各子程序项目文件中页面存放(pages)文件夹下的文件目录进行重命名处理。在一些具体的实施方式中,可以将所有子程序的页面存放文件夹下的文件目录与主程序页面存放文件夹下的文件目录逐一比较,若存在重复的目录名,可以对子程序项目中重复的目录名进行修改。在一些其他实施方式中,也可以直接在各子程序页面存放文件夹下的文件目录名加上不同的后缀,使不同子程序之间的各文件目录名不同。例如子程序项目为admin,该子程序项目的页面存放文件夹下文件目录的命名为home,则可以将该命名修改为homeadmin,这样该命名就不会与主程序中对应的目录名home产生冲突。
70.相应地,为保证程序合并后通用工具方法不冲突,也可以对各小程序的通用工具方法文件夹进行重命名。例如,可以将子程序通用工具方法文件夹下所有js(javascript)文件与主程序通用工具方法文件夹下所有js文件逐一比较,找出文件名称一致的js文件并进一步确认js方法是否完全相同,对不完全相同的js文件进行名称的修改。在一些其他实施方式中,也可以直接将所有子程序通用工具方法文件夹下的js文件名称中加上不同的后缀名,使不同程序之间的js文件名称不冲突。例如,子程序项目名为admin,通用工具方法文件夹下的一个js文件名为name.js,将项目名作为后缀添加,得到修改后的js文件名为nameadmin.js。应当说明的是,本公开中所说的通用工具方法文件夹可以是utils文件夹。
71.同样地,在一些其他具体实施方式中,还可以对全局逻辑文件等其他非公用文件、以及与非公用文件相关的文件夹、文件目录等名称进行相应的修改,使各程序之间涉及的非公用文件的文件名、文件夹名、文件目录名不会造成冲突。
72.s2304,对所述非公用文件中的第一变量进行改写;所述第一变量至少包括以下一种:路由变量、全局样式类、通用方法引用路径、全局常量。
73.具体地,除对非公用文件相关的文件名等名称进行修改之外,还可以对非公用文件中的相关变量进行改写,以使合并后程序在正常运行时不会发生调用冲突。
74.例如,在修改完页面存放文件夹下的文件目录名后,可以对子程序的路由配置文件中的相关路由进行同步替换,以使合并后原各程序的路由功能不发生冲突。若路由配置文件中的原始路由为pages/home/index,可以将原始路由修改为pages/homeadmin/index。路由替换完成后,可以将子程序的路由配置文件代码合并到主程序中。值得说明的是,子程序的所有路由页面,可以在主程序的路由配置文件中作为子包存在。
75.相应地,为保证程序合并后通用工具方法不冲突,在修改完js文件名之后,可以将子程序所有用到该js方法(通用工具方法)的地方进行路径改造。例如,子程序中原引用路径为import req from
‘
@/utils/req.js’,子程序项目名为admin,可以将该引用路径修改成import req from
‘
@/utils/reqadmin.js’。路径改造完成后,可以将子程序项目中通用工具方法文件夹下的js文件代码合并到主程序项目中通用工具方法文件夹下。
76.同样地,在一些其他实施方式中,还可以对全局样式文件中不同的全局样式类、以及全局逻辑文件中的全局常量进行改造。在一些具体的实现方式中,若比较各子程序的全局样式文件与主程序的全局样式文件,发现存在不完全相同的全局样式类,可以对子程序中所有用到该类名的地方进行全局替换。例如一个子程序的全局样式文件中的原全局样式类名为container,该项目名称为admin,可以将子程序中所有用到该类的地方,均改成container-admin。改造完成后,将子程序的全局样式文件代码合并到主程序的全局样式文件中。此外,对于全局逻辑文件(app.js文件),基于上述资源优化处理方案,可以对onlauch、wxlogin、onshow等方法进行适当的改造,对globaldata的全局常量进行合并,使与登录逻辑等全局逻辑相关的代码可以在合并后程序中正常运行,不产生冲突。
77.上述实施例中,通过对非公用文件的文件名、文件目录进行重命名,以及对非公用文件中的相关变量进行改写,可以实现对各子程序项目文件的快速整合和利用,而且各子程序原有的文件可以在一个集成的程序中正常运行,避免引起代码冲突。
78.在一个实施例中,如图3所示,在获取待合并程序各自的项目文件之后,还包括:
79.步骤s202,根据预设的页面格式对所述待合并程序进行页面改造,得到改造后的页面文件;所述改造后的页面文件作为公用文件,参与公用文件的合并。
80.其中,预设的页面格式可以是页面样式风格统一的ui(user interface,人机交互界面)稿,具体可以根据各个待合并程序之间的页面功能模块、页面样式风格等因素综合考虑,对各程序做出针对性的改造,以便得到页面样式统一的ui稿。
81.具体地,由于待合并程序之间页面不尽相同,在得到待合并程序的项目文件之后,可以根据预设的页面格式对各个待合并程序的页面进行改造,得到统一格式的页面文件,所述修改后的页面文件可以作为各个待合并程序的公用文件,参与公用文件的合并。例如,根据统一的页面格式,可以对各程序页面文件中的弹出框组件、消息提醒组件等进行修改,
得到修改后的页面文件。
82.在一些其他实施方式中,还可以对待合并程序进行独立的功能测试,确保各个待合并程序功能正常,不会影响到集成后目标程序的功能。
83.上述实施例中,在得到待合并程序的项目文件后,可以根据预设的页面格式对各个待合并程序进行页面改造,使各个程序的页面之间具有统一的样式,降低了程序集成过程中不同程序页面统合的难度,加快了程序集成中页面合并部分的处理速度,使不同程序之间进行页面切换更易于实现。
84.在一个实施例中,如图4所示,所述项目文件包括导航栏文件,在根据所述第一项目文件和所述第二项目文件生成目标程序之前,还包括:
85.步骤s232,根据所述子程序的导航栏文件,确定导航列表值。
86.其中,导航栏文件可以是页面文件中与页面底部导航栏对应的代码文件。
87.具体地,可以根据子程序项目文件中与导航栏相关的代码,确认子程序各页面中导航栏的列表数目,将其作为导航列表值。
88.步骤s234,根据所述导航列表值在所述主程序的导航栏文件中生成子导航组件;所述子导航组件用于获取与当前页面对应子程序的子导航列表值,并根据所述子导航列表值生成子导航栏。
89.具体地,可以根据子程序的导航列表值,在主程序的导航栏文件中添加与子程序导航栏相关的代码或组件。在一些其他实施方式中,若子程序为小程序,可以在主程序中自定义开发底部导航栏组件custom-tab-bar,增加一层js判断机制,随着页面的切换,可以自动判断当前所处的小程序页面归属,从而确定导航列表(tabbarlist)值,根据该导航列表值,生成对应的导航栏。
90.步骤s236,将所述主程序的导航栏文件添加到所述第一项目文件中。
91.具体地,可以将主程序的导航栏文件放入第一项目文件,用于集成后程序的导航栏生成。
92.上述实施例中,根据子程序导航栏的列表数,在主程序的导航栏文件中添加与子程序导航栏列表数对应的代码。这样,在程序集成后,可以根据页面判断并生成与子程序对应的导航栏,有效解决了集成程序中子程序与主程序导航栏不兼容的问题。
93.在一个实施例中,如图5所示,在根据所述第一项目文件和所述第二项目文件生成目标程序之前,还包括:
94.步骤s238,对所述主程序的主包和分包进行体积优化。
95.具体地,可以对项目文件中的图片进行压缩,以减小主程序的主包和分包的体积。例如,可以通过upic等方式对背景图等图片进行压缩,减小图片体积。在一些其他实施方式中,也可以对特定图片采用cdn(content delivery network,内容分发网络)加载方式,还可以将特定图片的引入方式改为远程接口调用。
96.上述实施例中,可以通过对项目文件中的图片进行压缩,实现对集成程序的主包和分包的体积优化,减少体积大小对集成程序的限制,避免集成后的程序因体积过大而无法在正常环境中运行。
97.在一个实施例中,如图6所示,在根据所述第一项目文件和所述第二项目文件生成目标程序之后,还包括:
98.步骤s242,对所述目标程序进行回归测试,生成程序回归测试报告;所述回归测试包括以下至少一种:路由跳转测试、程序功能测试、页面格式测试。
99.具体地,在得到集成的目标程序之后,可以对该目标程序进行路由跳转测试、程序功能测试、页面格式测试等回归测试,并根据测试内容生成相应的回归测试报告。
100.上述实施例中,在得到集成的目标程序之后,可以对目标程序进行路由跳转、页面格式、程序功能等回归测试,检查在程序集成过程中是否存在错误,避免集成的目标程序存在功能不完善等问题。
101.图7是本公开实施例中一种融合代码处理机制的结构示意图。如图7所示,该融合代码处理机制包括路由处理机制、全局样式处理机制、通用组件处理机制、通用js方法机制、文件夹目录处理机制、底部导航栏自定义处理机制、全局app.js文件处理机制,所述融合代码处理机制可以用于对待合并程序的项目文件进行资源优化,具体应用方式在上述各实施例中已有体现。
102.应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
103.根据本公开实施例的另一方面,如图8所示,还提供一种程序资源处理装置,包括:
104.程序资源获取模块300,用于获取待合并程序各自的项目文件;
105.主程序确定模块310,用于在所述待合并程序中确定主程序和子程序,所述子程序为所述待合并程序中除所述主程序之外的待合并程序;
106.文件合并模块320,用于对所述项目文件中的公用文件进行合并,将合并后的公用文件作为所述主程序的第一项目文件;
107.文件改造模块330,用于对所述子程序的非公用文件进行改造,将所述子程序改造后的非公用文件和所述主程序的非公用文件作为所述主程序的第二项目文件;其中,所述非公用文件包括以下至少一种:路由配置文件、全局样式文件、通用工具方法文件、全局逻辑文件;所述改造包括按照预设方案对所述子程序的非公用文件进行资源优化的处理步骤;
108.程序生成模块340,用于根据所述第一项目文件和所述第二项目文件生成目标程序。
109.关于上述处理装置的具体限定可以参见上文中对于上述处理方法的限定,在此不再赘述。根据上述处理方法,所述处理装置可以增加第一模块、第二模块等实现相应的方法实施例中的步骤。上述处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
110.根据本公开实施例的另一方面,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器、
通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过wifi、运营商网络、nfc(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现上述处理方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
111.本领域技术人员可以理解,图9中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
112.在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
113.根据本公开实施例的另一方面,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
114.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。本技术所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本技术所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
115.以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
116.以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本技术专利范围的限制。应当指出的是,本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
117.应当理解的是,本公开并不局限于已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。
技术特征:
1.一种程序资源处理方法,其特征在于,包括:获取待合并程序各自的项目文件;在所述待合并程序中确定主程序和子程序,所述子程序为所述待合并程序中除所述主程序之外的待合并程序;对所述项目文件中的公用文件进行合并,将合并后的公用文件作为所述主程序的第一项目文件;对所述子程序的非公用文件进行改造,将所述子程序改造后的非公用文件和所述主程序的非公用文件作为所述主程序的第二项目文件;所述改造包括按照预设方案对所述子程序的非公用文件进行资源优化的处理步骤;根据所述第一项目文件和所述第二项目文件生成目标程序。2.根据权利要求1所述的方法,其特征在于,所述对所述子程序的非公用文件进行资源优化的处理步骤包括:对所述子程序中非公用文件的文件和/或文件目录进行重命名;对所述非公用文件中的第一变量进行改写;所述第一变量至少包括以下一种:路由变量、全局样式类、通用方法引用路径、全局常量。3.根据权利要求1所述的方法,其特征在于,在获取待合并程序各自的项目文件之后,还包括:根据预设的页面格式对所述待合并程序进行页面改造,得到改造后的页面文件;所述改造后的页面文件作为公用文件,参与公用文件的合并。4.根据权利要求1所述的方法,其特征在于,所述项目文件包括导航栏文件,在根据所述第一项目文件和所述第二项目文件生成目标程序之前,还包括:根据所述子程序的导航栏文件,确定导航列表值;根据所述导航列表值在所述主程序的导航栏文件中生成子导航组件;所述子导航组件用于获取与当前页面对应子程序的子导航列表值,并根据所述子导航列表值生成子导航栏;将所述主程序的导航栏文件添加到所述第一项目文件中。5.根据权利要求1所述的方法,其特征在于,在根据所述第一项目文件和所述第二项目文件生成目标程序之前,还包括:对所述主程序的主包和分包进行体积优化。6.根据权利要求1所述的方法,其特征在于,在根据所述第一项目文件和所述第二项目文件生成目标程序之后,还包括:对所述目标程序进行回归测试,生成程序回归测试报告;所述回归测试包括以下至少一种:路由跳转测试、程序功能测试、页面格式测试。7.一种程序资源处理装置,其特征在于,包括:程序资源获取模块,用于获取待合并程序各自的项目文件;主程序确定模块,用于在所述待合并程序中确定主程序和子程序,所述子程序为所述待合并程序中除所述主程序之外的待合并程序;文件合并模块,用于对所述项目文件中的公用文件进行合并,将合并后的公用文件作为所述主程序的第一项目文件;
文件改造模块,用于对所述子程序的非公用文件进行改造,将所述子程序改造后的非公用文件和所述主程序的非公用文件作为所述主程序的第二项目文件;其中,所述非公用文件包括以下至少一种:路由配置文件、全局样式文件、通用工具方法文件、全局逻辑文件;所述改造包括按照预设方案对所述子程序的非公用文件进行资源优化的处理步骤;程序生成模块,用于根据所述第一项目文件和所述第二项目文件生成目标程序。8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤。9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。10.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
技术总结
本申请涉及一种程序资源处理方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。一个实施例中,获取待合并程序的项目文件,在待合并程序中确定出主程序和其他子程序,再将这些待合并程序的公用文件合并作为主程序的第一项目文件。而且,还可以以主程序为基础,对子程序的非公用文件进行改造,改造后与主程序的非公用文件作为第二项目文件,根据第一项目文件和第二项目文件得到集成后的目标程序。这样,通过对公用文件的合并以及对非公用文件的改造,可以在保留待合并程序原有功能的基础上,快速实现对多个程序的有效集成。此外,按照预设处理机制对非公用文件进行资源优化,对程序开发环境要求低,更有利于程序开发效率的提升。发效率的提升。发效率的提升。
技术研发人员:胡佳磊 王琛 叶黎明 徐小斌 常洞霞 张健 刘东旭 廖子宇 孙雨欣 马蓉蓉 郭永钱
受保护的技术使用者:兴业数字金融服务(上海)股份有限公司
技术研发日:2023.03.31
技术公布日:2023/7/12
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
上一篇:一种超滤滤芯清理装置的制作方法 下一篇:空调室内机模块、无风空调及隔断墙的制作方法
