发明内容
有鉴于此,本说明书一个或多个实施例提供了一种小程序文件包的生成方法、装置及设备,用于生成数据量更少的小程序文件包。
为解决上述技术问题,本说明书实施例是这样实现的:
本说明书实施例提供的一种小程序文件包的生成方法,包括:
获取待生成的小程序中与宿主应用相关的页面资源文件的预设存储路径信息;
根据所述预设存储路径信息,生成所述小程序的程序文件,以便于所述程序文件运行时根据所述预设存储路径信息,展示所述页面资源文件对应的页面信息;
获取与指定宿主应用对应的页面资源文件集合,所述页面资源文件集合中包含所述小程序中与所述指定宿主应用相关的页面资源文件;
根据所述程序文件及所述页面资源文件集合,生成所述指定宿主应用处的小程序文件包。
本说明书实施例提供的一种小程序文件包的生成方法,包括:
获取用户指令,所述用户指令用于指示生成指定宿主应用处的小程序的文件包;
响应于所述用户指令,获取所述小程序的程序文件,所述程序文件是根据所述小程序中与宿主应用相关的页面资源文件的预设存储路径信息而生成的,以便于所述程序文件运行时根据所述预设存储路径信息,展示所述页面资源文件对应的页面信息;
从所述小程序的页面资源文件集合中,确定出与所述指定宿主应用对应的页面资源文件子集合,所述页面资源文件子集合中包含所述小程序中与所述指定宿主应用相关的页面资源文件;
根据所述程序文件及所述页面资源文件子集合,生成所述指定宿主应用处的所述小程序的文件包。
本说明书实施例提供的一种小程序的启动方法,包括:
获取用户针对指定宿主应用中的小程序的启动指令;
响应于所述启动指令,获取与所述指定宿主应用对应的所述小程序的文件包,所述文件包中包含所述小程序的程序文件及与所述指定宿主应用对应的页面资源文件集合;所述小程序的程序文件是根据所述小程序中与宿主应用相关的页面资源文件的预设存储路径信息而生成的,以便于所述程序文件运行时,根据所述预设存储路径信息,去展示所述页面资源文件对应的页面信息;所述页面资源文件集合中包含所述小程序中与所述指定宿主应用相关的页面资源文件;
根据所述文件包,在所述指定宿主应用中启动所述小程序。
本说明书实施例提供的一种小程序文件包的生成装置,包括:
第一获取模块,用于获取待生成的小程序中与宿主应用相关的页面资源文件的预设存储路径信息;
程序文件生成模块,用于根据所述预设存储路径信息,生成所述小程序的程序文件,以便于所述程序文件运行时根据所述预设存储路径信息,展示所述页面资源文件对应的页面信息;
第二获取模块,用于获取与指定宿主应用对应的页面资源文件集合,所述页面资源文件集合中包含所述小程序中与所述指定宿主应用相关的页面资源文件;
文件包生成模块,用于根据所述程序文件及所述页面资源文件集合,生成所述指定宿主应用处的小程序文件包。
本说明书实施例提供的一种小程序文件包的生成装置,包括:
第一获取模块,用于获取用户指令,所述用户指令用于指示生成指定宿主应用处的小程序的文件包;
第二获取模块,用于响应于所述用户指令,获取所述小程序的程序文件,所述程序文件是根据所述小程序中与宿主应用相关的页面资源文件的预设存储路径信息而生成的,以便于所述程序文件运行时根据所述预设存储路径信息,展示所述页面资源文件对应的页面信息;
确定模块,用于从所述小程序的页面资源文件集合中,确定出与所述指定宿主应用对应的页面资源文件子集合,所述页面资源文件子集合中包含所述小程序中与所述指定宿主应用相关的页面资源文件;
文件包生成模块,用于根据所述程序文件及所述页面资源文件子集合,生成所述指定宿主应用处的所述小程序的文件包。
本说明书实施例提供的一种小程序的启动装置,包括:
第一获取模块,用于获取用户针对指定宿主应用中的小程序的启动指令;
第二获取模块,用于响应于所述启动指令,获取与所述指定宿主应用对应的所述小程序的文件包,所述文件包中包含所述小程序的程序文件及与所述指定宿主应用对应的页面资源文件集合;所述小程序的程序文件是根据所述小程序中与宿主应用相关的页面资源文件的预设存储路径信息而生成的,以便于所述程序文件运行时,根据所述预设存储路径信息,去展示所述页面资源文件对应的页面信息;所述页面资源文件集合中包含所述小程序中与所述指定宿主应用相关的页面资源文件;
启动模块,用于根据所述文件包,在所述指定宿主应用中启动所述小程序。
本说明书实施例提供的一种小程序文件包的生成设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
获取待生成的小程序中与宿主应用相关的页面资源文件的预设存储路径信息;
根据所述预设存储路径信息,生成所述小程序的程序文件,以便于所述程序文件运行时根据所述预设存储路径信息,展示所述页面资源文件对应的页面信息;
获取与指定宿主应用对应的页面资源文件集合,所述页面资源文件集合中包含所述小程序中与所述指定宿主应用相关的页面资源文件;
根据所述程序文件及所述页面资源文件集合,生成所述指定宿主应用处的小程序文件包。
本说明书实施例提供的一种小程序文件包的生成设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
获取用户指令,所述用户指令用于指示生成指定宿主应用处的小程序的文件包;
响应于所述用户指令,获取所述小程序的程序文件,所述程序文件是根据所述小程序中与宿主应用相关的页面资源文件的预设存储路径信息而生成的,以便于所述程序文件运行时根据所述预设存储路径信息,展示所述页面资源文件对应的页面信息;
从所述小程序的页面资源文件集合中,确定出与所述指定宿主应用对应的页面资源文件子集合,所述页面资源文件子集合中包含所述小程序中与所述指定宿主应用相关的页面资源文件;
根据所述程序文件及所述页面资源文件子集合,生成所述指定宿主应用处的所述小程序的文件包。
本说明书实施例提供的一种小程序的启动设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
获取用户针对指定宿主应用中的小程序的启动指令;
响应于所述启动指令,获取与所述指定宿主应用对应的所述小程序的文件包,所述文件包中包含所述小程序的程序文件及与所述指定宿主应用对应的页面资源文件集合;所述小程序的程序文件是根据所述小程序中与宿主应用相关的页面资源文件的预设存储路径信息而生成的,以便于所述程序文件运行时,根据所述预设存储路径信息,去展示所述页面资源文件对应的页面信息;所述页面资源文件集合中包含所述小程序中与所述指定宿主应用相关的页面资源文件;
根据所述文件包,在所述指定宿主应用中启动所述小程序。
本说明书一个实施例实现了能够达到以下有益效果:
通过令小程序的程序文件运行时,可以根据预设存储路径信息,去展示小程序中与宿主应用相关的页面资源文件所对应的页面信息,从而可以根据小程序的程序文件,以及从小程序的页面资源文件集合中确定出的与指定宿主应用对应的页面资源文件子集合,生成指定宿主应用处的小程序文件包。由于该指定宿主应用处的小程序文件包中无需包含小程序的其他宿主应用处的页面资源文件,从而可以减少生成的小程序文件包的数据量,进而有利于减少小程序文件包占用的存储空间及下载过程中耗费的数据流量。
具体实施方式
为使本说明书一个或多个实施例的目的、技术方案和优点更加清楚,下面将结合本说明书具体实施例及相应的附图对本说明书一个或多个实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本说明书的一部分实施例,而不是全部的实施例。基于本说明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本说明书一个或多个实施例保护的范围。
以下结合附图,详细说明本说明书各实施例提供的技术方案。
现有技术中,小程序文件包中通常会包含多个预设宿主应用处的页面资源文件,该页面资源文件中包含小程序中的与宿主应用相关的页面信息。该小程序文件包中的程序文件中通常会以硬编码的方式写入多个预设宿主应用的标识,从而在小程序的程序文件运行时,可以先从多个预设宿主应用的标识中,确定出当前宿主应用的标识;进而可以从小程序文件包中包含的多个预设宿主应用处的页面资源文件中,筛选出当前宿主应用处的页面资源文件,以展示小程序中与该当前宿主应用相关的页面信息。
由于小程序文件包中包含了多个预设宿主应用处的页面资源文件,使得小程序文件包占用的存储空间及下载过程中耗费的流量均较大。同时,由于目前会将多个预设宿主应用的标识以硬编码的方式写入小程序的程序文件中,当后续有新增宿主应用时,需对该小程序的程序文件进行修改,才能令小程序的程序文件适配于该新增宿主应用,可见,现有的小程序文件包的生成方法适用性较差,且维护不便。
为了解决现有技术中的缺陷,本方案给出了以下实施例:
图1为本说明书实施例提供的一种小程序文件包的生成方法的流程示意图。从程序角度而言,流程的执行主体可以为小程序开发者的设备或搭载于小程序开发者的设备中的程序。
如图1所示,该流程可以包括以下步骤:
步骤102:获取待生成的小程序中与宿主应用相关的页面资源文件的预设存储路径信息。
在本说明书实施例中,小程序开发者通常需要预先设计各个小程序页面中所需包含的页面信息,从而可以确定出小程序页面中的与宿主应用相关的页面信息。其中,与宿主应用相关的页面信息可以包括随着小程序所在宿主应用的变化而变化的小程序页面信息。而小程序中与宿主应用相关的页面资源文件则可以用于存储这类与宿主应用相关的页面信息。
在实际应用中,所述与宿主应用相关的页面信息既可以为图像形式的信息,也可以为文本形式的信息,或者,也可以为音频形式的信息等,对此不再具体限定。所述与宿主应用相关的页面信息具体可以包括:宿主应用图标信息、所述小程序中与宿主应用相关的文案信息以及所述小程序中与宿主应用相关的用户协议信息中的至少一种。
例如,当小程序为购物软件时,所述小程序中与宿主应用相关的文案信息可以为:用户在当前宿主应用中启动的小程序处进行购物时,可以享受的与该当前宿主应用对应的优惠信息。在实际应用中,不同宿主应用对应的优惠信息可以是不同的。或者,所述小程序中与宿主应用相关的文案信息也可以为:该宿主应用的广告语等。所述小程序中与宿主应用相关的用户协议信息可以包括:用户在宿主应用中启动小程序时,所需签订的网络服务协议、隐私协议等。
在本说明书实施例中,小程序开发者可以预先指定与宿主应用相关的页面资源文件的预设存储路径,与便于基于该预设存储路径去生成小程序的程序文件及页面资源文件集合。
其中,所述页面资源文件的预设存储路径信息,可以指用户在磁盘上寻找该页面资源文件时所历经的文件和/或文件夹线路。例如,当预设存储路径信息为“A-B-C”时,可以表示该页面资源文件存储在文件夹A中的子文件夹B内的文件夹C中;或者,也可以表示该页面资源文件为存储在文件夹A中的子文件夹B内文件名称为C的文件。对此不做具体限定。
步骤104:根据所述预设存储路径信息,生成所述小程序的程序文件,以便于所述程序文件运行时根据所述预设存储路径信息,展示所述页面资源文件对应的页面信息。
在本说明书实施例中,小程序的程序文件既可以是小程序的源程序,也可以是小程序的可执行程序(executable program,EXE File)。所述小程序的程序文件运行时,可以通过该小程序的程序代码去调用该预设存储路径信息所指示的页面资源文件,以生成包含该页面资源文件对应的页面信息(即小程序中与宿主应用相关的页面信息)的小程序页面,并展示该小程序页面。
步骤106:获取与指定宿主应用对应的页面资源文件集合,所述页面资源文件集合中包含所述小程序中与所述指定宿主应用相关的页面资源文件。
在本说明书实施例中,可以根据预设存储路径信息,去针对每个宿主应用,分别生成一个与该宿主应用相对应的页面资源文件集合。即不同宿主应用对应的页面资源文件集合可以是不同的。且在不同宿主应用的页面资源文件集合内,针对同一种页面资源文件的存储路径信息与该页面资源文件的预设存储路径信息应该是相同的。
在本说明书实施例中,与指定宿主应用对应的页面资源文件集合中只需包含小程序中与该指定宿主应用相关的页面资源文件即可,而无需包含小程序中与其他宿主应用相关的页面资源文件,使得该页面资源文件集合的体积较小,有利于节省存储空间。
步骤108:根据所述程序文件及所述页面资源文件集合,生成所述指定宿主应用处的小程序文件包。
在本说明书实施例中,用户可以基于指定宿主应用处的小程序文件包,在指定宿主应用中去启动、运行小程序。例如,当用户在指定宿主应用中去启动小程序时,指定宿主应用所在设备可以去下载该指定宿主应用处的小程序文件包,通过运行该指定宿主应用处的小程序文件包中的程序文件,以展示小程序文件包中的与该指定宿主应用相关的页面资源文件所对应的小程序页面信息。
应当理解,本说明书一个或多个实施例所述的方法其中部分步骤的顺序可以根据实际需要相互交换,或者其中的部分步骤也可以省略或删除。
图1中的方法,通过令小程序的程序文件运行时,可以根据预设存储路径信息,去展示小程序中与宿主应用相关的页面资源文件所对应的页面信息,从而可以根据该小程序的程序文件,以及根据预设存储路径信息生成的与指定宿主应用对应的页面资源文件集合,去生成指定宿主应用处的小程序文件包。由于该指定宿主应用处的小程序文件包中无需包括小程序的其他宿主应用处的页面资源文件,从而可以减少生成的小程序文件包的数据量,进而有利于减少小程序文件包占用的存储空间及下载过程中耗费的数据流量。
且由于可以利用一套小程序的程序文件,去生成多个宿主应用处的小程序文件包,可见,该小程序的程序文件具有通用性。当新增宿主应用时,只需根据预设存储路径信息,去生成与该新增宿主应用对应的页面资源文件集合,即可基于小程序的程序文件及与该新增宿主应用对应的页面资源文件集合,去生成该新增宿主应用处的小程序文件包,而无需修改小程序的的程序文件中的程序代码。可见,该小程序文件包的生成方法的适用性较好,且维护方便。
基于图1的方法,本说明书实施例还提供了该方法的一些具体实施方案,下面进行说明。
可选的,步骤108:根据所述程序文件及所述页面资源文件集合,生成所述指定宿主应用处的小程序文件包,具体可以包括:
发送所述程序文件及所述页面资源文件集合至SaaS平台,以便于所述SaaS平台响应于用户指令,去根据所述程序文件及所述页面资源文件集合,生成所述指定宿主应用处的小程序文件包。
在本说明书实施例中,SaaS平台(英文:Software-as-a-Service,软件即服务)是一种运营SaaS软件的平台,SaaS平台可以向企业提供搭建信息化系统所需要的网络基础设施、软件及硬件运作平台,而企业则可以通过互联网获得SaaS平台所提供的服务,从而为企业带来便利。
在本说明书实施例中,小程序开发者可以自行生成指定宿主应用处的小程序文件包,并将小程序文件包上传至小程序的服务器或者SaaS平台,以便于用户设备从小程序的服务器处或者SaaS平台处下载指定宿主应用处的小程序文件包。
或者,小程序开发者也可以将小程序的程序文件以及与指定宿主应用对应的页面资源文件集合发生至SaaS平台,以便于SaaS平台在对小程序的程序文件以及与指定宿主应用对应的页面资源文件集合进行安全性检测后,去生成安全性更高的指定宿主应用处的小程序文件包。对应的,用户则可以从SaaS平台处下载指定宿主应用处的小程序文件包。
在实际应用中,小程序文件包中通常需包含小程序的可执行代码(ExecutableCode),因此,当小程序开发者上传至SaaS平台的小程序的程序文件为源程序文件时,SaaS平台还可以对小程序的程序文件进行编译,以得到小程序的可执行代码,并基于该小程序的可执行代码去生成小程序文件包。
在本说明书实施例中,当小程序的宿主应用有多个时,可以将各个宿主应用的页面资源文件集合均发送至SaaS平台,以便于后续生成各个宿主应用处的小程序文件包。因此,所述发送所述页面资源文件集合至SaaS平台,具体可以包括:
发送包含与指定宿主应用对应的页面资源文件集合在内的多个页面资源文件集合至SaaS平台,所述多个页面资源文件集合中的每个页面资源文件集合对应的宿主应用均不同。
将所述与指定宿主应用对应的页面资源文件集合的标识设置为所述指定宿主应用的标识,以便于所述SaaS平台响应于用户指令,根据所述指定宿主应用的标识,去从所述多个页面资源文件集合中确定出所述与指定宿主应用对应的页面资源文件集合。
在本说明书实施例中,所述多个页面资源文件集合中的页面资源文件的存储路径信息与预设存储路径信息应保持一致,即多个页面资源文件集合中的同一种类的页面资源文件的存储路径与该种类的页面资源文件的预设存储路径可以是相同的。从而便于小程序的程序文件在各个宿主应用中运行时,去根据预设存储路径信息,展示小程序中与当前宿主应用相关的页面信息。
在本说明书实施例中,可以根据各个宿主应用的标识信息,去设置各个页面资源文件集合的标识,以对小程序开发者上传的多个页面资源文件集合进行区分。例如,当页面资源文件集合为文件夹时,可以将指定宿主应用的标识设置为与指定宿主应用对应的页面资源文件夹的名称。从而令SaaS平台可以从多个页面资源文件集合中确定出与指定宿主应用对应的页面资源文件集合。
在本说明书实施例中,步骤106:获取与指定宿主应用对应的页面资源文件集合,具体可以包括:
获取所述小程序中与所述指定宿主应用相关的页面资源文件。
根据所述预设存储路径信息,对所述小程序中与所述指定宿主应用相关的页面资源文件进行存储,得到与所述指定宿主应用对应的页面资源文件夹。
在本说明书实施例中,小程序开发者可以先根据小程序中的与指定宿主应用相关的各个页面信息,生成对应的各个页面资源文件。例如,针对小程序中与指定宿主应用相关的一条文案信息,可以去生成一个包含该文案信息的页面资源文件;或者,可以将指定宿主应用的应用图标的图像作为一个页面资源文件等。
所述根据所述预设存储路径信息,对所述小程序中与所述指定宿主应用相关的页面资源文件进行存储,具体包括:
根据所述预设存储路径信息,设置所述目标页面资源文件的文件名称,所述文件名称为与所述目标页面资源文件对应的预设存储路径信息中的末端路径节点信息。
以及,根据所述预设存储路径信息,确定目标页面资源文件的存储位置;所述目标页面资源文件为所述小程序中与所述指定宿主应用相关的页面资源文件;将所述目标页面资源文件存储至所述存储位置处。
例如,假定针对指定宿主应用的应用图标的图像这一页面资源文件,与该页面资源文件对应的预设存储路径信息为“第一文件夹-第二文件夹-宿主应用图标”,则可以将该指定宿主应用的应用图标图像的文件名称设置为“宿主应用图标”,并在名称为“第一文件夹”的文件夹中建立名称为“第二文件夹”的文件夹,以将该指定宿主应用的应用图标图像存储至该名称为“第二文件夹”的文件夹中。
在本说明书实施例中,由于可以根据指定宿主应用的标识信息,去设置与指定宿主应用对应的页面资源文件集合的标识,因此,在根据预设存储路径信息,对小程序中与指定宿主应用相关的页面资源文件进行存储后,还可以将存储后得到的多个文件及文件夹共同移动至一个名称为指定宿主应用的标识的文件夹中,该名称为指定宿主应用的标识的文件夹即为与指定宿主应用相关的页面资源文件集合。可见,预设存储路径信息中并不包含名称为指定宿主应用的标识的文件夹这一路径节点,从而可以避免在小程序的程序文件中写入多个宿主应用的标识,以提升该小程序的程序文件的维护便利性。
在实际应用中,小程序的程序文件在运行时,可以通过调用接口去确定当前宿主应用的标识,并从小程序文件包中识别处具有当前宿主应用标识的文件夹,以根据预设存储路径信息,从该具有当前宿主应用标识的文件夹中调用与宿主应用相关的页面资源文件,进而展示小程序中与当前宿主应用对应的页面信息。
基于同样的思路,本说明书实施例中还提供了另一种小程序文件包的生成方法,图2为本说明书实施例提供的另一种小程序文件包的生成方法的流程示意图。从程序角度而言,流程的执行主体可以为SaaS平台。
如图2所示,该流程可以包括以下步骤:
步骤202:获取用户指令,所述用户指令用于指示生成指定宿主应用处的小程序的文件包。
在本说明书实施例中,指定宿主应用处的小程序的文件包中可以包括在该指定宿主应用处启动所述小程序所需的文件。用户可以在SaaS平台中输入该用户指令,以指示SaaS平台去生成该指定宿主应用处的小程序文件包。
在实际应用中,该用户指令所指示的指定宿主应用既可以为一个应用也可以为多个应用。例如,SaaS平台的平台界面上可以显示多个宿主应用的选择项,用户通过点击某个宿主应用的选择项以输入该用户指令,此时,该用户指令用于指示生成一个指定宿主应用处的小程序文件包。在实际应用中,用户还以在选中多个宿主应用的选择项后,点击确认按钮以输入用户指令,此时,该用户指令用于指示生成多个指定宿主应用处的多个小程序文件包。后续,以该用户指令用于指示生成一个指定宿主应用处的小程序文件包为例,进行说明。
步骤204:响应于所述用户指令,获取所述小程序的程序文件,所述程序文件是根据所述小程序中与宿主应用相关的页面资源文件的预设存储路径信息而生成的,以便于所述程序文件运行时根据所述预设存储路径信息,展示所述页面资源文件对应的页面信息。
在本说明书实施例中,所述小程序的程序文件可以是小程序开发者根据小程序中与宿主应用相关的页面资源文件的预设存储路径信息而生成的程序文件。步骤204中的小程序的程序文件与步骤104中生成的小程序的程序文件可以是相同的。
当该小程序的程序文件运行时,可以按照预设存储路径信息,去调用小程序中与宿主应用相关的页面资源文件,以生成包含该页面资源文件对应的页面信息(即小程序中与宿主应用相关的页面信息)的小程序页面。其中,小程序中与宿主应用相关的页面信息可以指随着小程序所在宿主应用的变化而变化的小程序页面信息。小程序中与宿主应用相关的页面信息可以包括:宿主应用图标信息、所述小程序中与宿主应用相关的文案信息以及所述小程序中与宿主应用相关的用户协议信息中的至少一种。
步骤206:从所述小程序的页面资源文件集合中,确定出与所述指定宿主应用对应的页面资源文件子集合,所述页面资源文件子集合中包含所述小程序中与所述指定宿主应用相关的页面资源文件。
在本说明书实施例中,SaaS平台处可以预存有小程序的页面资源文件集合,该页面资源文件集合中的每个页面资源文件子集合中均包含小程序中的与一个宿主应用相关的全部页面资源文件。即小程序的页面资源文件集合中的页面资源文件子集合与小程序的宿主应用一一对应。步骤206中确定出的与指定宿主应用对应的页面资源文件子集合,同步骤106中获取的与指定宿主应用对应的页面资源文件集合可以是相同的,对此不再赘述。
步骤208:根据所述程序文件及所述页面资源文件子集合,生成所述指定宿主应用处的所述小程序的文件包。
应当理解,本说明书一个或多个实施例所述的方法其中部分步骤的顺序可以根据实际需要相互交换,或者其中的部分步骤也可以省略或删除。
图2中的方法,通过根据小程序的程序文件及与指定宿主应用对应的页面资源文件子集合,去生成指定宿主应用处的小程序文件包。由于该指定宿主应用处的小程序文件包中无需包括小程序的其他宿主应用处的页面资源文件,从而可以减少生成的小程序文件包的数据量,进而有利于减少小程序文件包占用的存储空间及下载过程中耗费的数据流量。
且由于可以利用一套小程序的程序文件,去生成多个宿主应用处的小程序文件包,可见,该小程序的程序文件具有通用性。当新增宿主应用时,只需根据预设存储路径信息,去生成与该新增宿主应用对应的页面资源文件集合,即可基于该小程序的程序文件及与该新增宿主应用对应的页面资源文件集合,去生成该新增宿主应用处的小程序文件包,而无需修改小程序的程序文件中的程序代码。可见,该小程序文件包的生成方法的适用性较好。
在本说明书实施例中,SaaS平台处的小程序的程序代码及小程序的页面资源文件集合,可以是小程序开发者预先发送SaaS平台的。
因此,步骤204:获取所述小程序的程序文件之前,还可以包括:
接收小程序开发者发送的所述小程序的源程序文件及页面资源文件集合;对所述源程序文件进行编译,得到所述小程序的程序文件。可见,所述小程序的程序文件中可以包含小程序的可执行代码。
在本说明书实施例中,所述从所述小程序的页面资源文件集合中,确定出与所述指定宿主应用对应的页面资源文件子集合,具体可以包括:
根据所述用户指令,确定所述指定宿主应用的标识;从所述小程序的页面资源文件集合中,确定出携带有所述标识的页面资源文件夹,所述页面资源文件夹是根据所述预设存储路径信息,对所述小程序中与所述指定宿主应用相关的页面资源文件进行存储而得到的文件夹。
在本说明书实施例中,当需要生成指定宿主应用处的小程序文件包时,SaaS平台可以从小程序的页面资源文件集合中,自动识别出携带有该指定宿主应用标识的页面资源文件子集合,以作为与指定宿主应用对应的页面资源文件子集合,方便快捷。
在本说明书实施例中,步骤208:生成所述指定宿主应用处的所述小程序的文件包之后,还可以包括:响应于终端设备发送的针对所述指定宿主应用处的所述小程序的文件包的获取请求,发送生成的所述文件包至所述终端设备。
图3为本说明书实施例提供的一种小程序文件包的生成方法的应用场景示意图。如图3所示,小程序开发者可以通过设备301将小程序的程序文件及页面资源文件集合发送至SaaS平台302处。SaaS平台处的用户可以在SaaS平台302处输入指示生成指定宿主应用处的小程序文件包的指令,以生成指定宿主应用处的小程序文件包。当用户基于终端设备303中的指定宿主应用去启动小程序时,终端设备303则可以从SaaS平台302处下载小程序的文件包,从而可以基于下载的小程序文件包去启动小程序。
基于同样的思路,本说明书实施例中还提供了一种小程序的启动方法,图4为本说明书实施例提供的一种小程序的启动方法的流程示意图。从程序角度而言,流程的执行主体可以为用户的终端设备或者用户的终端设备中搭载的指定宿主应用的程序。
如图4所示,该流程可以包括以下步骤:
步骤402:获取用户针对指定宿主应用中的小程序的启动指令。
在本说明书实施例中,用户可以针对终端设备中搭载的指定宿主应用处的小程序图标进行点击,以输入该启动指令。
步骤404:响应于所述启动指令,获取与所述指定宿主应用对应的所述小程序的文件包,所述文件包中包含所述小程序的程序文件及与所述指定宿主应用对应的页面资源文件集合;所述小程序的程序文件是根据所述小程序中与宿主应用相关的页面资源文件的预设存储路径信息而生成的,以便于所述程序文件运行时,根据所述预设存储路径信息,去展示所述页面资源文件对应的页面信息;所述页面资源文件集合中包含所述小程序中与所述指定宿主应用相关的页面资源文件。
在本说明书实施例中,响应于所述启动指令,当确定用户终端设备中未存储有小程序的文件包时,则从小程序的服务器或者从SaaS平台处下载与指定宿主应用对应的小程序的文件包。该与指定宿主应用对应的文件包可以采用图1或图2中的小程序文件包的生成方法而生成的,对于该小程序的文件包的生成过程,不再赘述。
在本说明书实施例中,与指定宿主应用对应的页面资源文件集合可以是根据所述预设存储路径信息,对所述小程序中与所述指定宿主应用相关的页面资源文件进行存储而得到的文件夹,该文件夹的名称可以为指定宿主应用的标识信息。从而在指定宿主应用中启动小程序时,可以使小程序的程序文件在运行过程中,先确定当前宿主应用(即指定宿主应用)的标识,并确定小程序文件包中的具有该指定宿主应用的标识的文件夹为存储有与指定宿主应用对应的页面资源文件的文件夹。进而可以根据预设存储路径信息,从该存储有与指定宿主应用对应的页面资源文件的文件夹中去调用所需的页面资源文件,以展示包含有小程序中与该指定宿主应用相关的页面信息的小程序页面。
步骤406:根据所述文件包,在所述指定宿主应用中启动所述小程序。
应当理解,本说明书一个或多个实施例所述的方法其中部分步骤的顺序可以根据实际需要相互交换,或者其中的部分步骤也可以省略或删除。
图4中的方法,由于用户终端设备下载的指定宿主应用处的小程序文件包中包含与该指定宿主应用对应的页面资源文件,而无需包含小程序的其他宿主应用处的页面资源文件,从而可以减少该小程序文件包的数据量,进而有利于减少小程序文件包占用的存储空间及下载过程中耗费的数据流量。
基于同样的思路,本说明书实施例还提供了上述方法对应的装置。图5为本说明书实施例提供的对应于图1的一种小程序文件包的生成装置的结构示意图。如图5所示,该装置可以包括:
第一获取模块502,用于获取待生成的小程序中与宿主应用相关的页面资源文件的预设存储路径信息。
程序文件生成模块504,用于根据所述预设存储路径信息,生成所述小程序的程序文件,以便于所述程序文件运行时根据所述预设存储路径信息,展示所述页面资源文件对应的页面信息。
第二获取模块506,用于获取与指定宿主应用对应的页面资源文件集合,所述页面资源文件集合中包含所述小程序中与所述指定宿主应用相关的页面资源文件。
文件包生成模块508,用于根据所述程序文件及所述页面资源文件集合,生成所述指定宿主应用处的小程序文件包。
基于图5的装置,本说明书实施例还提供了该方法的一些具体实施方案,下面进行说明。
可选的,所述第二获取模块506,具体可以用于:
获取所述小程序中与所述指定宿主应用相关的页面资源文件;根据所述预设存储路径信息,对所述小程序中与所述指定宿主应用相关的页面资源文件进行存储,得到与所述指定宿主应用对应的页面资源文件夹。
其中,所述根据所述预设存储路径信息,对所述小程序中与所述指定宿主应用相关的页面资源文件进行存储,具体可以包括:
根据所述预设存储路径信息,确定目标页面资源文件的存储位置;所述目标页面资源文件为所述小程序中与所述指定宿主应用相关的页面资源文件;将所述目标页面资源文件存储至所述存储位置处。以及,根据所述预设存储路径信息,设置所述目标页面资源文件的文件名称,所述文件名称为与所述目标页面资源文件对应的预设存储路径信息中的末端路径节点信息。
所述,文件包生成模块508具体可以用于:发送所述程序文件及所述页面资源文件集合至SaaS平台,以便于所述SaaS平台响应于用户指令,去根据所述程序文件及所述页面资源文件集合,生成指定宿主应用处的小程序文件包。
其中,所述发送所述页面资源文件集合至SaaS平台,具体可以包括:
发送包含所述与指定宿主应用对应的页面资源文件集合在内的多个页面资源文件集合至SaaS平台,所述多个页面资源文件集合中的每个页面资源文件集合对应的宿主应用均不同;将所述与指定宿主应用对应的页面资源文件集合的标识设置为所述指定宿主应用的标识,以便于所述SaaS平台响应于用户指令,根据所述指定宿主应用的标识,去从所述多个页面资源文件集合中确定出所述与指定宿主应用对应的页面资源文件集合。
基于同样的思路,本说明书实施例还提供了上述方法对应的装置。图6为本说明书实施例提供的对应于图2的一种小程序文件包的生成装置的结构示意图。如图6所示,该装置可以包括:
第一获取模块602,用于获取用户指令,所述用户指令用于指示生成指定宿主应用处的小程序的文件包。
第二获取模块604,用于响应于所述用户指令,获取所述小程序的程序文件,所述程序文件是根据所述小程序中与宿主应用相关的页面资源文件的预设存储路径信息而生成的,以便于所述程序文件运行时根据所述预设存储路径信息,展示所述页面资源文件对应的页面信息。
确定模块606,用于从所述小程序的页面资源文件集合中,确定出与所述指定宿主应用对应的页面资源文件子集合,所述页面资源文件子集合中包含所述小程序中与所述指定宿主应用相关的页面资源文件。
文件包生成模块608,用于根据所述程序文件及所述页面资源文件子集合,生成所述指定宿主应用处的所述小程序的文件包。
可选的,所述确定模块606,具体可以用于:根据所述用户指令,确定所述指定宿主应用的标识;从所述小程序的页面资源文件集合中,确定出携带有所述标识的页面资源文件夹,所述页面资源文件夹是根据所述预设存储路径信息,对所述小程序中与所述指定宿主应用相关的页面资源文件进行存储而得到的文件夹。
可选的,图6中的装置还可以包括:接收模块,用于接收小程序开发者发送的所述小程序的源程序文件。编译模块,用于对所述源程序文件进行编译,得到所述小程序的程序文件。
可选的,图6中的装置还可以包括:发送模块,用于响应于终端设备发送的针对所述指定宿主应用处的所述小程序的文件包的获取请求,发送生成的所述文件包至所述终端设备。
基于同样的思路,本说明书实施例还提供了上述方法对应的装置。图7为本说明书实施例提供的对应于图3的一种小程序的启动装置的结构示意图。如图7所示,该装置可以包括:
获取模块702,用于获取用户针对指定宿主应用中的小程序的启动指令。
获取模块704,用于响应于所述启动指令,获取与所述指定宿主应用对应的所述小程序的文件包,所述文件包中包含所述小程序的程序文件及与所述指定宿主应用对应的页面资源文件集合;所述小程序的程序文件是根据所述小程序中与宿主应用相关的页面资源文件的预设存储路径信息而生成的,以便于所述程序文件运行时,根据所述预设存储路径信息,去展示所述页面资源文件对应的页面信息;所述页面资源文件集合中包含所述小程序中与所述指定宿主应用相关的页面资源文件;其中,所述页面资源文件集合是根据所述预设存储路径信息,对所述小程序中与所述指定宿主应用相关的页面资源文件进行存储而得到的文件夹。
启动模块706,用于根据所述文件包,在所述指定宿主应用中启动所述小程序。
基于同样的思路,本说明书实施例还提供了图1中方法对应的一种小程序文件包的生成设备,该设备可以包括:
至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
获取待生成的小程序中与宿主应用相关的页面资源文件的预设存储路径信息。
根据所述预设存储路径信息,生成所述小程序的程序文件,以便于所述程序文件运行时根据所述预设存储路径信息,展示所述页面资源文件对应的页面信息。
获取与指定宿主应用对应的页面资源文件集合,所述页面资源文件集合中包含所述小程序中与所述指定宿主应用相关的页面资源文件。
根据所述程序文件及所述页面资源文件集合,生成所述指定宿主应用处的小程序文件包。
基于同样的思路,本说明书实施例还提供了图2中方法对应的一种小程序文件包的生成设备,该设备可以包括:
至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
获取用户指令,所述用户指令用于指示生成指定宿主应用处的小程序的文件包。
响应于所述用户指令,获取所述小程序的程序文件,所述程序文件是根据所述小程序中与宿主应用相关的页面资源文件的预设存储路径信息而生成的,以便于所述程序文件运行时根据所述预设存储路径信息,展示所述页面资源文件对应的页面信息。
从所述小程序的页面资源文件集合中,确定出与所述指定宿主应用对应的页面资源文件子集合,所述页面资源文件子集合中包含所述小程序中与所述指定宿主应用相关的页面资源文件。
根据所述程序文件及所述页面资源文件子集合,生成所述指定宿主应用处的所述小程序的文件包。
基于同样的思路,本说明书实施例还提供了图3中方法对应的一种小程序启动设备,该设备可以包括:
至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
获取用户针对指定宿主应用中的小程序的启动指令。
响应于所述启动指令,获取与所述指定宿主应用对应的所述小程序的文件包,所述文件包中包含所述小程序的程序文件及与所述指定宿主应用对应的页面资源文件集合;所述小程序的程序文件是根据所述小程序中与宿主应用相关的页面资源文件的预设存储路径信息而生成的,以便于所述程序文件运行时,根据所述预设存储路径信息,去展示所述页面资源文件对应的页面信息;所述页面资源文件集合中包含所述小程序中与所述指定宿主应用相关的页面资源文件。
根据所述文件包,在所述指定宿主应用中启动所述小程序。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书一个或多个实施例时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本说明书一个或多个实施例可提供为方法、系统、或计算机程序产品。因此,本说明书一个或多个实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书一个或多个实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书一个或多个实施例是参照根据本说明书一个或多个实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带式磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本说明书一个或多个实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书一个或多个实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本说明书的实施例而已,并不用于限制本说明书一个或多个实施例。对于本领域技术人员来说,本说明书一个或多个实施例可以有各种更改和变化。凡在本说明书一个或多个实施例的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例的权利要求范围之内。