混合APP的页面导航方法、装置、终端和存储介质
技术领域
本发明涉及计算机技术领域,特别是涉及一种混合APP的页面导航方法、装置、终端和存储介质。
背景技术
随着移动互联网的发展,用户使用终端设备接入互联网的频率越来越高,对网页的浏览与使用也越来越多,除了使用浏览器进行网页的加载和显示外,常见的还可以使用混合APP进行网页的加载和显示。Hybrid APP是介于本地应用(Native App)和网络应用(Web App)之间的混合模式移动应用。Hybrid APP在运行是面临的一个重要的问题是不同类型页面之间的跳转。
传统的Hybrid APP实现不同类型页面跳转的方式为:开发者在开发混合APP时需要预先定义好每种页面类型跳转所需要执行的程序,且在页面跳转时需要经过一系列判断以及各种特性调用来将请求导航到相对应的导航程序上,实现导航跳转。传统的页面导航方式极易出现页面跳转卡顿的现象,不能更好更快更安全的进行页面的跳转。
发明内容
基于此,有必要针对上述问题,提供一种能够使页面的跳转更加快捷安全的混合APP的页面导航方法、装置、终端和存储介质。
一种混合APP的页面导航方法,所述方法包括:
获取混合APP的页面导航指令,提取所述页面导航指令中携带的待跳转的目标页面标识;
响应于所述页面导航指令,获取终端预先配置的所述混合APP对应的多个组容器,其中,每个所述组容器对应一种页面类型,所述混合APP的同一页面类型的所有页面标识承装于对应的所述组容器中;
通过所述目标页面标识与每个所述组容器中的页面标识的匹配,确定所述述目标页面标识所属的所述组容器;
获取预先注册的与确定的所述组容器对应的导航逻辑,执行所述导航逻辑以使页面跳转至所述目标页面标识对应的目标页面;
其中,所述终端预先为每个所述组容器注册相应的导航逻辑,所述导航逻辑为能够实现相应页面类型的页面跳转方法。
在一个实施例中,在所述获取混合APP的页面导航指令,提取所述页面导航指令中携带的待跳转的目标页面标识的步骤之前,还包括:
当监测到混合APP切换至开启状态时,获取所述混合APP所有页面的页面标识和每个所述页面标识对应的页面类型;
获取终端中预先存储的且未配置页面标识的组容器,所述组容器带有页面类型标签;
根据所述页面类型将所述混合APP的所述页面标识添加至对应的所述组容器中以完成所述混合APP对应的所述组容器的配置。
在一个实施例中,所述页面标识包括模块标识和子页面标识,相应的,所述目标页面标识包括目标模块标识和目标子页面标识;
所述通过所述目标页面标识与每个所述组容器中的页面标识的匹配,确定所述述目标页面标识所属的所述组容器的步骤为:
匹配所述目标模块标识与所述组容器中的模块标识,确定包含有所述目标模块标识的组容器;
查找确定的所述组容器中的匹配的所述模块标识下的所述子页面标识,确定包含有所述目标子页面标识的组容器,确定的所述组容器为所述目标页面标识所属的组容器。
在一个实施例中,所述获取预先注册的与确定的所述组容器对应的导航逻辑,执行所述导航逻辑以使页面跳转至所述目标页面标识对应的目标页面;其中,所述终端预先为每个所述组容器注册相应的导航逻辑,所述导航逻辑为能够实现相应页面类型的页面跳转方法的步骤包括:
根据所述组容器与导航逻辑的对应关系,确定所述目标页面标识对应的所述导航逻辑,其中,所述终端预先注册每个所述组容器对应的导航逻辑;
将所述页面导航指令分发到确定的所述导航逻辑上以触发所述导航逻辑,获取所述目标页面标识对应的页面信息;
根据所述页面信息进行页面渲染,生成并显示待跳转的目标页面。
在一个实施例中,所述方法还包括:
将所述组容器和所述组容器对应的导航逻辑封装成导航接口,所述组容器中的页面标识设置为缺省值;
发布所述导航接口,以使第三方应用系统调用所述导航接口,并对所述组容器中的页面标识进行配置生成适应第三方应用的导航程序。
一种混合APP的页面导航装置,所述装置包括:
导航请求模块,用于获取混合APP的页面导航指令,提取所述页面导航指令中携带的待跳转的目标页面标识;
组容器获取模块,用于响应于所述页面导航指令,获取终端预先配置的所述混合APP对应的多个组容器,其中,每个所述组容器对应一种页面类型,所述混合APP的同一页面类型的所有页面标识承装于对应的所述组容器中;
页面标识查找模块,用于通过所述目标页面标识与每个所述组容器中的页面标识的匹配,确定所述述目标页面标识所属的所述组容器;
导航模块,用于获取预先注册的与确定的所述组容器对应的导航逻辑,执行所述导航逻辑以使页面跳转至所述目标页面标识对应的目标页面;
其中,所述终端预先为每个所述组容器注册相应的导航逻辑,所述导航逻辑为能够实现相应页面类型的页面跳转方法。
在一个实施例中,所述装置还包括:
数据获取模块,用于当监测到混合APP切换至开启状态时,获取所述混合APP所有页面的页面标识和每个所述页面标识对应的页面类型;
空组容器获取模块,用于获取终端中预先存储的且未配置页面标识的组容器,所述组容器带有页面类型标签;
组容器配置模块,用于根据所述页面类型将所述混合APP的所述页面标识添加至对应的所述组容器中以完成所述混合APP对应的所述组容器的配置。
在一个实施例中,所述导航模块,还用于根据所述组容器与导航逻辑的对应关系,确定所述目标页面标识对应的所述导航逻辑,其中,所述终端预先注册每个所述组容器对应的导航逻辑;将所述页面导航指令分发到确定的所述导航逻辑上以触发所述导航逻辑,获取所述目标页面标识对应的页面信息;根据所述页面信息进行页面渲染,生成并显示待跳转的目标页面。
一种终端,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述所述方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述所述方法的步骤。
上述混合APP的页面导航方法、装置、终端和存储介质,终端中维护对应不同页面类型的组容器,并对每种页面类型的组容器注册导航逻辑,混合APP启动时,终端获取该混合APP的所有页面标识,并将同一页面类型的页面标识配置到对应的组容器中,当混合APP需要进行页面跳转时,获取待跳转的目标页面标识,查找该目标页面标识所属组容器,进而调用所属组容器对应的导航逻辑进行页面跳转。混合APP无需进行任何页面跳转逻辑的开发,甚至无需获取待跳转页面的页面类型,仅根据页面标识即可快捷地实现不同类型页面的跳转,终端提供统一的页面跳转方案,使混合APP的页面跳转更加安全可靠。
附图说明
图1为一个实施例中混合APP的页面导航方法的应用环境图;
图2为一个实施例中终端的内部结构示意图;
图3为一个实施例中混合APP的页面导航方法的流程图;
图4为一个实施例中配置组容器所涉及的流程图;
图5为一个实施例中组容器中页面标识匹配所涉及的流程图;
图6为一个实施例中获取并执行导航逻辑所涉及的流程图;
图7为一个实施例中混合APP的页面导航装置的结构框图;
图8为另一个实施例中混合APP的页面导航的结构框图;
图9为一个实施例中将组容器和导航逻辑封装接口所涉及的结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,在一个实施例中,提供了一种混合APP的页面导航方法的应用环境图,该应用环境图包括终端110和应用服务器120。终端110可通过网络与应用服务器120通信。终端110可以是智能手机、平板电脑、笔记本电脑、POS机、车载电脑中的至少一种,但并不局限于此。应用服务器120可以是独立的物理应用服务器,也可以是多个物理应用服务器构成的应用服务器集群。终端110可通过安装的各种应用与相应的应用服务器进行通信。
如图2所示,在一个实施例中,提供了一种终端,该终端上安装有混合页面开发的混合应用程序。该终端包括通过系统总线连接的处理器、内存储器、非易失性存储介质、网络接口、显示屏和输入装置。其中,该处理器用于提供计算和控制能力,支撑整个终端的运行。该终端的非易失性存储介质存储有操作系统和计算机可执行指令,该计算机可执行指令可被处理器所执行以实现以下各实施例所提供的一种混合APP的页面导航方法。终端中的内存储器为非易失性存储介质中的操作系统和计算机可执行指令的运行提供环境。网络接口用于连接到网络与应用服务器进行通信。显示屏用于显示混合应用的各种界面。输入装置为显示屏上覆盖的触摸层,用于供用户输入各种控制指令,例如,在本实施例中,可供用户输入应用程序开启指令以及页面跳转指令等。
本领域技术人员可以理解,图2中示出的终端的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的终端的限定,具体的终端可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
如图3所示,在一个实施例中,提供了一种混合APP的页面导航方法,该方法以应用到如图2所示的终端中为例进行说明,具体包括如下步骤:
步骤S202:获取混合APP的页面导航指令,提取页面导航指令中携带的待跳转的目标页面标识。
终端中安装有至少一个混合APP,安装的至少一个混合APP中的应用页面至少包括两种页面类型。进入至混合APP首页后,通过获取用户对首页页面元素点击操作触发生成页面导航指令,这里的页面导航指令即为页面跳转请求。页面导航指令中携带的待跳转的目标页面可根据点击的页面元素来指示,也可以是页面元素对应的最终目标页面的中间页面。
举例来说,当前操作的混合APP为理财应用,若当前页面为“理财产品展厅”该页面中陈列多种理财产品,当检测到用户对当前页面中其中一个理财产品栏目的点击操作时,基于该点击操作生成页面跳转指令,该页面跳转指令中携带的待跳转的目标页面为点击的理财产品栏目(页面元素)对应的“产品详情页面”。
还比如,若当前页面为理财产品购买页面,用户触发的当前页面的页面元素为“购买”按钮,则生成的页面跳转指令中携带的待跳转的目标页面标识对应的目标页面可能是“登录页面”,该页面并非“购买”按钮所对应的“理财产品购买页面”,即进入该“理财产品购买页面”前的中间页面。
步骤S204:响应于页面导航指令,获取终端预先配置的混合APP对应的多个组容器,其中,每个组容器对应一种页面类型,混合APP的同一页面类型的所有页面标识承装于对应的组容器中。
终端内存中预先维护多个对应不同页面类型的组容器。该组容器用于承装其对应的页面类型的页面标识。
终端配置混合APP所对应的组容器的方法为:获取该混合APP的所有页面的页面标识以及每种页面标识对应的页面类型,根据页面类型将页面标识添加至对应的组容器中。
举例来说,终端中维护的组容器包括对应H5页面类型的组容器A、对应activity页面类型的组容器B、对应reatnative页面类型的组容器C以及对应fragment页面类型的组容器D。如页面标识为a,其对应的页面类型为reatnative页面类型,则将标识a添加到reatnative页面类型对应的组容器C中,直至完成混合APP的所有页面标识的分配,即完成了对该混合APP对应的组容器的配置。
步骤S206:通过目标页面标识与每个组容器中的页面标识的匹配,确定述目标页面标识所属的组容器。
步骤S208:获取预先注册的与确定的组容器对应的导航逻辑,执行导航逻辑以使页面跳转至目标页面标识对应的目标页面;其中,终端预先为每个组容器注册相应的导航逻辑,导航逻辑为能够实现相应页面类型的页面跳转方法。
对组容器中的页面标识进行查找,以确定待跳转的目标页面标识所属组容器。终端预先为每个组容器对应注册了导航逻辑,根据组容器与导航逻辑的对应关系,可确定该目标页面标识所对应的导航逻辑。执行该导航逻辑即可完成向目标页面标识对应的目标页面的跳转。
本实施例中,通过组容器以及预先为组容器注册对应的导航逻辑,只需在页面导航前对组容器进行配置,即可在页面导航时仅通过页面标识即可快捷准确的调用相适应的页面逻辑,实现相应类型页面的跳转,页面跳转更加快捷安全。且APP无需自定义导航逻辑,极大地减轻了APP开发人员的开发成本。
在一个实施例中,如图4所示,在S202:获取混合APP的页面导航指令,提取页面导航指令中携带的待跳转的目标页面标识的步骤之前,还包括对混合APP对应的组容器进行配置,具体包括如下步骤:
步骤S302:当监测到混合APP切换至开启状态时,获取混合APP所有页面的页面标识和每个页面标识对应的页面类型。
终端监控混合APP的状态,当监控到混合APP从Not running切换到开启状态(如Active前台活跃状态或者Background后台运行状态)时,获取混合APP所有页面的页面标识和每个页面标识对应的页面类型。
在一个实施例中,页面标识采用模块标识+模块下子页面标识的形式。例如,登录模块的注册页面,个人模块下的收藏页面。通过模块加子页面的形式可以清楚的对大量的APP页面进行标识。
在获取混合APP的页面标识的同时,获取每个页面的页面类型,混合APP的页面类型至少包括如下两种页面类型:H5页面类型、activity页面类型、对应reatnative页面类型以及fragment页面类型。当然,还可以使包括其他未列举出来的页面类型。
步骤S304:获取终端中预先存储的且未配置页面标识的组容器,组容器带有页面类型标签。
终端中预先维护多个组容器,每个组容器均由一种页面类型来标识,如上述的,组容器A对于H5页面类型、组容器B对应activity页面类型、组容器C对应reatnative页面类型以及组容器D对应fragment页面类型。每个组容器对应的页面类型是预先配置好的。
终端最初维护的组容器为未添加页面标识的空组容器。对组容器的配置即向组容器中添加页面标识。添加的页面标识对应的页面类型需要与组容器对应的页面类型一致。
在一个实施例中,组容器为待有页面类型标签的数组。
步骤S306:根据页面类型将混合APP的页面标识添加至对应的组容器中以完成混合APP对应的组容器的配置。
对应页面类型,将混合APP中的页面标识添加至相应的组容器中。每个混合APP对应的组容器的数量不同,对应的组容器的数量取决于APP所包括的页面类型。若混合APP包括两种页面类型,则其对应的组容器的数量为两个,容易理解的,若混合APP包括两种页面类型,则其对应的组容器的数量为四个。
本实施例中,终端预先维护有带有类型标签的空组容器,根据混合APP的页面类型和包含的页面标识填充空组容器即完成该混合APP对应的组容器的配置,组容器的配置简单快捷,在混合APP启动时即可快速完成配置。
在一个实施例中,对配置好的混合APP对应的组容器进行存储,该混合APP下次启动时,首选查找是否存在已经配置好的组容器,若是,则不必重复进行配置。在另一个实施例中,混合APP启动时,首选查找是否存在已经配置好的组容器,若是,根据日志信息,判断自上次登录起,混合APP是否进行版本更新,若是,则重新获取更新版本的页面信息,根据该更新版本的页面信息调整配置的组容器;若否,不必重新进行配置。
在一个实施例中,组容器中的每个页面标识均包括模块标识和子页面标识,目标页面标识包括目标模块标识和目标子页面标识。
步骤S206:通过目标页面标识与每个组容器中的页面标识的匹配,确定述目标页面标识所属的组容器,在本实施例中包括如下步骤,如图5所示:
步骤S402:匹配目标模块标识与组容器中的模块标识,确定包含有目标模块标识的组容器。
按照设定顺序依次查找每个组容器,如按照组容器A、B、C、D的顺序,查找组容器中的模块标识,确定包含有目标模块标识的组容器,此时,确定的组容器可能为多个。
步骤S404:查找确定的组容器中的匹配的模块标识下的子页面标识,确定包含有目标子页面标识的组容器,确定的组容器为目标页面标识所属的组容器。
在对步骤S402中确定的组容器中进行查找,查找匹配的模块标识下的子页面中是否包括目标子页面,若是,则查找的组容器即为目标页面标识所属的组容器。
由于一个模块下包括多个子页面,因此,子页面标识的数量要远远大于模块标识的数量。组容器中包括的页面标识并非杂乱无章存储,而是以模块标识为大类,模块下对应的子页面标识为小类。
举例来说,组容器A中包括的页面标识为:A模块+a子页面,A模块+b子页面,A模块+c子页面,B模块+a子页面,B模块+d子页面,C模块+f子页面;组容器B中包括的页面标识为:A模块+f子页面,A模块+g子页面,B模块+b子页面,B模块+c子页面,B模块+f子页面,D模块+a子页面;组容器C中包括的页面标识为:D模块+a子页面。
组容器A的页面标识为:A模块:{a,b,c}B模块:{a,d}C模块:{f};组容器B的页面标识为:A模块:{f,g}B模块:{b,c,f}D模块:{a};组容器C的页面标识为:D模块:{a}。假设目标页面标识为B模块+c子页面。
确定目标页面所属组容器的方式为:按照组容器A、B、C的顺序(也可以是其他顺序),查找包括模块B的组容器,得到组容器A和组容器B,然后,查找组容器A中模块B下的子页面和组容器B中模块B下的子页面,确定目标页面标识的所属组容器为组容器B。
本实施例中,通过模块的匹配,可去除掉不包括该目标模块的组容器,减少的查找工作量,可使页面标识的匹配更加快捷。且同一模块下的页面属于同一页面类型的可能性相对比较大,也就是,同一模块下的子页面可能集中在一个或者少数几个组容器中,因此通过模块匹配可以去除大部分不匹配的组容器,快速定位所属组容器。
在一个实施例中,当在组容器中未查找到待跳转的目标页面时,获取并显示预先生成的导航失败反馈页面。当页面导航失败时,可统一显示不存在界面并反馈相关的调用方,从而避免崩溃。
在一个实施例中,如图6所示,S208:获取预先注册的与确定的组容器对应的导航逻辑,执行导航逻辑以使页面跳转至目标页面标识对应的目标页面;其中,终端预先为每个组容器注册相应的导航逻辑,导航逻辑为能够实现相应页面类型的页面跳转方法,包括如下步骤:
步骤S502:根据组容器与导航逻辑的对应关系,确定目标页面标识对应的导航逻辑,其中,终端在安装混合APP时注册每个组容器对应的导航逻辑。
终端预先为每个组容器对应的页面类型注册相应的导航逻辑,导航逻辑中定义了页面跳转至对应的页面类型所需要执行的导航函数。
若终端中的组容器包括H5页面类型的组容器A、对应activity页面类型的组容器B、对应reatnative页面类型的组容器C以及对应fragment页面类型的组容器D,相应的终端中将注册与组容器A对应的H5页面导航函数、与组容器B对应的activity页面导航函数、与组容器C对应的reatnative页面导航函数和与组容器D对应的fragment页面导航函数。
根据组容器与导航逻辑的对应关系,可确定目标页面标识对应的组容器所对应的导航逻辑。
步骤S504:将页面导航指令分发到确定的导航逻辑上以触发导航逻辑,获取目标页面标识对应的页面信息。
步骤S506:根据页面信息进行页面渲染,生成并显示待跳转的目标页面。
将当前获取的页面导航指令分发到相应的导航逻辑上,该指令将触发该导航逻辑运行,按照该导航逻辑所定义的方法获取目标页面标识对应的页面信息。
终端通过导航逻辑获取到目标页面标识对应的页面信息后,将根据页面信息进行页面渲染生成目标页面,并切换当前页面到生成的目标页面。
例如,当待跳转页面为H5页面时,H5页面对应的导航逻辑可以是:首先获取页面导航指令中携带的待跳转页面对应的网页地址信息,然后将网页地址信息发送至服务器,接收服务器反馈目标页面的HTML文件,调用终端中的APP的浏览器组件解析接收到的HTML文件,生成并显示目标网页。H5页面的导航逻辑并固定于上述举例,还可以是其他执行逻辑,只要能够实现相应页面的跳转即可。
在一个实施例中,可以将组容器以及对应的导航逻辑封装成统一的接口输出,混合APP在安装时或者启动时,调用该接口,并进行接口的配置,在页面导航时,直接调用配置好的接口即可完成页面的跳转。
具体可以采用如下方式:将组容器和组容器对应的导航逻辑封装成导航接口,组容器中的页面标识设置为缺省值;发布导航接口,以使第三方应用系统调用导航接口,并对组容器中的页面标识进行配置生成适应第三方应用的导航程序,该导航程序可封装在混合APP的SDK工具包中,安装该混合APP时即安装了该导航程序。
APP开发人员无需自行开发导航程序,只需待用导航接口进行相应的配置即可。
在一个实施例中,如图7所示,提供了一种混合APP的页面导航装置,该装置包括:
导航请求模块602,用于获取混合APP的页面导航指令,提取页面导航指令中携带的待跳转的目标页面标识。
组容器获取模块604,用于响应于页面导航指令,获取终端预先配置的混合APP对应的多个组容器,其中,每个组容器对应一种页面类型,混合APP的同一页面类型的所有页面标识承装于对应的组容器中。
页面标识查找模块606,用于通过目标页面标识与每个组容器中的页面标识的匹配,确定述目标页面标识所属的组容器。
导航模块608,用于获取预先注册的与确定的组容器对应的导航逻辑,执行导航逻辑以使页面跳转至目标页面标识对应的目标页面;
其中,终端预先为每个组容器注册相应的导航逻辑,导航逻辑为能够实现相应页面类型的页面跳转方法。
在一个实施例中,如图8所示,混合APP的页面导航装置还包括:
数据获取模块702,用于当监测到混合APP切换至开启状态时,获取混合APP所有页面的页面标识和每个页面标识对应的页面类型。
空组容器获取模块704,用于获取终端中预先存储的且未配置页面标识的组容器,组容器带有页面类型标签。
组容器配置模块706,用于根据页面类型将混合APP的页面标识添加至对应的组容器中以完成混合APP对应的组容器的配置。
在一个实施例中,页面标识包括模块标识和子页面标识,相应的,目标页面标识包括目标模块标识和目标子页面标识;
页面标识查找模块606,还用于匹配目标模块标识与组容器中的模块标识,确定包含有目标模块标识的组容器;查找确定的组容器中的匹配的模块标识下的子页面标识,确定包含有目标子页面标识的组容器,确定的组容器为目标页面标识所属的组容器。
在一个实施例中,导航模块608,还用于根据组容器与导航逻辑的对应关系,确定目标页面标识对应的导航逻辑,其中,终端预先注册每个组容器对应的导航逻辑;将页面导航指令分发到确定的导航逻辑上以触发导航逻辑,获取目标页面标识对应的页面信息;根据页面信息进行页面渲染,生成并显示待跳转的目标页面。
在一个实施例中,装置还包括:
接口封装模块802,用于将组容器和组容器对应的导航逻辑封装成导航接口,组容器中的页面标识设置为缺省值。
接口发布模块804,用于发布导航接口,以使第三方应用系统调用导航接口,并对组容器中的页面标识进行配置生成适应第三方应用的导航程序。
在一个实施例中,提供了一种终端,该终端可以是服务器,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现一下步骤:获取混合APP的页面导航指令,提取所述页面导航指令中携带的待跳转的目标页面标识;响应于所述页面导航指令,获取终端预先配置的所述混合APP对应的多个组容器,其中,每个所述组容器对应一种页面类型,所述混合APP的同一页面类型的所有页面标识承装于对应的所述组容器中;通过所述目标页面标识与每个所述组容器中的页面标识的匹配,确定所述述目标页面标识所属的所述组容器;获取预先注册的与确定的所述组容器对应的导航逻辑,执行所述导航逻辑以使页面跳转至所述目标页面标识对应的目标页面;其中,所述终端预先为每个所述组容器注册相应的导航逻辑,所述导航逻辑为能够实现相应页面类型的页面跳转方法。
在一个实施例中,在所述获取混合APP的页面导航指令,提取所述页面导航指令中携带的待跳转的目标页面标识的步骤之前,处理器还执行如下步骤:
当监测到混合APP切换至开启状态时,获取所述混合APP所有页面的页面标识和每个所述页面标识对应的页面类型;获取终端中预先存储的且未配置页面标识的组容器,所述组容器带有页面类型标签;根据所述页面类型将所述混合APP的所述页面标识添加至对应的所述组容器中以完成所述混合APP对应的所述组容器的配置。
在一个实施例中,所述页面标识包括模块标识和子页面标识,相应的,所述目标页面标识包括目标模块标识和目标子页面标识;
处理器所执行的所述通过所述目标页面标识与每个所述组容器中的页面标识的匹配,确定所述述目标页面标识所属的所述组容器的步骤为:匹配所述目标模块标识与所述组容器中的模块标识,确定包含有所述目标模块标识的组容器;查找确定的所述组容器中的匹配的所述模块标识下的所述子页面标识,确定包含有所述目标子页面标识的组容器,确定的所述组容器为所述目标页面标识所属的组容器。
在一个实施例中,处理器所执行的所述获取预先注册的与确定的所述组容器对应的导航逻辑,执行所述导航逻辑以使页面跳转至所述目标页面标识对应的目标页面;其中,所述终端预先为每个所述组容器注册相应的导航逻辑,所述导航逻辑为能够实现相应页面类型的页面跳转方法的步骤包括:根据所述组容器与导航逻辑的对应关系,确定所述目标页面标识对应的所述导航逻辑,其中,所述终端预先注册每个所述组容器对应的导航逻辑;将所述页面导航指令分发到确定的所述导航逻辑上以触发所述导航逻辑,获取所述目标页面标识对应的页面信息;根据所述页面信息进行页面渲染,生成并显示待跳转的目标页面。
在一个实施例中,处理器还执行如下步骤:将所述组容器和所述组容器对应的导航逻辑封装成导航接口,所述组容器中的页面标识设置为缺省值;发布所述导航接口,以使第三方应用系统调用所述导航接口,并对所述组容器中的页面标识进行配置生成适应第三方应用的导航程序。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如下步骤:获取混合APP的页面导航指令,提取所述页面导航指令中携带的待跳转的目标页面标识;响应于所述页面导航指令,获取终端预先配置的所述混合APP对应的多个组容器,其中,每个所述组容器对应一种页面类型,所述混合APP的同一页面类型的所有页面标识承装于对应的所述组容器中;通过所述目标页面标识与每个所述组容器中的页面标识的匹配,确定所述述目标页面标识所属的所述组容器;获取预先注册的与确定的所述组容器对应的导航逻辑,执行所述导航逻辑以使页面跳转至所述目标页面标识对应的目标页面;其中,所述终端预先为每个所述组容器注册相应的导航逻辑,所述导航逻辑为能够实现相应页面类型的页面跳转方法。
在一个实施例中,在所述获取混合APP的页面导航指令,提取所述页面导航指令中携带的待跳转的目标页面标识的步骤之前,处理器还执行如下步骤:
当监测到混合APP切换至开启状态时,获取所述混合APP所有页面的页面标识和每个所述页面标识对应的页面类型;获取终端中预先存储的且未配置页面标识的组容器,所述组容器带有页面类型标签;根据所述页面类型将所述混合APP的所述页面标识添加至对应的所述组容器中以完成所述混合APP对应的所述组容器的配置。
在一个实施例中,所述页面标识包括模块标识和子页面标识,相应的,所述目标页面标识包括目标模块标识和目标子页面标识;
处理器所执行的所述通过所述目标页面标识与每个所述组容器中的页面标识的匹配,确定所述述目标页面标识所属的所述组容器的步骤为:匹配所述目标模块标识与所述组容器中的模块标识,确定包含有所述目标模块标识的组容器;查找确定的所述组容器中的匹配的所述模块标识下的所述子页面标识,确定包含有所述目标子页面标识的组容器,确定的所述组容器为所述目标页面标识所属的组容器。
在一个实施例中,处理器所执行的所述获取预先注册的与确定的所述组容器对应的导航逻辑,执行所述导航逻辑以使页面跳转至所述目标页面标识对应的目标页面;其中,所述终端预先为每个所述组容器注册相应的导航逻辑,所述导航逻辑为能够实现相应页面类型的页面跳转方法的步骤包括:根据所述组容器与导航逻辑的对应关系,确定所述目标页面标识对应的所述导航逻辑,其中,所述终端预先注册每个所述组容器对应的导航逻辑;将所述页面导航指令分发到确定的所述导航逻辑上以触发所述导航逻辑,获取所述目标页面标识对应的页面信息;根据所述页面信息进行页面渲染,生成并显示待跳转的目标页面。
在一个实施例中,处理器还执行如下步骤:将所述组容器和所述组容器对应的导航逻辑封装成导航接口,所述组容器中的页面标识设置为缺省值;发布所述导航接口,以使第三方应用系统调用所述导航接口,并对所述组容器中的页面标识进行配置生成适应第三方应用的导航程序。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,程序可存储于一计算机可读取存储介质中,如本发明实施例中,该程序可存储于计算机系统的存储介质中,并被该计算机系统中的至少一个处理器执行,以实现包括如上述各方法的实施例的流程。其中,存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。