版本集合的显示方法及装置、存储介质及电子装置与流程

未命名 08-27 阅读:100 评论:0


1.本技术涉及智慧家庭技术领域,具体而言,涉及一种版本集合的显示方法及装置、存储介质及电子装置。


背景技术:

2.随着flutter在app开发上的普及,flutter动态化也开始被逐渐探索和应用,其中有一个重点的环节是flutter动态资源包生成和部署。目前大多数动态资源包都手动生成并且无法生成资源包和宿主app的对应关系,这样会导致动态资源包生成繁琐,上线部署app时容易发生错误或不知道可以将资源包部署在什么版本的宿主app上。
3.针对相关技术中,无法确定资源包允许部署在何种版本的应用程序上的问题,目前尚未提出有效的解决方案。
4.因此,有必要对相关技术予以改良以克服相关技术中的所述缺陷。


技术实现要素:

5.本发明实施例提供了一种版本集合的显示方法及装置、存储介质及电子装置,以至少解决无法确定资源包允许部署在何种版本的应用程序上的问题。
6.根据本发明实施例的一方面,提供一种版本集合的显示方法,包括:响应于部署指令,从目标资源包的配置文件中获取指定函数库的第一版本号,其中,所述部署指令用于指示在应用程序中部署所述目标资源包,所述指定函数库用于支持所述目标资源包在所述应用程序中运行;根据所述指定函数库的第一版本号确定所述应用程序的版本集合,其中,所述目标资源允许部署在指定版本的应用程序上,所述指定版本为所述版本集合中的任意一个版本;将所述应用程序的版本集合显示在指定页面上。
7.在一个示例性的实施例中,响应于部署指令之前,所述方法还包括:通过第一脚本检测目标对象是否执行了指定操作,其中,所述指定操作包括:所述目标对象上报目标代码至代码服务器,其中,所述目标代码为所述目标对象在依赖指定版本号的所述指定函数库的基础上使用指定工具包编写的代码;在通过第一脚本检测到所述目标对象执行了所述指定操作的情况下,指示第二脚本生成所述目标代码对应的资源包并将所述指定版本号写入所述资源包的配置文件中。
8.在一个示例性的实施例中,指示第二脚本生成所述目标代码对应的资源包,包括:通过所述第一脚本将资源包生成命令发送至第二脚本,其中,所述资源包生成命令中携带有所述目标代码的存储地址以及资源包输出地址;指示所述第二脚本根据所述存储地址中的所述目标代码生成所述目标代码对应的资源包,其中,所述资源包输出地址为所述第二脚本输出所述目标资源包的地址。
9.在一个示例性的实施例中,根据所述指定函数库的第一版本号确定所述应用程序的版本集合,包括:通过指定数据库确定与所述指定函数库的第一版本号相对应的所述应用程序的第一版本和第二版本;其中,所述指定数据库中具有所述指定函数库的不同版本
号与所述应用程序的不同版本的对应关系;所述应用程序的版本集合包括所述应用程序的第一版本和第二版本之间的所有版本。
10.在一个示例性的实施例中,通过指定数据库确定与所述指定函数库的第一版本号相对应的所述应用程序的第一版本,包括:通过所述指定数据库确定与所述指定函数库的第一版本号相对应的所述应用程序的一个或多个第一参考版本;将所述一个或多个第一参考版本中的最低版本确定为所述应用程序的第一版本。
11.在一个示例性的实施例中,通过指定数据库确定与所述指定函数库的第一版本号相对应的所述应用程序的第二版本,包括:通过所述指定数据库确定所述指定函数库的第二版本号,其中,所述第二版本号为所述第一版本号所在的版本等级中最大的版本号;通过所述指定数据库确定与所述指定函数库的第二版本号相对应的所述应用程序的一个或多个第二参考版本;将所述一个或多个第二参考版本中的最高版本确定为所述应用程序的第二版本。
12.在一个示例性的实施例中,通过指定数据库确定与所述指定函数库的第一版本号相对应的所述应用程序的第一版本和第二版本之前,所述方法还包括:在所述应用程序发布的过程中,确定所述应用程序的当前版本;确定所述当前版本的应用程序对应的所述指定函数库的依赖版本号;将所述依赖版本号与所述当前版本的对应关系存储至所述指定数据库。
13.根据本发明实施例的另一方面,还提供了一种版本集合的显示装置,包括:获取模块,用于响应于部署指令,从目标资源包的配置文件中获取指定函数库的第一版本号,其中,所述部署指令用于指示在应用程序中部署所述目标资源包,所述指定函数库用于支持所述目标资源包在所述应用程序中运行;确定模块,用于根据所述指定函数库的第一版本号确定所述应用程序的版本集合,其中,所述目标资源允许部署在指定版本的应用程序上,所述指定版本为所述版本集合中的任意一个版本;显示模块,用于将所述应用程序的版本集合显示在指定页面上。
14.根据本发明实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述版本集合的显示方法。
15.根据本发明实施例的又一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,上述处理器通过计算机程序执行上述版本集合的显示方法。
16.通过本发明,响应于部署指令,从目标资源包的配置文件中获取指定函数库的第一版本号,根据指定函数库的第一版本号确定应用程序的版本集合,并将应用程序的版本集合显示在指定页面上,进而使得用户可以在指定页面上看到目标资源包可以部署在哪些版本的应用程序中,解决了无法确定资源包允许部署在何种版本的应用程序上的问题,也避免了在应用程序上随意部署资源包导致应用程序容易出现错误的问题。
附图说明
17.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。
18.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
19.图1是根据本技术实施例的一种版本集合的显示方法的硬件环境示意图;
20.图2是根据本发明实施例的版本集合的显示方法的流程图;
21.图3是根据本发明实施例的资源包生成的流程图;
22.图4是根据本发明实施例的资源包部署的流程图;
23.图5是根据本发明实施例的版本集合的显示装置的结构框图。
具体实施方式
24.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分的实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本技术保护的范围。
25.需要说明的是,本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
26.根据本技术实施例的一个方面,提供了一种版本集合的显示方法。该版本集合的显示方法广泛应用于智慧家庭(smart home)、智能家居、智能家用设备生态、智慧住宅(intelligencehouse)生态等全屋智能数字化控制应用场景。可选地,在本实施例中,上述版本集合的显示方法可以应用于如图1所示的由终端设备102和服务器104所构成的硬件环境中。如图1所示,服务器104通过网络与终端设备102进行连接,可用于为终端或终端上安装的客户端提供服务(如应用服务等),可在服务器上或独立于服务器设置数据库,用于为服务器104提供数据存储服务,可在服务器上或独立于服务器配置云计算和/或边缘计算服务,用于为服务器104提供数据运算服务。
27.上述网络可以包括但不限于以下至少之一:有线网络,无线网络。上述有线网络可以包括但不限于以下至少之一:广域网,城域网,局域网,上述无线网络可以包括但不限于以下至少之一:wifi(wireless fidelity,无线保真),蓝牙。终端设备102可以并不限定于为pc、手机、平板电脑、智能空调、智能烟机、智能冰箱、智能烤箱、智能炉灶、智能洗衣机、智能热水器、智能洗涤设备、智能洗碗机、智能投影设备、智能电视、智能晾衣架、智能窗帘、智能影音、智能插座、智能音响、智能音箱、智能新风设备、智能厨卫设备、智能卫浴设备、智能扫地机器人、智能擦窗机器人、智能拖地机器人、智能空气净化设备、智能蒸箱、智能微波炉、智能厨宝、智能净化器、智能饮水机、智能门锁等。
28.为了解决上述问题,在本实施例中提供了一种版本集合的显示方法,包括但不限
于应用在资源包生成和部署平台,图2是根据本发明实施例的版本集合的显示方法的流程图,该流程包括如下步骤:
29.步骤s202:响应于部署指令,从目标资源包的配置文件中获取指定函数库的第一版本号,其中,所述部署指令用于指示在应用程序中部署所述目标资源包,所述指定函数库用于支持所述目标资源包在所述应用程序中运行;
30.作为一种可选的示例,目标资源包为flutter资源包。为了更好的理解,以下进行具体说明:
31.目前,在应用程序上线发布以后,如果需要对应用程序进行更改,可以通过应用程序中部署资源包来实现。而随着flutter在应用程序开发上的普及,flutter动态化也开始被逐渐探索和应用,例如,如果端午节快到了,应用程序的开发人员想在已经上线的应用程序上显示一个关于端午节的活动界面,进而可以在线下使用flutter来构建端午节活动页面,并生成对应的flutter资源包,并将flutter资源包部署在应用程序。
32.作为一种可选的示例,应用程序的开发运维人员可以从云端服务器中下载需要部署的目标资源包,进而向资源包生成和部署平台发送部署指令。
33.在一个示例性的实施例中,目标资源包是在应用程序的开发运维人员在使用flutter编写完代码以后,自动生成的,进而在响应于部署指令之前,上述方法还包括以下步骤:
34.步骤s11:通过第一脚本检测目标对象是否执行了指定操作,其中,所述指定操作包括:所述目标对象上报目标代码至代码服务器,其中,所述目标代码为所述目标对象在依赖指定版本号的所述指定函数库的基础上使用指定工具包编写的代码;
35.作为一种可选的示例,上述目标对象为开发运维人员,开发运维人员在使用flutter编写代码以前,需要根据允许部署的最小应用程序版本,找到其依赖的指定函数库的指定版本号,并将指定版本号的指定函数库依赖到自己的业务库当中,然后才进行代码开发,在开发完以后将编写的目标代码打tag发送至代码服务器。
36.步骤s12:在通过第一脚本检测到所述目标对象执行了所述指定操作的情况下,指示第二脚本生成所述目标代码对应的资源包并将所述指定版本号写入所述资源包的配置文件中。
37.需要说明的是,上述资源包包括上述目标资源包。即上述目标资源包为在开发运维人员编写完对应的代码以后,第二脚本自动生成的资源包。
38.作为一种可选的示例,在通过第一脚本检测到开发运维人员将目标代码打tag发送至代码服务器以后,可以指示第二脚本根据目标代码生成对应的资源包,并指示第二脚本将指定版本号写入到生成的资源包的配置文件中。
39.在本实施例中,通过上述步骤s11-s12可以实现在开发运维人员编写完目标代码,并将目标代码打tag上传至代码服务器以后,自动生成目标代码对应的资源包,避免了开发人员手动生成资源包。
40.在一个示例性的实施例中,上述指示第二脚本生成所述目标代码对应的资源包,可以通过以下步骤s121-s122实现:
41.步骤s121:通过所述第一脚本将资源包生成命令发送至第二脚本,其中,所述资源包生成命令中携带有所述目标代码的存储地址以及资源包输出地址;
42.作为一种可选的示例,第一脚本在检测到开发运维人员将目标代码打tag发送至代码服务器以后,会从代码服务器中获取到目标代码,并存储至存储地址中,进而向第二脚本发送资源包生成命令。
43.步骤s122:指示所述第二脚本根据所述存储地址中的所述目标代码生成所述目标代码对应的资源包,其中,所述资源包输出地址为所述第二脚本输出所述目标资源包的地址。
44.作为一种可选的示例,第二脚本在获取到资源包生成命令以后,从存储地址中获取目标代码,以根据目标代码生成对应的资源包,并将生成的资源包输出至资源包输出地址。
45.作为一种可选的示例,第二脚本在生成资源包以前,会检测目标代码的代码语法是否合法,代码使用范围是否在指定函数库的支撑范围内。如果目标代码的代码语法不合法,或者代码使用范围不在指定函数库的支撑范围内,则不生成资源包。
46.作为一种可选的示例,在第二脚本生成资源包以后,第二脚本会向第一脚本返回一个返回码,第一脚本会判断接收到的返回码是否为预设返回码(例如为0),如果返回码是预设返回码,第一脚本会将资源包输出地址中的资源包上传至云端服务器中存储,如果返回码不是预设返回码,则不进行上传操作。
47.步骤s204:根据所述指定函数库的第一版本号确定所述应用程序的版本集合,其中,所述目标资源允许部署在指定版本的应用程序上,所述指定版本为所述版本集合中的任意一个版本;
48.在一个示例性的实施例中,上述步骤s204可以通过以下方式实现:通过指定数据库确定与所述指定函数库的第一版本号相对应的所述应用程序的第一版本和第二版本;其中,所述指定数据库中具有所述指定函数库的不同版本号与所述应用程序的不同版本的对应关系;所述应用程序的版本集合包括所述应用程序的第一版本和第二版本之间的所有版本。需要说明的是,第一版本和第二版本之间的所有版本的应用程序都可以与第一版本号的指定函数库兼容。第二版本高于第一版本。
49.作为一种可选的示例,应用程序的版本可以通过版本号确定,应用程序的版本号越大,应用程序对应的版本越高,即版本号为1.2的应用程序的版本高于版本号为1.2的应用程序的版本。
50.也就是说,在本实施例中,只需要确定可以支持第一版本号的指定函数库的最小应用程序版本和最大应用程序版本,进而就可以根据最小应用程序版本和最大应用程序版本确定应用程序的版本集合。
51.在一个示例性的实施例中,上述通过指定数据库确定与所述指定函数库的第一版本号相对应的所述应用程序的第一版本,可以通过以下步骤s21-s22实现:
52.步骤s21:通过所述指定数据库确定与所述指定函数库的第一版本号相对应的所述应用程序的一个或多个第一参考版本;
53.步骤s22:将所述一个或多个第一参考版本中的最低版本确定为所述应用程序的第一版本。
54.需要说明的是,在从指定数据库中只确定出了一个第一参考版本的情况下,将这一个第一参考版本确定为第一版本。
55.需要说明的是,假设指定数据库中,版本号1.0.0对应的应用程序的版本为1.1、1.2、1.3,进而可以通过指定数据库确定与指定函数库的第一版本号1.0.0相对应的应用程序的第一版本为1.1。
56.在一个示例性的实施例中,上述通过指定数据库确定与所述指定函数库的第一版本号相对应的所述应用程序的第二版本,可以通过以下方式实现:
57.步骤s31:通过所述指定数据库确定所述指定函数库的第二版本号,其中,所述第二版本号为所述第一版本号所在的版本等级中最大的版本号;
58.作为一种可选的示例,假设指定函数库的第一版本号为1.x.x,则第一版本号所在的版本等级为1,假设指定函数库的第一版本号为2.x.x,则第一版本号所在的版本等级为2。假设指定数据库中在版本等级1下的最大版本号为1.9.1,则确定第二版本号为1.9.1。
59.步骤s32:通过所述指定数据库确定与所述指定函数库的第二版本号相对应的所述应用程序的一个或多个第二参考版本;
60.步骤s33:将所述一个或多个第二参考版本中的最高版本确定为所述应用程序的第二版本。
61.需要说明的是,在从指定数据库中只确定出了一个第二参考版本的情况下,将这一个第二参考版本确定为第二版本。
62.需要说明的是,假设指定数据库中,版本号1.9.1对应的应用程序的版本为4.1、4.2、4.3,进而可以通过指定数据库确定与指定函数库的第一版本号1.0.0相对应的应用程序的第二版本为4.3。
63.作为一种可选的示例,由于本实施例中的指定函数库是在当前版本等级下向前兼容的(即1.9.1版本的指定函数库可以兼容1.0.0版本的指定函数库),进而应用程序的版本集合中的版本为1.1至4.3中间的所有版本。
64.在一个示例性的实施例中,资源包生成和部署平台可以调用云端服务器的指定接口,发送请求消息(请求消息中携带有第一版本号)至云端服务器,进而云端服务器会通过上述步骤确定应用程序的版本集合,并向资源包生成和部署平台发送应用程序的版本集合。
65.在一个示例性的实施例中,通过指定数据库确定与所述指定函数库的第一版本号相对应的所述应用程序的第一版本和第二版本之前,还具有以下步骤s41-s43:
66.s41:在所述应用程序发布的过程中,确定所述应用程序的当前版本;
67.s42:确定所述当前版本的应用程序对应的所述指定函数库的依赖版本号;
68.s43:将所述依赖版本号与所述当前版本的对应关系存储至所述指定数据库。
69.作为一种可选的示例,在产品经理点击发布按钮发布应用程序以后,可以通过第一脚本去检测应用程序的版本,并确定此版本的应用程序所依赖的指定函数库的依赖版本号,调取云端服务器的对应接口在云端服务器中存储依赖版本号与应用程序的当前版本的对应关系。
70.步骤s206:将所述应用程序的版本集合显示在指定页面上。
71.在一个示例性的实施例中,在执行上述步骤s206之后,还包括:获取所述目标对象从所述的版本集合中确定的目标版本,并将所述目标资源包部署在所述目标版本的应用程序上。
72.在一个示例性的实施例中,在执行上述步骤s204之后,还包括:将所述应用程序部署在所述指定版本的应用程序上。
73.通过上述步骤,响应于部署指令,从目标资源包的配置文件中获取指定函数库的第一版本号,根据指定函数库的第一版本号确定应用程序的版本集合,并将应用程序的版本集合显示在指定页面上,进而使得用户可以在指定页面上看到目标资源包可以部署在哪些版本的应用程序中,解决了无法确定资源包允许部署在何种版本的应用程序上的问题,也避免了在应用程序上随意部署资源包导致应用程序容易出现错误的问题。
74.显然,上述所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。为了更好的理解上述方法,以下结合实施例对上述过程进行说明,但不用于限定本发明实施例的技术方案,具体地:
75.在一个可选的实施例中,图3是根据本发明实施例的资源包生成的流程图,具体的:
76.业务开发人员根据部署的最小宿主app版本,找到其依赖的代理库(相当于上述指定函数库)版本,并将代理库版本依赖到自己的业务库当中,然后进行代码开发,开发完成后完成打tag,将目标代码上报至代码服务器。
77.第一脚本在检测到业务开发人员打完tag后向第二脚本发送flutter动态化资源包打包命令(相当于上述实施例中的资源包生成命令)。命令的入参为业务库的根路径(相当于上述实施例中的上述存储地址)和资源包输出路径(相当于上述实施例中的资源包输出地址)。
78.第二脚本在接收到命令后会根据业务库自动生成资源包,并在生成资源包以后向第一脚本发送返回码。命令在打包的过程中同时检测代码语法是否合法,代码使用范围是否在代理库的支撑范围内。如果不满足条件就不生成资源包。
79.第一脚本在确定返回码为0的情况下,会将资源包输出路径下的资源包上传存储到云端,否则不上传。
80.产品经理可以从云端中下载相应的动态资源包,并通过资源包发布平台进行部署。需要说明的是,上述资源包生成和部署平台包括资源包发布平台。
81.在一个可选的实施例中,图4是根据本发明实施例的资源包部署的流程图,具体的:
82.1、产品经理点击发布按钮发布app版本;
83.2、第一脚本读取当前app版本所依赖的代理库版本,调取sever端接口存储代理库和app版本关系;
84.3、产品经理在云端下载资源包并上传到发布平台,实现动态资源包的发布;
85.4、资源包部署平台读取资源包中存储的代理库版本,然后请求server接口,其中,入参为代理库版本;
86.5、server端根据传进来的代理库版本获取app的版本号,即资源包可以部署的最小app版本。然后再读取与代理库版本的大版本号一致的最大的代理库版本对应的app的版本号,即资源包可以部署的最大app版本号。最后将最小和最大的app版本范围(即上述实施例中的版本集合)返回给资源包发布平台;
87.6、资源包发布平台根据返回的版本范围在界面上显示该资源包可以部署的宿主
app版本范围;
88.7、产品经理根据可以部署的版本将flutter动态资源包部署到相应的宿主app。
89.需要说明的是,本技术在开发人员正常开发打tag时自动触发生成动态资源包的命令,开发人员无需额外的工作,打包命令成功执行后会在资源包的配置文件会记录对应的代理库(支持资源包运行的一个库)版本号。资源包被上传到发布平台时,平台会根据代理库的版本号在数据库中查找到对应的宿主app版本,这样平台就可以精准的把动态资源包发布到对应的宿主app上。需要说明的是,达到以上条件的代理库需要做到版本前向兼容,但是代理库代码也有可能减少,所以前向兼容是需要做好代理库大小版本的管理。
90.本技术实施例通过上述方法提供了无感知的动态资源包生成服务,提高了资源包部署到线上app版本的安全性和易用性,提供了代理库版本前向兼容的管理方法,以及维护了线上app和代理库的对应关系。
91.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例的方法。
92.在本实施例中还提供了一种版本集合的显示装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的设备较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
93.图5是根据本发明实施例的版本集合的显示装置的结构框图,该装置包括:
94.获取模块52,用于响应于部署指令,从目标资源包的配置文件中获取指定函数库的第一版本号,其中,所述部署指令用于指示在应用程序中部署所述目标资源包,所述指定函数库用于支持所述目标资源包在所述应用程序中运行;
95.确定模块54,用于根据所述指定函数库的第一版本号确定所述应用程序的版本集合,其中,所述目标资源允许部署在指定版本的应用程序上,所述指定版本为所述版本集合中的任意一个版本;
96.显示模块56,用于将所述应用程序的版本集合显示在指定页面上。
97.通过上述装置,响应于部署指令,从目标资源包的配置文件中获取指定函数库的第一版本号,根据指定函数库的第一版本号确定应用程序的版本集合,并将应用程序的版本集合显示在指定页面上,进而使得用户可以在指定页面上看到目标资源包可以部署在哪些版本的应用程序中,解决了无法确定资源包允许部署在何种版本的应用程序上的问题,也避免了在应用程序上随意部署资源包导致应用程序容易出现错误的问题。
98.在一个示例性的实施例中,上述装置还包括:生成模块,用于在响应于部署指令之前,通过第一脚本检测目标对象是否执行了指定操作,其中,所述指定操作包括:所述目标对象上报目标代码至代码服务器,其中,所述目标代码为所述目标对象在依赖指定版本号的所述指定函数库的基础上使用指定工具包编写的代码;在通过第一脚本检测到所述目标对象执行了所述指定操作的情况下,指示第二脚本生成所述目标代码对应的资源包并将所
述指定版本号写入所述资源包的配置文件中。
99.在一个示例性的实施例中,生成模块,还用于通过所述第一脚本将资源包生成命令发送至第二脚本,其中,所述资源包生成命令中携带有所述目标代码的存储地址以及资源包输出地址;指示所述第二脚本根据所述存储地址中的所述目标代码生成所述目标代码对应的资源包,其中,所述资源包输出地址为所述第二脚本输出所述目标资源包的地址。
100.在一个示例性的实施例中,确定模块54,还用于通过指定数据库确定与所述指定函数库的第一版本号相对应的所述应用程序的第一版本和第二版本;其中,所述指定数据库中具有所述指定函数库的不同版本号与所述应用程序的不同版本的对应关系;所述应用程序的版本集合包括所述应用程序的第一版本和第二版本之间的所有版本。
101.在一个示例性的实施例中,确定模块54,还用于通过所述指定数据库确定与所述指定函数库的第一版本号相对应的所述应用程序的一个或多个第一参考版本;将所述一个或多个第一参考版本中的最低版本确定为所述应用程序的第一版本。
102.在一个示例性的实施例中,确定模块54,还用于通过所述指定数据库确定所述指定函数库的第二版本号,其中,所述第二版本号为所述第一版本号所在的版本等级中最大的版本号;通过所述指定数据库确定与所述指定函数库的第二版本号相对应的所述应用程序的一个或多个第二参考版本;将所述一个或多个第二参考版本中的最高版本确定为所述应用程序的第二版本。
103.在一个示例性的实施例中,上述装置还包括:存储模块,用于通过指定数据库确定与所述指定函数库的第一版本号相对应的所述应用程序的第一版本和第二版本之前,在所述应用程序发布的过程中,确定所述应用程序的当前版本;确定所述当前版本的应用程序对应的所述指定函数库的依赖版本号;将所述依赖版本号与所述当前版本的对应关系存储至所述指定数据库。
104.本发明的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
105.可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
106.s1,响应于部署指令,从目标资源包的配置文件中获取指定函数库的第一版本号,其中,所述部署指令用于指示在应用程序中部署所述目标资源包,所述指定函数库用于支持所述目标资源包在所述应用程序中运行;
107.s2,根据所述指定函数库的第一版本号确定所述应用程序的版本集合,其中,所述目标资源允许部署在指定版本的应用程序上,所述指定版本为所述版本集合中的任意一个版本;
108.s3,将所述应用程序的版本集合显示在指定页面上。
109.在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:u盘、只读存储器(read-only memory,简称为rom)、随机存取存储器(random access memory,简称为ram)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
110.本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
111.本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
112.可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
113.s1,响应于部署指令,从目标资源包的配置文件中获取指定函数库的第一版本号,其中,所述部署指令用于指示在应用程序中部署所述目标资源包,所述指定函数库用于支持所述目标资源包在所述应用程序中运行;
114.s2,根据所述指定函数库的第一版本号确定所述应用程序的版本集合,其中,所述目标资源允许部署在指定版本的应用程序上,所述指定版本为所述版本集合中的任意一个版本;
115.s3,将所述应用程序的版本集合显示在指定页面上。
116.在一个示例性实施例中,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
117.本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
118.显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
119.以上所述仅是本技术的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本技术原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本技术的保护范围。

技术特征:
1.一种版本集合的显示方法,其特征在于,包括:响应于部署指令,从目标资源包的配置文件中获取指定函数库的第一版本号,其中,所述部署指令用于指示在应用程序中部署所述目标资源包,所述指定函数库用于支持所述目标资源包在所述应用程序中运行;根据所述指定函数库的第一版本号确定所述应用程序的版本集合,其中,所述目标资源允许部署在指定版本的应用程序上,所述指定版本为所述版本集合中的任意一个版本;将所述应用程序的版本集合显示在指定页面上。2.根据权利要求1所述的版本集合的显示方法,其特征在于,响应于部署指令之前,所述方法还包括:通过第一脚本检测目标对象是否执行了指定操作,其中,所述指定操作包括:所述目标对象上报目标代码至代码服务器,其中,所述目标代码为所述目标对象在依赖指定版本号的所述指定函数库的基础上使用指定工具包编写的代码;在通过第一脚本检测到所述目标对象执行了所述指定操作的情况下,指示第二脚本生成所述目标代码对应的资源包并将所述指定版本号写入所述资源包的配置文件中。3.根据权利要求2所述的版本集合的显示方法,其特征在于,指示第二脚本生成所述目标代码对应的资源包,包括:通过所述第一脚本将资源包生成命令发送至第二脚本,其中,所述资源包生成命令中携带有所述目标代码的存储地址以及资源包输出地址;指示所述第二脚本根据所述存储地址中的所述目标代码生成所述目标代码对应的资源包,其中,所述资源包输出地址为所述第二脚本输出所述目标资源包的地址。4.根据权利要求1所述的版本集合的显示方法,其特征在于,根据所述指定函数库的第一版本号确定所述应用程序的版本集合,包括:通过指定数据库确定与所述指定函数库的第一版本号相对应的所述应用程序的第一版本和第二版本;其中,所述指定数据库中具有所述指定函数库的不同版本号与所述应用程序的不同版本的对应关系;所述应用程序的版本集合包括所述应用程序的第一版本和第二版本之间的所有版本。5.根据权利要求4所述的版本集合的显示方法,其特征在于,通过指定数据库确定与所述指定函数库的第一版本号相对应的所述应用程序的第一版本,包括:通过所述指定数据库确定与所述指定函数库的第一版本号相对应的所述应用程序的一个或多个第一参考版本;将所述一个或多个第一参考版本中的最低版本确定为所述应用程序的第一版本。6.根据权利要求4所述的版本集合的显示方法,其特征在于,通过指定数据库确定与所述指定函数库的第一版本号相对应的所述应用程序的第二版本,包括:通过所述指定数据库确定所述指定函数库的第二版本号,其中,所述第二版本号为所述第一版本号所在的版本等级中最大的版本号;通过所述指定数据库确定与所述指定函数库的第二版本号相对应的所述应用程序的一个或多个第二参考版本;将所述一个或多个第二参考版本中的最高版本确定为所述应用程序的第二版本。
7.根据权利要求4所述的版本集合的显示方法,其特征在于,通过指定数据库确定与所述指定函数库的第一版本号相对应的所述应用程序的第一版本和第二版本之前,所述方法还包括:在所述应用程序发布的过程中,确定所述应用程序的当前版本;确定所述当前版本的应用程序对应的所述指定函数库的依赖版本号;将所述依赖版本号与所述当前版本的对应关系存储至所述指定数据库。8.一种版本集合的显示装置,其特征在于,包括:获取模块,用于响应于部署指令,从目标资源包的配置文件中获取指定函数库的第一版本号,其中,所述部署指令用于指示在应用程序中部署所述目标资源包,所述指定函数库用于支持所述目标资源包在所述应用程序中运行;确定模块,用于根据所述指定函数库的第一版本号确定所述应用程序的版本集合,其中,所述目标资源允许部署在指定版本的应用程序上,所述指定版本为所述版本集合中的任意一个版本;显示模块,用于将所述应用程序的版本集合显示在指定页面上。9.一种计算机可读的存储介质,其特征在于,所述计算机可读的存储介质包括存储的程序,其中,所述程序运行时执行权利要求1至7中任一项所述的方法。10.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行权利要求1至7中任一项所述的方法。

技术总结
本申请公开了一种版本集合的显示方法及装置、存储介质及电子装置,涉及智慧家庭技术领域,该版本集合的显示方法包括:响应于部署指令,从目标资源包的配置文件中获取指定函数库的第一版本号,其中,所述部署指令用于指示在应用程序中部署所述目标资源包,所述指定函数库用于支持所述目标资源包在所述应用程序中运行;根据所述指定函数库的第一版本号确定所述应用程序的版本集合,其中,所述目标资源允许部署在指定版本的应用程序上,所述指定版本为所述版本集合中的任意一个版本;将所述应用程序的版本集合显示在指定页面上。采用上述技术方案,解决了无法确定资源包允许部署在何种版本的应用程序上的问题。种版本的应用程序上的问题。种版本的应用程序上的问题。


技术研发人员:袁伟 刘刚
受保护的技术使用者:海尔优家智能科技(北京)有限公司 海尔智家股份有限公司
技术研发日:2023.03.29
技术公布日:2023/8/24
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐