CN113934465A - 子应用启动方法、装置、计算机设备和存储介质 - Google Patents

子应用启动方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN113934465A
CN113934465A CN202010597799.2A CN202010597799A CN113934465A CN 113934465 A CN113934465 A CN 113934465A CN 202010597799 A CN202010597799 A CN 202010597799A CN 113934465 A CN113934465 A CN 113934465A
Authority
CN
China
Prior art keywords
application
custom
sub
page
starting
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202010597799.2A
Other languages
English (en)
Inventor
蔡凌波
叶轩
陈辉
桂旭宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202010597799.2A priority Critical patent/CN113934465A/zh
Publication of CN113934465A publication Critical patent/CN113934465A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44568Immediately runnable code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请涉及一种子应用的启动方法、装置、计算机设备和存储介质。所述方法包括:当通过母应用触发子应用的启动操作时,获取子应用的自定义配置信息,并下载子应用的代码包;基于自定义配置信息,生成子应用的自定义启动页;在母应用启动子应用的过程中,展示自定义启动页;当代码包下载完毕,并基于代码包在所述母应用上运行子应用后,隐藏自定义启动页。采用本方案能够提升资源利用率。

Description

子应用启动方法、装置、计算机设备和存储介质
技术领域
本申请涉及计算机技术领域,特别是涉及一种子应用启动方法、装置、计算机设备和存储介质。
背景技术
随着计算机技术的发展,出现了越来越多的应用程序。应用程序包括独立在操作系统上运行的原生应用,还包括网页应用等。随着技术的发展和用户需求的提高,出现了子应用,或称为小程序。子应用是能够在母应用提供的运行环境中运行的应用,母应用则是运行于操作系统上并为子应用提供运行环境的原生应用。
目前子应用在启动至首屏页面之间会有一段加载时间,在这段加载时间内,用户只能进行等待,造成资源的浪费,即资源利用率低。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提升资源利用率的子应用的启动方法、装置、计算机设备和存储介质。
一种子应用的启动方法,所述方法包括:
当通过母应用触发子应用的启动操作时,获取所述子应用的自定义配置信息,并下载所述子应用的代码包;
基于所述自定义配置信息,生成所述子应用的自定义启动页;
在所述母应用启动所述子应用的过程中,展示所述自定义启动页;
当所述代码包下载完毕,并基于所述代码包在所述母应用上运行所述子应用后,隐藏所述自定义启动页。
一种子应用的启动装置,所述装置包括:
自定义启动页生成模块,用于当通过母应用触发子应用的启动操作时,获取所述子应用的自定义配置信息,并下载所述子应用的代码包;基于所述自定义配置信息,生成所述子应用的自定义启动页;
展示模块,用于在所述母应用启动所述子应用的过程中,展示所述自定义启动页;
隐藏模块,用于当所述代码包下载完毕,并基于所述代码包在所述母应用上运行所述子应用后,隐藏所述自定义启动页。
在一个实施例中,自定义启动页生成模块还用于根据触发子应用的启动操作,向母应用对应的子应用公共服务平台发送针对子应用的自定义配置信息获取请求;从子应用公共服务平台,接收响应于自定义配置信息获取请求所反馈的与子应用相关联的自定义配置信息。
在一个实施例中,自定义启动页生成模块还包括封面图片获取模块,用于基于封面图片下载地址下载封面图片。
在一个实施例中,封面图片获取模块还用于从母应用对应的子应用公共服务平台,获取子应用的自定义配置信息;基于封面图片下载地址,从内容分发网络下载封面图片。
在一个实施例中,子应用的启动装置还包括存储模块,用于获取子应用的代码编译文件;解析代码编译文件,得到代码包、启动页自定义配置内容和封面图片;将代码包和启动页自定义配置内容存储至子应用公共服务平台;将封面图片存储至内容分发网络,并将封面图片在内容分发网络的封面图片下载地址存储至子应用公共服务平台。
在一个实施例中,存储模块还用于将启动页自定义配置内容和封面图片下载地址存储于子应用公共服务平台的配置存储空间;将代码包存储于子应用公共服务平台的代码包存储空间。
在一个实施例中,自定义启动页生成模块还用于当本地不存在子应用的封面图片时,执行基于封面图片下载地址下载封面图片的步骤;当本地存在子应用的封面图片时,直接根据本地的封面图片和启动页自定义配置内容,生成子应用的自定义启动页。
在一个实施例中,自定义启动页生成模块还包括调整模块,用于获取启动页模板;将封面图片添加到启动页模板中,并按照启动页自定义配置内容调整启动页模板中的内容,得到子应用的自定义启动页。
在一个实施例中,调整模块还用于当启动页自定义配置内容包括进度条配置项时,根据进度条配置项,调整位于启动页模板中的进度条的展示样式;当启动页自定义配置内容包括文字配置项时,根据文字配置项,调整启动页模板中的文字内容和文字展示样式;当启动页自定义配置内容包括封面图片缩放配置项时,根据图片缩放配置项调整封面图片的显示缩放比例。
在一个实施例中,隐藏模块还包括接口调用模块,用于当基于启动页隐藏配置项确定自定义启动页的隐藏方式为自定义隐藏方式时,监听对应于自定义隐藏方式配置的指定事件;当监听到指定事件发生时,隐藏自定义启动页。
在一个实施例中,接口调用模块还用于当监听到指定事件发生时,调用母应用或者母应用对应的子应用公共服务平台提供的启动页隐藏接口,以隐藏自定义启动页。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
当通过母应用触发子应用的启动操作时,获取所述子应用的自定义配置信息,并下载所述子应用的代码包;
基于所述自定义配置信息,生成所述子应用的自定义启动页;
在所述母应用启动所述子应用的过程中,展示所述自定义启动页;
当所述代码包下载完毕,并基于所述代码包在所述母应用上运行所述子应用后,隐藏所述自定义启动页。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
当通过母应用触发子应用的启动操作时,获取所述子应用的自定义配置信息,并下载所述子应用的代码包;
基于所述自定义配置信息,生成所述子应用的自定义启动页;
在所述母应用启动所述子应用的过程中,展示所述自定义启动页;
当所述代码包下载完毕,并基于所述代码包在所述母应用上运行所述子应用后,隐藏所述自定义启动页。
上述子应用启动方法、装置、计算机设备和存储介质,上述子应用的启动方法中,当通过母应用触发子应用的启动操作时,通过并行下载子应用的自定义配置信息和代码包,可以充分利用如网络宽带的网络资源;基于自定义配置信息,生成自定义启动页并展示,使得不同子应用的启动页可以不相同,如此,不仅实现了启动页的个性化设置,而且提高了应用的质量;当代码包下载完毕,并基于代码包在母应用上运行子应用后,再隐藏自定义启动页,可以降低自定义启动页被隐藏,但子应用还未加载完毕,导致画面黑屏的概率。由于本申请在子应用启动的过程中展示了自定义启动页,使得用户在加载时间内不仅仅只能进行等待,还可以基于自定义启动页获取更多的子应用信息,从而增强了人机之间的互动,提升了资源利用率。
附图说明
图1为一个实施例中子应用的启动方法的应用环境图;
图2为一个实施例中子应用的启动方法的流程示意图;
图3为一个实施例中自定义启动页的示意图;
图4A为一个实施例中基于启动页自定义配置内容生成自定义启动页的页面示意图;
图4B为一个实施例中基于封面图片生成自定义启动页的页面示意图;
图5为一个实施例中代码编译文件的存储示意图;
图6为一个实施例中默认启动页的示意图;
图7为一个实施例中启动子应用的具体流程示意图;
图8为一个具体实施例中子应用的启动方法的流程示意图;
图9为另一个具体实施例中子应用的启动方法的流程示意图;
图10为一个实施例中子应用的启动装置的结构框图;
图11为另一个实施例中子应用的启动装置的结构框图;
图12为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的子应用的启动方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。终端102中运行有母应用的客户端,用于触发子应用的启动操作。服务器104中运行有母应用对应的子应用公共服务平台,用于在触发子应用的启动操作时,向母应用的客户端返回子应用的自定义配置信息,以使母应用的客户端基于自定义配置信息生成自定义启动页。终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种子应用的启动方法,以该方法应用于图1中的终端102为例进行说明,包括以下步骤:
S202,当通过母应用触发子应用的启动操作时,获取子应用的自定义配置信息,并下载子应用的代码包。
其中,子应用是能够在母应用提供的运行环境中运行的应用,母应用则是运行于操作系统上并为子应用提供运行环境的原生应用。母应用为子应用的运行提供环境,创建用于实现子应用的逻辑层处理单元和视图层处理单元。视图层处理单元用于处理子应用程序的视图;逻辑层处理单元用于处理子应用的交互逻辑。处理单元具体可以是进程或者线程,如逻辑层线程和相应的视图层线程。逻辑层处理单元可运行于虚拟机中,如JavaScript虚拟机等。
启动操作是指用户通过母应用启动子应用的操作,比如,子应用的启动操作可以为:用户对母应用中显示的子应用的图标的点击操作,或者用户在母应用中对子应用的链接的点击操作等。
自定义配置信息是指用于对自定义启动页中的展示元素进行配置的信息,自定义配置信息可以包括一种或多种配置项,不同配置项可以针对不同的展示元素进行配置。自定义启动页是指开发人员自定义的从触发子应用的启动操作起,至真正展示子应的首屏页面为止,在客户端屏幕中展示的页面。自定义启动页可以包括一种或多种展示元素,基于不同的展示元素,可以向用户传达不同的子应用信息。展示元素是指组成自定义启动页内容的对象。自定义启动页内容是指需要展示的内容。组成自定义启动页的展示元素可以但不限于是进度条、封面图片、子应用名称、子应用版本号、子应用提示信息中的至少一种。比如,参考图3,假设子应用为“A棋牌游戏”,自定义启动页如图3所示,则该自定义启动页内容所包含的展示元素包括进度条302、封面图片304、子应用名称306、子应用提示信息308以及子应用版本号310。封面图片306是指自定义启动页中的背景图片。图3示出了一个实施例中自定义启动页的示意图。
具体地,当通过母应用触发子应用的启动操作时,母应用的客户端根据触发启动操作生成子应用下载请求,并基于子应用下载请求从母应用对应的子应用公共服务平台拉取子应用的自定义配置信息,以及子应用的代码包。其中,代码包是指能够与母应用提供的公共资源结合以实现子应用不同功能的代码合集。公共资源比如构建子应用的公共组件、实现公用功能的逻辑代码以及实现公用样式的样式代码等中的至少一种。
在一个实施例中,从母应用对应的子应用公共服务平台拉取子应用的自定义配置信息和代码包之前,该子应用的启动方法还包括:自定义配置信息以及代码包是母应用对应的子应用公共服务平台对下载请求进行身份验证,并且身份验证成功时发送的。
母应用对应的子应用公共服务平台接收到母应用的客户端发送的子应用下载请求后,对子应用下载请求进行身份验证,当验证成功时,将自定义配置信息以及代码包返回母应用的客户端;当验证不成功时,发送验证失败提示信息至母应用的客户端。在验证成功之后,再发送自定义配置信息以及代码包,可以提升子应用的安全性。
在一个实施例中,母应用的客户端可以通过检测用户点击屏幕中的子应用图标,确定触发子应用启动操作;或者通过识别用户的语音信息,确定触发子应用的启动操作;亦或者通过检测用户的手势,当手势与预设手势匹配,则确定触发子应用的启动操作,不限于此。
S204,基于自定义配置信息,生成子应用的自定义启动页。
其中,自定义配置信息具体包括自定义启动页的封面图片、封面图片下载地址和启动页自定义配置内容等至少一种。其中,启动页自定义配置内容包括至少一个配置项,如进度条配置项、文字配置项和封面图片缩放配置项等,基于不同的配置项可以对自定义启动页中的不同展示元素进行配置,比如基于进度条配置项可以对展示于自定义启动页中的进度条的颜色进行配置,基于文字配置项可以对展示于自定义启动页中的文字内容进行配置等,如对子应用提示信息进行配置。
具体地,当获取得到自定义配置信息时,母应用的客户端确定自定义配置信息所包含的具体配置内容,基于具体配置内容生成子应的自定义启动页。比如,参考图4A,假设子应用为“A棋牌游戏”,自定义配置信息中仅包含有启动页自定义配置内容时,母应用的客户端基于启动页自定义配置内容生成如图4A所示的自定义启动页;图4A为一个实施例中基于启动页自定义配置内容生成自定义启动页的页面示意图。参考图4B,假设子应用为“A棋牌游戏”,自定义配置信息仅包含有封面图片时,母应用的客户端基于封面图片生成如图4B所示的自定义启动页;图4B为一个实施例中基于封面图片生成自定义启动页的页面示意图。假设自定义配置信息中即包含有封面图片,又包含有启动页自定义配置内容时,母应用的客户端基于封面图片以及启动页自定义配置内容生成如图3所示的自定义启动页。
在一个实施例中,上述子应用的启动方法还包括:基于封面图片下载地址下载封面图片;基于自定义配置信息,生成子应用的自定义启动页,包括:当封面图片下载成功后,基于封面图片和启动页自定义配置内容,生成子应用的自定义启动页。
具体地,当自定义配置信息包含有封面图片下载地址以及启动页自定义配置内容时,母应用的客户端基于封面图片下载地址下载封面图片,并在封面图片下载成功后,调用预设的启动页生成接口生成如图3所示的自定义启动页。其中,启动页生成接口用于根据封面图片或启动页自定义配置内容生成自定义启动页。容易理解地,封面图片还可以为视频或者动画等。
在一个实施例中,当封面图片下载成功时,母应用的客户端统计所下载的封面图片的图片数量,以及确定封面图片的图片格式,基于图片数量以及图片格式生成自定义启动页。
根据展示样式的不同,自定义启动页具体可分为静态页、动态页和滚动页等。静态页是指以静态形式展示封面图片的启动页,当下载得到的封面图片的图片格式为jpg(Joint Photographic Experts Group)、png(Portable Network Graphics)等静态格式时,母应用的客户端基于封面图片以及自定义配置信息生成静态页;动态页是指以动态形式展示封面图片的启动页,当下载得到的封面图片的图片格式为gif(GraphicsInterchange Format)等动态格式时,母应用的客户端生成动态页;滚动页是指封面图片轮番滚动展示的启动页,在下载得到的封面图片的图片数量多于1时,母应用的客户端生成滚动页。通过生成多种样式的自定义启动页,极大丰富了自定义启动页的显示效果。
在一个实施例中,当启动子应用之前,子应用开发人员可以通过修改子应用的配置文件,对自定义配置信息进行配置。以微信小游戏为例进行说明,与“微信”相对应的微信公众平台可以为微信小游戏开发人员提供一个用以自定义启动页的配置文件“game.json”,从而微信小游戏开发人员只需修改“game.json”即可自定义启动页。比如配置文件可以为:
“loadingImageInfo”:{
“path”:“res/loading.jpeg”,
“progressBarColor”:“#9FD524”
}
其中,配置项包括配置名称以及配置参数。“path”表示封面图片的存储路径配置项的配置名称,“res/loading.jpeg”表示封面图片的存储路径配置项的配置参数,具体表示微信小游戏开发人员所配置的封面图片相对于微信小游戏代码根目录的存储路径,当需要自定义封面图片时,微信小游戏开发人员将封面图片上传至微信小游戏开发工具,并基于上传的封面图片相对于微信小游戏代码根目录的存储路径,对封面图片进行配置;“progressBarColor”表示进度条配置项的配置名称,“#9FD524”表示进度条配置项的配置参数,具体表示微信小游戏开发人员所配置的进度条的展示颜色。基于此配置文件,微信小游戏开发人员可以自定义封面图片以及启动页中进度条的展示颜色。
S206,在母应用启动子应用的过程中,展示自定义启动页。
具体地,在确定自定义启动页已生成时,母应用的客户端将自定义启动页展示于屏幕中。通过展示自定义启动页,使得用户在子应用的加载时间内,可以获取更多的子应用信息,比如,通过自定义启动页中的进度条,得知子应用的加载进度;通过自定义启动页中的封面图片,提前了解子应用的使用界面等;通过自定义启动页中的提示信息了解注意事项等。
在一个实施例中,当生成自定义启动页时,母应用的客户端判断当前屏幕中是否已展示有启动页,若已展示有启动页,母应用的客户端将自定义启动页替换已展示的启动页。
S208,当代码包下载完毕,并基于代码包在母应用上运行子应用后,隐藏自定义启动页。
具体地,当子应用的代码包下载完毕时,母应用的客户端基于下载得到的代码包执行加载操作,并在确认加载完毕,通过代码包在母应用上运行子应用后,隐藏自定义启动页。比如,当用户通过微信启动微信小游戏“A棋牌游戏”时,为了增加用户的等待耐心,在下载以及加载“A棋牌游戏”的代码包的过程中,微信基于自定义配置信息生成自定义启动页并展示,从而使用户在等待的过程中能够提前了解更多的与“A棋牌游戏”相关的信息。当确定“A棋牌游戏”加载完毕后,微信隐藏自定义启动页,转为展示“A棋牌游戏”的游戏首屏页面。
上述子应用的启动方法中,当通过母应用触发子应用的启动操作时,通过并行下载子应用的自定义配置信息和代码包,可以充分利用如网络宽带的网络资源;基于自定义配置信息,生成自定义启动页并展示,使得不同子应用的启动页可以不相同,如此,不仅实现了启动页的个性化设置,而且提高了应用的质量;当代码包下载完毕,并基于代码包在母应用上运行子应用后,再隐藏自定义启动页,可以降低自定义启动页被隐藏,但子应用还未加载完毕,导致画面黑屏的概率。由于本申请在子应用启动的过程中展示了自定义启动页,使得用户在加载时间内不仅仅只能进行等待,还可以基于自定义启动页获取更多的子应用信息,从而增强了人机之间的互动,提升了资源利用率。
在一个实施例中,获取子应用的自定义配置信息包括:根据触发子应用的启动操作,向母应用对应的子应用公共服务平台发送针对子应用的自定义配置信息获取请求;从子应用公共服务平台,接收响应于自定义配置信息获取请求所反馈的与子应用相关联的自定义配置信息。
具体地,当通过母应用触发子应用的启动操作时,母应用的客户端基于子应用的应用标识生成自定义配置信息获取请求,并根据子应用的应用标识或母应用的应用标识确定母应用对应的子应用公共服务平台。其中,子应用公共服务平台是指子应用的后台管理系统,用于管理子应用代码包以及与子应用相关联的自定义配置信息,如微信小程序公共服务平台;母应用公共服务平台是指母应用的后台管理系统,用于管理母应用代码包以及与母应用相关联的自定义配置信息,如微信公众平台。
可选地,开发人员可以为依赖于母应用运行的多个子应用分别部署对应的子应用公共服务平台,也可将多个子应用部署于同一子应用公共服务器平台中;当开发人员为依赖于母应用运行的多个子应用分别部署对应的子应用公共服务平台时,母应用的客户端基于子应用的应用标识以及母应用的应用标识确定母应用对应的子应用公共服务平台;当开发人员将多个子应用部署于同一子应用公共服务器平台时,母应用的客户端基于母应用的应用标识确定母应用对应的子应用公共服务平台。
进一步地,母应用的客户端向母应用对应的子应用公共服务平台发送针对子应用的自定义配置信息获取请求,以使子应用公共服务平台根据自定义配置信息获取请求中的子应用的应用标识查询对应的自定义配置信息,并将查询得到的自定义配置信息返回至母应用的客户端。
在另一个实施例中,当生成自定义配置信息获取请求时,母应用的客户端基于母应用的应用标识确定母应用公共服务平台,将自定义配置信息获取请求发送至母应用公共服务平台,由母应用公共服务平台转发自定义配置信息获取请求至子应用公共服务平台。比如,当用户基于微信启动子应用“A棋牌游戏”时,母应用的客户端基于微信的应用标识确定与微信相对应的母应用公共服务平台为微信公众平台,将自定义配置信息获取请求发送至微信公众平台,由微信公众平台根据“A棋牌游戏”的应用标识,转发自定义配置信息获取请求至“A棋牌游戏”的子应用公共服务平台。
在另一个实施例中,自定义配置信息获取请求中还可携带有自定义信息下载接口的接口地址,该接口地址用于指示子应用公共服务平台调用自定义信息下载接口。当生成自定义配置信息获取请求时,母应用的客户端根据接口地址调用子应用公共服务平台提供的自定义信息下载接口,下载自定义信息。
本实施例中,母应用的客户端只需生成自定义配置信息获取请求,即可基于自定义配置信息获取请求从母应用对应的子应用公共服务平台中拉取自定义配置信息,如此,提升了自定义配置信息的获取效率。
在一个实施例中,获取子应用的自定义配置信息,包括:从母应用对应的子应用公共服务平台,获取子应用的自定义配置信息;基于封面图片下载地址下载封面图片,包括:基于封面图片下载地址,从内容分发网络下载封面图片。
其中,内容分发网络技术(Content Delivery Network,CDN)是一种将内容从中心服务器分发到靠近用户的边缘服务器,从而实现内容的分布式就近访问的方法。CDN技术有效地提高了内容访问的服务质量,并支持大规模的并发访问能力。
具体地,母应用的客户端确定母应用对应的子应用公共服务平台,并基于子应用公共服务平台获取子应用的自定义配置信息。在自定义配置信息包含有封面图片下载地址时,母应用的客户端找到就近的CDN节点,并通过对封面图片下载地址从就近的CDN节点下载封面图片。其中,就近的CDN节点是指CDN节点与母应用的客户端之间的逻辑距离和/或物理距离最近的节点。在实际应用中,可通过解析CDN节点的IP(Internet ProtocolAddress,互联网协议地址)地址,获取IP地址对应的地理位置信息和运营商信息,基于获取得到的地理位置信息和运营商信息,优先选择与母应用的客户端具有相同运营商(逻辑距离近)的CDN节点,再选择相同运营商中处于同一地区(物理距离近)的CDN节点。
在另一个实施例中,当就近CDN节点未缓存有封面图片时,母应用的客户端转为向CDN数据源服务器中获取封面图片。其中,CDN数据源服务器是指将存储有如封面图片等静态资源,并将静态资源分发至各CDN节点的服务器。
在另一个实施例中,当就近CDN节点未缓存有封面图片时,就近CDN节点基于封面图片下载地址从CDN数据源服务器中获取封面图片,并将封面图片发送至客户端,以及将封面图片进行缓存。
本实施例中,通过从就近的CDN节点中下载封面图片,可以有效提升封面图片的下载速度,从而提升自定义启动页的生成效率。
在一个实施例中,子应用公共服务平台执行子应用启动页配置步骤;子应用启动页配置步骤包括:获取子应用的代码编译文件;解析代码编译文件,得到代码包、启动页自定义配置内容和封面图片;将代码包和启动页自定义配置内容存储至子应用公共服务平台;将封面图片存储至内容分发网络,并将封面图片在内容分发网络的封面图片下载地址存储至子应用公共服务平台。
具体地,子应用的开发人员可以基于子应用开发软件开发子应用,比如,基于微信小游戏开发工具编写微信小游戏的代码包,基于配置文件选定启动页的封面图片以及设置启动页自定义配置内容等,并在开发完毕时,对代码包,和包含有选定的封面图片、启动页自定义配置内容的配置文件进行编译,得到代码编译文件。其中,代码编译文件是指对开发代码和配置文件进行编译后所得的文件。配置文件是指存储有封面图片配置项和启动页自定义配置内容的文件,比如,在上述举例中,配置文件可以为微信公众平台提供的“game.json”。
进一步地,当得到代码编译文件时,子应用的开发人员通过子应用开发软件将代码编译文件上传至子应用公共服务平台。比如,开发人员通过微信小游戏开发工具将编译后的与微信小游戏相对应的代码编译文件上传至微信公众平台,以使微信公众平台转发代码编译文件至微信小游戏的子应用公共服务平台。在一个实施例中,也可将代码编译文件上传至母应用公共服务平台,由母应用公共服务平台解析并存储代码编译文件,在此不做限定。
进一步地,当子应用公共服务平台获取得到代码编译文件时,子应用公共服务平台对代码编译文件进行解析,如对代码编译文件进行解压,得到代码包和配置文件,并将代码包和配置文件中的启动页配置内容对应存储。
与此同时,子应用公共服务平台读取配置文件中的封面图片配置项,根据封面图片配置项从代码编译文件提取出封面图片。比如,当封面图片配置项为“path”:“res/loading.jpeg”时,子应用公共服务平台根据相对路径“res/loading.jpeg”,从代码编译文件中提取出封面图片。
子应用公共服务平台确定预设的与自身相关联的CDN数据源服务器,单独存储封面图片至CDN数据源服务器,由CDN数据源服务器将封面图片分发至各CDN节点。子应用公共服务平台确定CDN数据源服务器所对应的域名,以及封面图片在CDN数据源服务器中的存储路径,根据域名和存储路径生成封面图片下载地址,在封面图片下载地址生成成功时,存储封面图片下载地址。比如,当CDN数据源服务器所对应的域名为“www.aa.com”,存储路径为“loading.jpeg”时,封面图片下载地址即为“www.aa.com/loading.jpeg”。
在另一个实施例中,当子应用公共服务平台确定封面图片在内容分发网络中的封面图片下载地址时,子应用公共服务平台对封面图片配置项进行修改,将封面图片配置项中的配置参数修改为封面图片下载地址,并存储修改后的封面图片配置项。比如,在上述举例中,当封面图片的下载地址为www.aa.com/loading.jpeg,封面图片配置项为“path”:“res/loading.jpeg”时,子应用公共服务平台将封面图片配置项修改为“path”:“www.aa.com/loading.jpeg”。通过对应修改封面图片配置项,使得后续母应用的客户端可以直接基于封面图片配置项中的配置参数下载封面图片。
在另一个实施例中,代码编译文件、代码包、启动页自定义配置内容以及封面图片均包含有子应用的版本信息和子应用的应用标识。子应用的版本信息可以为子应用的版本号,如“V1”、“V2”等;子应用的应用标识为唯一标识一个子应用的信息,如子应用的应用标识可以为子应用的应用ID等。容易理解的,在代码编译文件、代码包、启动页自定义配置内容以及封面图片均归属同一子应用时,代码编译文件、代码包、启动页自定义配置内容以及封面图片所携带的版本信息和应用标识相同。
当接收到子应用的代码编译文件时,子应用公共服务平台判断自身的存储空间以及相关联的内容分发网络中是否已存储有与代码编译文件具有相同应用标识的代码包或启动页自定义配置内容,亦或封面图片。当自身的存储空间或内容分发网络不存在与代码编译文件具有相同应用标识的代码包、启动页自定义配置内容以及封面图片时,子应用公共服务平台基于上述方法将代码编译文件对应存储。当自身的存储空间或内容分发网络中存在与代码编译文件具有相同应用标识的代码包或启动页自定义配置内容,亦或封面图片时,表示子应用公共服务平台已存储有与子应用的应用标识相关联的代码包、启动页自定义配置内容以及封面图片,此时子应用公共服务平台进一步检测具有相同应用标识的代码包、启动页自定义配置内容和封面图片的版本信息与代码编译文件的版本信息是否相同。
当存在与代码编译文件具有相同版本信息的代码包或启动页自定义配置内容,亦或封面图片时,表示子应用公共服务平台所接收到的代码编译文件为重复接收文件,此时子应用公共服务平台暂停存储接收到的代码编译文件;在不存在与代码编译文件具有相同版本信息的代码包或启动页自定义配置内容,亦或封面图片时,表示子应用公共服务平台所接收到的代码编译文件为版本更新后的子应用的代码编译文件,此时子应用公共服务平台基于上述方法存储接收到的代码编译文件,并在代码编译文件存储完毕时,向子应用所对应的客户端发送版本更新提示,以使客户端基于版本更新提示下载最新版本的代码包、自定义配置信息以及封面图片。
当子应用公共服务平台所接收到的代码编译文件为重复接收文件时,暂停存储接收到的代码编译文件,可以降低子应用公共服务平台的存储空间的占用;当子应用公共服务平台接收到的代码编译文件为版本更新后的子应用的代码编译文件时,向子应用所对应的客户端发送版本更新提示,以使子应用所对应的客户端能够基于版本更新提示及时更新子应用,即及时更新自定义启动页。
在另一个实施例中,当用户通过母应用再次启动子应用时,母应用客户端通过向子应用公共服务平台发送更新查询,来异步更新子应用。
在另一个实施例中,在接收到版本更新后的代码编译文件时,子应用公共服务平台通过删除历史版本的代码编译文件,以提升存储空间的利用率。
本实施例中,通过将占用存储空间较大的封面图片单独存储至内容分发网络,使得子应用公共服务平台可以提高存储空间的利用率,留有更多的存储空间用以存储启动页自定义配置内容和封面图片。
在一个实施例中,启动页自定义配置内容和封面图片下载地址存储于子应用公共服务平台的配置存储空间;代码包存储于子应用公共服务平台的代码包存储空间。
具体地,为了便于对自定义配置内容、封面图片下载地址以及代码包的管理,可以将子应用公共服务平台的存储区域划分为配置存储空间和代码包存储空间。参考图5,如图5所示,当对代码编译文件进行解析,得到代码包、启动页自定义配置内容和封面图片时,子应用公共服务平台将代码包存储至代码包存储空间,以及将启动页自定义配置内容存储至配置存储空间。当将封面图片存储至内容分发网络,并基于封面图片在内容分发网络的封面图片的存储路径生成封面图片下载地址时,子应用公共服务平台将封面图片下载地址存储至配置存储空间。图5示出了一个实施例中代码编译文件的存储示意图。
在另一个实施例中,配置存储空间可以划分为多个配置存储子空间,不同的配置存储子空间用以存储不同子应用的启动页自定义配置内容和封面图片下载地址。
本实施例中,通过划分配置存储空间和代码包存储空间,使得启动页自定义配置内容、封面图片下载地址能够与代码包存储分离,便于子应用公共服务平台对自定义配置内容、封面图片下载地址以及代码包的存储管理。
在一个实施例中,上述子应用的启动方法还包括:当本地不存在子应用的封面图片时,执行基于封面图片下载地址下载封面图片的步骤;当本地存在子应用的封面图片时,直接根据本地的封面图片和启动页自定义配置内容,生成子应用的自定义启动页。
具体地,在基于封面图片下载地址下载封面图片时,母应用的客户端判断本地是否已存储有子应用的封面图片,比如,母应用的客户端根据子应用的应用标识确定本地是否已存储有与应用标识相对应的封面图片,若是,母应用的客户端根据本地的封面图片以及启动页自定义配置内容,生成子应用的自定义启动页;若否,母应用的客户端从自定义配置信息中提取出封面图片下载地址,并基于封面图片下载地址下载封面图片。
在另一个实施例中,封面图片的图片名称携带有子应用的应用标识;根据子应用的应用标识查找本地是否存储有子应用的封面图片包括:母应用的客户端将子应用的应用标识逐一与本地的各个封面图片的图片名称进行匹配,当本地存在与子应用的应用标识相匹配的封面图片的图片名称时,表示本地存在子应用的封面图片;当本地不存在与子应用的应用标识相匹配的封面图片的图片名称时,表示本地不存在子应用的封面图片。
在另一个实施例中,当本地存在有子应用的封面图片时,表示子应用不为首次启动,此时母应用的客户端根据本地封面图片和启动页自定义配置内容生成自定义启动页并展示。当本地不存在子应用的封面图片时,表示子应用为首次启动,此时母应用的客户端在下载封面图片的同时,展示子应用公共服务平台提供的默认启动页,并在生成自定义启动页后,基于自定义启动页替换默认启动页。其中,默认启动页是指子应用公共服务平台提供的一个未经自定义配置的启动页,比如,参考图6,当子应用为“A棋牌游戏”时,默认启动页即如图6所示。图6示出了一个实施例中默认启动页的示意图。
本实施例中,当本地存在子应用的封面图片时,通过对本地封面图片的复用,可以避免重复下载子应用的封面图片,从而降低了网络宽带成本。
在一个实施例中,基于封面图片和启动页自定义配置内容,生成子应用的自定义启动页,包括:获取启动页模板;将封面图片添加到启动页模板中,并按照启动页自定义配置内容调整启动页模板中的内容,得到子应用的自定义启动页。
其中,启动页模板是指通过形式参数代替具体的配置参数,并基于形式参数编写的启动页代码。形式参数又称为虚拟参数,其用于接收调用启动页模板时传入的具体配置参数。
具体地,当获取得到封面图片以及启动页自定义配置内容时,母应用的客户端获取预存储的启动页模板,以及确定封面图片在本地的存储路径,将封面图片在本地存储路径添加至启动页模板。
与此同时,母应用的客户端对自定义配置内容中的配置项进行遍历,基于当前遍历顺序的配置项的配置名称确定启动页模板中的待替换形式参数,将待替换形式参数替换为当前遍历顺序的配置项的配置参数。比如,启动页模板中具有“progressBarColor”的待替换形式参数“A”,在当前遍历顺序的配置项的配置名称为“progressBarColor”、配置参数为“#9FD524”时,客户端将“#9FD524”替换“A”。
当将封面图片添加到启动页模板中,并按照启动页自定义配置内容替换启动页模板中的形式参数时,母应用的客户端得到子应用的自定义启动页。
在另一个实施例中,当对自定义配置内容中的配置项进行遍历后,启动页模板依旧包含有未被替换的形式参数时,表明子应用开发人员未对可配置的全部配置项进行配置,此时客户端获取预存储的默认配置内容,基于默认配置内容中的配置参数,对形式参数进行替换处理。
本实施例中,客户端只需将封面图片添加到启动页模板中,并按照启动页自定义配置内容调整启动页模板中的内容,即可得到子应用的自定义启动页,相比于重新编写一个全新的自定义启动页,本实施例可以有效提升自定义启动页的生成效率。
在一个实施例中,按照启动页自定义配置内容调整启动页模板中的内容,包括:当启动页自定义配置内容包括进度条配置项时,根据进度条配置项,调整位于启动页模板中的进度条的展示样式;当启动页自定义配置内容包括文字配置项时,根据文字配置项,调整启动页模板中的文字内容和文字展示样式;当启动页自定义配置内容包括封面图片缩放配置项时,根据图片缩放配置项调整封面图片的显示缩放比例。
具体地,当母应用的客户端基于配置名称确定启动页自定义配置内容包括进度条配置项时,母应用的客户端将进度条配置项中的配置参数,替换启动页模板中的与进度条配置项相对应的形式参数,从而实现调整位于启动页模板中的进度条的展示样式;同理,当母应用的客户端基于配置名称确定启动页自定义配置内容包括文字配置项时,母应用的客户端将文字配置项中的文字内容的配置参数,替换启动页模板中的与文字内容相对应的形式参数,以及将文字配置项中的文字展示样式的配置参数,替换启动页模板中的与文字展示样式相对应的形式参数,从而实现调整位于启动页模板中的进度条的展示样式;当母应用的客户端基于配置名称确定启动页自定义配置内容包括封面图片缩放配置项时,母应用的客户端将封面图片缩放配置项中的配置参数,替换启动页模板中的与封面图片缩放配置项相对应的形式参数,以实现根据图片缩放配置项调整封面图片的显示缩放比例。
本实施例中,由于可以按照启动页自定义配置内容调整启动页模板中的内容,使得根据自定义配置内容生成的启动页具有多种展示样式,如此,不仅大大提升了启动页的展示效果,而且提升了用户体验。
在一个实施例中,启动页自定义配置内容包括启动页隐藏配置项;基于代码包在母应用上运行子应用后,隐藏自定义启动页,包括:当基于启动页隐藏配置项确定自定义启动页的隐藏方式为自定义隐藏方式时,监听对应于自定义隐藏方式配置的指定事件;当监听到指定事件发生时,隐藏自定义启动页。
具体地,为了让子应用开发人员保持最大的自由度,保证当子应用的首屏页面能够正常展示时,再隐藏自定义启动页,启动页自定义配置内容中提供了启动页隐藏配置项,基于此启动页隐藏配置项,子应用开发人员可自由选择自定义启动页的隐藏方式。比如,当启动页隐藏配置项为"manualHideSplashScreen"时,子应用开发人员通过配置"manualHideSplashScreen":true,选定自定义启动页的隐藏方式为自定义隐藏方式,即此时子应用开发人员可自由设定自定义启动页的隐藏时机;通过配置"manualHideSplashScreen":false,或者不填写启动页隐藏配置项,选定自定义启动页的隐藏方式为默认隐藏方式,即此时自定义启动页的隐藏时机为默认时机。其中,默认时机是指母应用服务平台为基于母应用运行的多个子应用提供的一个统一隐藏时机,如默认时机可以为当母应用的客户端首次调用渲染接口渲染子应用的首屏页面时,隐藏自定义启动页。
当选定自定义启动页的隐藏方式为自定义隐藏方式时,子应用开发人员可以为自定义隐藏方式配置指定事件,并在母应用的客户端监听到指定事件发生时,隐藏自定义启动页。其中,指定事件为表征子应用加载完成的事件,在实际应用中,指定事件可以根据需求自由设定,比如,对于微信小游戏,当基于游戏界面绘制函数首次成功绘制游戏界面时,表征微信小游戏已加载完毕,运行逻辑已准备完成,此时,设定指定事件为游戏界面绘制事件。又比如,对于微信小程序,可以通过录屏计时的方式确定微信小程序的平均加载时间,从而基于平均加载时间设定指定事件为等待事件,即当自用户启动微信小程序起,等待平均加载时间后,客户端隐藏自定义启动页。
本实施例中,通过自由选定隐藏自定义启动页的隐藏时机,可以保证在子应用已加载完毕,首屏页面和子应用运行逻辑已准备完成时,再隐藏自定义启动页,从而大大降低了自定义启动页被隐藏,但子应用还未加载完毕,导致画面黑屏的概率。
在一个实施例中,当监听到指定事件发生时,隐藏自定义启动页,包括:当监听到指定事件发生时,调用母应用或者母应用对应的子应用公共服务平台提供的启动页隐藏接口,以隐藏自定义启动页。
具体地,在子应用开发环境中,为了减少子应用开发人员的工作量,提升子应用开发的便捷性,母应用对应的子应用公共服务平台向子应用开发人员提供大量的接口,以供子应用开发人员调用,其中包括启动页隐藏接口。当监听到指定事件发生时,母应用的客户端调用母应用对应的子应用公共服务平台提供的启动页隐藏接口,隐藏自定义启动页。比如,在监听到指定事件发生时,母应用的客户端通过调用微信公众平台对应的子应用公共服务平台提供的hideSplashScreen接口,隐藏自定义启动页。其中,母应用的客户端通过执行以下代码调用hideSplashScreen接口:
wx.hideSplashScreen({
complete:console.log})
其中,“wx.hideSplashScreen”表示调用启动页隐藏接口。
在另一个实施例中,除母应用对应的子应用公共服务平台之外,母应用也可提供启动页隐藏接口,当监听到指定事件发生时,母应用的客户端通过调用母应用提供的启动页隐藏接口,隐藏自定义启动页。
本实施例中,通过直接调用母应用或者母应用对应的子应用公共服务平台提供的启动页隐藏接口,以隐藏所述自定义启动页,不仅可以提升与启动页隐藏接口对应的启动页隐藏函数的复用率,而且可以降低子应用开发人员的工作量。
为了便于本领域技术人员的理解,如图7所示,提供了一种子应用启动的具体流程示意图。当用户通过母应用触发子应用的启动操作时,母应用的客户端确定本地是否已存储有子应用的封面图片,当本地未存储有子应用的封面图片时,表明子应用为首次启动,此时母应用的客户端展示子应用公共服务平台提供的默认启动页。与此同时,母应用的客户端获取子应用的自定义配置信息,以及下载子应用的代码包。当通过自定义配置信息获取得到子应用的封面图片时,母应用的客户端根据封面图片和启动页自定义配置内容,生成子应用的自定义启动页,并将自定义启动页替换默认启动页。
若子应用不为首次启动,即本地存在子应用的封面图片时,母应用的客户端直接根据本地的封面图片和启动页自定义配置内容,生成子应用的自定义启动页并展示。
进一步地,当基于启动页隐藏配置项确定自定义启动页的隐藏方式为自定义隐藏方式时,母应用的客户端监听对应于自定义隐藏方式配置的指定事件。当监听到指定事件发生时,表征子应用已加载完毕,首屏页面和运行逻辑已准备完成,此时母应用的客户端调用启动页隐藏接口隐藏自定义启动页。
在一个具体实施例中,如图8所示,本申请提供的子应用的启动方法包括以下步骤:
S802,当通过母应用触发子应用的启动操作时,下载子应用的代码包。
S804,根据触发子应用的启动操作,向母应用对应的子应用公共服务平台发送针对子应用的自定义配置信息获取请求。
S806,从子应用公共服务平台,接收响应于自定义配置信息获取请求所反馈的与子应用相关联的自定义配置信息;自定义配置信息包括封面图片下载地址和启动页自定义配置内容。
S808,当本地不存在子应用的封面图片时,基于封面图片下载地址,从内容分发网络下载封面图片。
S810,当本地存在子应用的封面图片时,获取本地的封面图片。
S812,获取启动页模板。
S814,当启动页自定义配置内容包括进度条配置项时,根据进度条配置项,调整位于启动页模板中的进度条的展示样式,得到子应用的自定义启动页。
S816,当启动页自定义配置内容包括文字配置项时,根据文字配置项,调整启动页模板中的文字内容和文字展示样式,得到子应用的自定义启动页。
S818,当启动页自定义配置内容包括封面图片缩放配置项时,根据图片缩放配置项调整封面图片的显示缩放比例,得到子应用的自定义启动页。
S820,在母应用启动子应用的过程中,展示自定义启动页。
S822,当基于启动页隐藏配置项确定自定义启动页的隐藏方式为自定义隐藏方式时,监听对应于自定义隐藏方式配置的指定事件;当监听到指定事件发生时,调用母应用或者母应用对应的子应用公共服务平台提供的启动页隐藏接口,以隐藏自定义启动页。
上述子应用启动方法、装置、计算机设备和存储介质,上述子应用的启动方法中,当通过母应用触发子应用的启动操作时,通过并行下载子应用的自定义配置信息和代码包,可以充分利用如网络宽带的网络资源;基于自定义配置信息,生成自定义启动页并展示,使得不同子应用的启动页可以不相同,如此,不仅实现了启动页的个性化设置,而且提高了应用的质量;当代码包下载完毕,并基于代码包在母应用上运行子应用后,再隐藏自定义启动页,可以降低自定义启动页被隐藏,但子应用还未加载完毕,导致画面黑屏的概率。由于本申请在子应用启动的过程中展示了自定义启动页,使得用户在加载时间内不仅仅只能进行等待,还可以基于自定义启动页获取更多的子应用信息,从而增强了人机之间的互动,提升了资源利用率。
在另一个具体实施例中,如图9所示,本申请提供的子应用的启动方法包括以下步骤:
S902,获取子应用的代码编译文件。
S904,解析代码编译文件,得到代码包、启动页自定义配置内容和封面图片。
S906,将代码包存储至子应用公共服务平台的代码包存储空间,以及将启动页自定义配置内容存储至子应用公共服务平台的配置存储空间。
S908,将封面图片存储至内容分发网络,并将封面图片在内容分发网络的封面图片下载地址存储至子应用公共服务平台的配置存储空间。
S910,当通过母应用触发子应用的启动操作时,获取子应用的自定义配置信息,并下载子应用的代码包。
S912,基于自定义配置信息,生成子应用的自定义启动页。
S914,在母应用启动子应用的过程中,展示自定义启动页。
S916,当代码包下载完毕,并基于代码包在母应用上运行子应用后,隐藏自定义启动页。
本申请还提供一种应用场景,该应用场景应用上述的子应用的启动方法。具体地,该子应用的启动方法在该应用场景的应用如下:
当用户通过微信触发微信小游戏“A棋牌游戏”的启动操作时,微信通过确定本地是否已存储有与“A棋牌游戏”相对应的封面图片,来判断“A棋牌游戏”是否为首次启动。若为首次启动,微信展示微信公众平台侧提供的如图6所示默认启动页,与此同时,微信获取“A棋牌游戏”的自定义配置信息,以及下载“A棋牌游戏”的代码包。当基于自定义配置信息从内容分发网络中下载得到封面图片时,微信根据封面图片和“A棋牌游戏”的启动页自定义配置内容,生成自定义启动页,并将自定义启动页替换默认启动页。若“A棋牌游戏”不为首次启动,即本地已存在“A棋牌游戏”的封面图片时,微信直接根据本地的封面图片和“A棋牌游戏”的启动页自定义配置内容,生成自定义启动页并展示。
进一步地,当基于启动页隐藏配置项确定自定义启动页的隐藏方式为自定义隐藏方式时,微信监听对应于自定义隐藏方式配置的指定事件。当监听到指定事件发生时,表征“A棋牌游戏”已加载完毕,首屏页面和运行逻辑已准备完成,此时微信调用启动页隐藏接口隐藏自定义启动页。
应该理解的是,虽然图2、8和9的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2、8和9中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图10所示,提供了一种子应用的启动装置1000,该装置可以采用软件模块或硬件模块,或者是二者的结合成为计算机设备的一部分,该装置具体包括:自定义启动页生成模块1002、展示模块1004和隐藏模块1006,其中:
自定义启动页生成模块1002,用于当通过母应用触发子应用的启动操作时,获取子应用的自定义配置信息,并下载子应用的代码包;基于自定义配置信息,生成子应用的自定义启动页。
展示模块1004,用于在母应用启动子应用的过程中,展示自定义启动页。
隐藏模块1006,用于当代码包下载完毕,并基于代码包在母应用上运行子应用后,隐藏自定义启动页。
在一个实施例中,如图11所示,自定义启动页生成模块1002还用于根据触发子应用的启动操作,向母应用对应的子应用公共服务平台发送针对子应用的自定义配置信息获取请求;从子应用公共服务平台,接收响应于自定义配置信息获取请求所反馈的与子应用相关联的自定义配置信息。
在一个实施例中,自定义启动页生成模块1002还包括封面图片获取模块1021,用于基于封面图片下载地址下载封面图片。
在一个实施例中,封面图片获取模块1021还用于从母应用对应的子应用公共服务平台,获取子应用的自定义配置信息;基于封面图片下载地址,从内容分发网络下载封面图片。
在一个实施例中,子应用的启动装置1000还包括存储模块1008,用于获取子应用的代码编译文件;解析代码编译文件,得到代码包、启动页自定义配置内容和封面图片;将代码包和启动页自定义配置内容存储至子应用公共服务平台;将封面图片存储至内容分发网络,并将封面图片在内容分发网络的封面图片下载地址存储至子应用公共服务平台。
在一个实施例中,存储模块1008还用于将启动页自定义配置内容和封面图片下载地址存储于子应用公共服务平台的配置存储空间;将代码包存储于子应用公共服务平台的代码包存储空间。
在一个实施例中,自定义启动页生成模块1002还用于当本地不存在子应用的封面图片时,执行基于封面图片下载地址下载封面图片的步骤;当本地存在子应用的封面图片时,直接根据本地的封面图片和启动页自定义配置内容,生成子应用的自定义启动页。
在一个实施例中,自定义启动页生成模块1002还包括调整模块1022,用于获取启动页模板;将封面图片添加到启动页模板中,并按照启动页自定义配置内容调整启动页模板中的内容,得到子应用的自定义启动页。
在一个实施例中,调整模块1022还用于当启动页自定义配置内容包括进度条配置项时,根据进度条配置项,调整位于启动页模板中的进度条的展示样式;当启动页自定义配置内容包括文字配置项时,根据文字配置项,调整启动页模板中的文字内容和文字展示样式;当启动页自定义配置内容包括封面图片缩放配置项时,根据图片缩放配置项调整封面图片的显示缩放比例。
在一个实施例中,隐藏模块1006还包括接口调用模块1061,用于当基于启动页隐藏配置项确定自定义启动页的隐藏方式为自定义隐藏方式时,监听对应于自定义隐藏方式配置的指定事件;当监听到指定事件发生时,隐藏自定义启动页。
在一个实施例中,接口调用模块1061还用于当监听到指定事件发生时,调用母应用或者母应用对应的子应用公共服务平台提供的启动页隐藏接口,以隐藏自定义启动页。
关于子应用的启动装置的具体限定可以参见上文中对于子应用的启动方法的限定,在此不再赘述。上述子应用的启动装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图12所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种子应用的启动方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图12中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请提供的子应用的启动装置可以实现为一种计算机程序的形式,计算机程序可在如图12所示的计算机设备上运行。计算机设备的存储器中可存储组成该子应用的启动装置的各个程序模块,比如,图10所示的自定义启动页生成模块、展示模块和隐藏模块。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的子应用的启动方法中的步骤。
例如,图12所示的计算机设备可以通过如图10所示的子应用的启动装置中的自定义启动页生成模块执行步骤S202和S204。计算机设备可通过展示模块执行步骤S206。计算机设备可通过隐藏模块执行步骤S208。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (15)

1.一种子应用的启动方法,其特征在于,所述方法包括:
当通过母应用触发子应用的启动操作时,获取所述子应用的自定义配置信息,并下载所述子应用的代码包;
基于所述自定义配置信息,生成所述子应用的自定义启动页;
在所述母应用启动所述子应用的过程中,展示所述自定义启动页;
当所述代码包下载完毕,并基于所述代码包在所述母应用上运行所述子应用后,隐藏所述自定义启动页。
2.根据权利要求1所述的方法,其特征在于,所述获取所述子应用的自定义配置信息,包括:
根据所述触发子应用的启动操作,向所述母应用对应的子应用公共服务平台发送针对所述子应用的自定义配置信息获取请求;
从所述子应用公共服务平台,接收响应于所述自定义配置信息获取请求所反馈的与所述子应用相关联的自定义配置信息。
3.根据权利要求1所述的方法,其特征在于,所述自定义配置信息包括封面图片下载地址和启动页自定义配置内容;所述方法还包括:
基于所述封面图片下载地址下载封面图片;
所述基于所述自定义配置信息,生成所述子应用的自定义启动页,包括:
当所述封面图片下载成功后,基于所述封面图片和所述启动页自定义配置内容,生成所述子应用的自定义启动页。
4.根据权利要求3所述的方法,其特征在于,所述获取所述子应用的自定义配置信息,包括:
从所述母应用对应的子应用公共服务平台,获取所述子应用的自定义配置信息;
所述基于所述封面图片下载地址下载封面图片,包括:
基于所述封面图片下载地址,从内容分发网络下载封面图片。
5.根据权利要求4所述的方法,其特征在于,所述子应用公共服务平台执行子应用启动页配置步骤;所述子应用启动页配置步骤包括:
获取子应用的代码编译文件;
解析所述代码编译文件,得到代码包、启动页自定义配置内容和封面图片;
将所述代码包和启动页自定义配置内容存储至所述子应用公共服务平台;
将所述封面图片存储至内容分发网络,并将所述封面图片在所述内容分发网络的封面图片下载地址存储至所述子应用公共服务平台。
6.根据权利要求5所述的方法,其特征在于,所述启动页自定义配置内容和所述封面图片下载地址存储于所述子应用公共服务平台的配置存储空间;所述代码包存储于所述子应用公共服务平台的代码包存储空间。
7.根据权利要求3所述的方法,其特征在于,所述方法还包括:
当本地不存在所述子应用的封面图片时,执行所述基于所述封面图片下载地址下载封面图片的步骤;
当本地存在所述子应用的封面图片时,直接根据本地的所述封面图片和所述启动页自定义配置内容,生成所述子应用的自定义启动页。
8.根据权利要求3所述的方法,其特征在于,所述基于所述封面图片和所述启动页自定义配置内容,生成所述子应用的自定义启动页,包括:
获取启动页模板;
将所述封面图片添加到所述启动页模板中,并按照所述启动页自定义配置内容调整所述启动页模板中的内容,得到所述子应用的自定义启动页。
9.根据权利要求8所述的方法,其特征在于,所述按照所述启动页自定义配置内容调整所述启动页模板中的内容,包括:
当所述启动页自定义配置内容包括进度条配置项时,根据所述进度条配置项,调整位于所述启动页模板中的进度条的展示样式;
当所述启动页自定义配置内容包括文字配置项时,根据所述文字配置项,调整所述启动页模板中的文字内容和文字展示样式;
当所述启动页自定义配置内容包括封面图片缩放配置项时,根据所述图片缩放配置项调整所述封面图片的显示缩放比例。
10.根据权利要求1至9中任一项所述的方法,其特征在于,所述启动页自定义配置内容包括启动页隐藏配置项;
所述基于所述代码包在所述母应用上运行所述子应用后,隐藏所述自定义启动页,包括:
当基于所述启动页隐藏配置项确定自定义启动页的隐藏方式为自定义隐藏方式时,监听对应于所述自定义隐藏方式配置的指定事件;
当监听到所述指定事件发生时,隐藏所述自定义启动页。
11.根据权利要求10所述的方法,其特征在于,所述当监听到所述指定事件发生时,隐藏所述自定义启动页,包括:
当监听到所述指定事件发生时,调用所述母应用或者所述母应用对应的子应用公共服务平台提供的启动页隐藏接口,以隐藏所述自定义启动页。
12.一种子应用的启动装置,其特征在于,所述装置包括:
自定义启动页生成模块,用于当通过母应用触发子应用的启动操作时,获取所述子应用的自定义配置信息,并下载所述子应用的代码包;基于所述自定义配置信息,生成所述子应用的自定义启动页;
展示模块,用于在所述母应用启动所述子应用的过程中,展示所述自定义启动页;
隐藏模块,用于当所述代码包下载完毕,并基于所述代码包在所述母应用上运行所述子应用后,隐藏所述自定义启动页。
13.根据权利要求12所述的装置,其特征在于,所述自定义启动页生成模块还用于根据所述触发子应用的启动操作,向所述母应用对应的子应用公共服务平台发送针对所述子应用的自定义配置信息获取请求;从所述子应用公共服务平台,接收响应于所述自定义配置信息获取请求所反馈的与所述子应用相关联的自定义配置信息。
14.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至11中任一项所述的方法的步骤。
15.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至11中任一项所述的方法的步骤。
CN202010597799.2A 2020-06-28 2020-06-28 子应用启动方法、装置、计算机设备和存储介质 Pending CN113934465A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010597799.2A CN113934465A (zh) 2020-06-28 2020-06-28 子应用启动方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010597799.2A CN113934465A (zh) 2020-06-28 2020-06-28 子应用启动方法、装置、计算机设备和存储介质

Publications (1)

Publication Number Publication Date
CN113934465A true CN113934465A (zh) 2022-01-14

Family

ID=79272600

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010597799.2A Pending CN113934465A (zh) 2020-06-28 2020-06-28 子应用启动方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN113934465A (zh)

Similar Documents

Publication Publication Date Title
KR102255138B1 (ko) 메시지 처리 방법과 장치, 저장 매체, 및 컴퓨터 장치
CN106598655B (zh) 应用程序页面处理方法和装置
JP6725924B2 (ja) ページジャンプの方法及び装置
CN110263275B (zh) 一种访问网页的方法、装置、移动终端和存储介质
CN102939583B (zh) 创建任务会话
CN110244984B (zh) 应用程序处理方法、装置、存储介质和计算机设备
CN103959285A (zh) 远程浏览会话管理
JP7397094B2 (ja) リソース構成方法、リソース構成装置、コンピューター機器、及びコンピュータープログラム
CN111026490A (zh) 页面渲染方法、装置、电子设备及存储介质
CN110362338B (zh) 一种在移动平台下的游戏资源打包和资源快速访问方法
CN113568699B (zh) 一种内容显示方法、装置、设备及存储介质
US20110283195A1 (en) Device theme matching
CN111752535A (zh) Web页面的开发方法、装置、计算机设备和可读存储介质
CN112241298A (zh) 页面显示方法及装置、存储介质、电子装置
CN110971974B (zh) 配置参数创建方法、装置、终端及存储介质
CN111008057A (zh) 页面展示方法、装置及存储介质
CN111241438B (zh) 漫画图片展示方法、装置、计算机可读存储介质和计算机设备
CN111367518A (zh) 页面布局方法、装置、计算设备及计算机存储介质
US10042521B1 (en) Emulation of control resources for use with converted content pages
CN108959393B (zh) 动态图片处理方法、装置及存储介质
CN113934465A (zh) 子应用启动方法、装置、计算机设备和存储介质
CN112764746A (zh) 数据处理方法、装置、电子设备及存储介质
CN113608737A (zh) 页面生成方法、装置、设备及介质
CN112199090A (zh) 信息流处理方法、装置以及计算机可读存储介质
CN110908745A (zh) 数据分析展示方法及系统、存储介质、服务器及客户端

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination