页面展示方法、装置、电子设备及存储介质与流程

专利2022-05-09  81


本公开涉及互联网技术领域,尤其涉及一种页面展示方法、装置、电子设备及存储介质。



背景技术:

随着计算机技术的发展,越来越多的客户端被应用于人们的生活中。安装于终端上的客户端可以对页面进行显示,以便于用户浏览网页。

相关技术中,客户端对应的用户可以通过调用util方法、或者继承命令行个人助手(yoda)、或者使用命令行个人助手提供的应用程序编程接口(applicationprogramminginterface,api)等对页面进行展示。其中,util是包括常用工具的工具包。

但相关技术中,页面展示过程中的通信桥的构造需要依赖实例化好的网页视图(webview)实体对象,构造过程繁琐,系统资源消耗较大。且通信桥一般是默认不变的,无法动态注入,页面展示的灵活性较差。



技术实现要素:

本公开提供一种页面展示方法、装置、电子设备及存储介质,以至少解决相关技术中的通信桥的构造过程繁琐,系统资源消耗较大,且无法动态注入通信桥,页面展示的灵活性较差的问题。本公开的技术方案如下:

根据本公开实施例的第一方面,提供一种页面展示方法,包括:

响应于页面展示指令,调用网页视图控制器,所述网页视图控制器中包括网页视图上下文信息和实例化后的网页视图对象,所述网页视图上下文信息包括本地终端对应的用户场景信息和业务自定义通信桥;

基于所述网页视图控制器将网页视图上下文信息发送至网页视图场景管理器;

基于所述网页视图场景管理器,从预设映射关系获取所述用户场景信息对应的目标场景类,所述预设映射关系表征场景信息与场景类之间的关系;

基于所述网页视图场景管理器,根据所述网页上下文信息构造所述目标场景类对应的目标通信桥;

基于所述网页视图场景管理器,将所述目标通信桥发送至所述网页视图控制器;

基于所述网页视图控制器,将所述目标通信桥和所述业务自定义通信桥注入所述实例化后的网页视图对象,得到目标网页视图对象;

基于所述目标网页视图对象,展示目标页面。

在一示例性的实施方式中,所述网页上下文信息包括业务上下文件信息,则所述基于所述网页视图场景管理器,根据所述网页上下文信息构造所述目标场景类对应的目标通信桥,包括:

基于所述网页视图场景管理器,根据所述业务上下文信息,构建所述目标通信桥。

在一示例性的实施方式中,所述页面展示指令为首次展示所述目标页面的指令,则在所述响应于页面展示指令,调用网页视图控制器之后,所述方法还包括:

响应于场景类注册指令,将至少一个场景类注册到所述网页视图场景管理器中;

基于所述网页视图场景管理器,建立所述至少一个场景类与相应的场景信息之间的所述预设映射关系。

在一示例性的实施方式中,在所述响应于页面展示指令,调用网页视图控制器之前,所述方法还包括:

响应于页面属性的配置指令,生成所述页面属性的属性配置信息;

响应于场景信息的设置指令,生成所述用户场景信息;

响应于业务自定义通信桥的构造指令,生成所述业务自定义通信桥;

响应于业务上下文信息的构造指令,生成所述业务上下文信息;

响应于网页视图上下文信息的构造指令,根据所述属性配置信息、所述用户场景信息、所述业务上下文信息和所述业务自定义通信桥,构造所述网页视图上下文信息。

在一示例性的实施方式中,所述响应于页面属性的配置指令,生成所述页面属性的属性配置信息,包括:

响应于所述配置指令,在统一资源定位符和/或路由中对所述页面属性进行配置,得到所述属性配置信息。

在一示例性的实施方式中,所述页面属性为至少一个,至少一个页面属性包括目标页面属性,当统一资源定位符和路由中均配置有所述目标页面属性的属性配置信息的情况下,则在所述响应于页面属性的配置指令,生成所述页面属性的属性配置信息之后,所述方法还包括:

将在所述路由中对所述目标页面属性进行配置得到的属性配置信息,作为所述目标页面属性的属性配置信息。

在一示例性的实施方式中,在所述响应于网页视图上下文信息构造指令,根据所述属性配置信息、所述用户场景信息、所述业务上下文信息和所述业务自定义通信桥,构造所述网页视图上下文信息之后,所述方法还包括:

响应于上下文信息的上传指令,将所述网页视图上下文信息上传至所述网页视图控制器。

在一示例性的实施方式中,在所述响应于页面展示指令,调用网页视图控制器之后,所述方法还包括:

基于所述网页视图控制器启动网页视图活动组件;

相应地,所述基于所述网页视图控制器将网页视图上下文信息发送至网页视图场景管理器,包括:

基于所述网页视图活动组件将所述网页视图上下文信息发送至所述网页视图场景管理器;

相应地,所述基于所述目标网页视图对象,展示目标页面,包括:

基于所述目标网页视图对象,以全屏模式展示所述目标页面。

根据本公开实施例的第二方面,提供一种页面展示装置,包括:

调用模块,被配置为执行响应于页面展示指令,调用网页视图控制器,所述网页视图控制器中包括网页视图上下文信息和实例化后的网页视图对象,所述网页视图上下文信息包括本地终端对应的用户场景信息和业务自定义通信桥;

上下文信息发送模块,被配置为执行基于所述网页视图控制器将网页视图上下文信息发送至网页视图场景管理器;

目标场景类获取模块,被配置为执行基于所述网页视图场景管理器,从预设映射关系获取所述用户场景信息对应的目标场景类,所述预设映射关系表征场景信息与场景类之间的关系;

目标通信桥构造模块,被配置为执行基于所述网页视图场景管理器,根据所述网页上下文信息构造所述目标场景类对应的目标通信桥;

目标通信桥发送模块,被配置为执行基于所述网页视图场景管理器,将所述目标通信桥发送至所述网页视图控制器;

注入模块,被配置为执行基于所述网页视图控制器,将所述目标通信桥和所述业务自定义通信桥注入所述实例化后的网页视图对象,得到目标网页视图对象;

展示模块,被配置为执行基于所述目标网页视图对象,展示目标页面。

在一示例性的实施方式中,所述网页上下文信息包括业务上下文件信息,则所述目标通信桥构造模块,被配置为执行基于所述网页视图场景管理器,根据所述业务上下文信息,构建所述目标通信桥。

在一示例性的实施方式中,所述页面展示指令为首次展示所述目标页面的指令,则所述装置还包括:

场景类注册指令响应模块,被配置为执行响应于场景类注册指令,将至少一个场景类注册到所述网页视图场景管理器中;

预设映射关系建立模块,被配置为执行基于所述网页视图场景管理器,建立所述至少一个场景类与相应的场景信息之间的所述预设映射关系。

在一示例性的实施方式中,所述装置还包括:

属性配置信息生成模块,被配置为执行响应于页面属性的配置指令,生成所述页面属性的属性配置信息;

用户场景信息生成模块,被配置为执行响应于场景信息的设置指令,生成所述用户场景信息;

业务自定义通信桥获取模块,被配置为执行响应于业务自定义通信桥的构造指令,生成所述业务自定义通信桥;

业务上下文信息获取模块,被配置为执行响应于业务上下文信息的构造指令,生成所述业务上下文信息;

网页视图上下文信息生成模块,被配置为执行响应于网页视图上下文信息的构造指令,根据所述属性配置信息、所述用户场景信息、所述业务上下文信息和所述业务自定义通信桥,构造所述网页视图上下文信息。

在一示例性的实施方式中,所述属性配置信息生成模块,被配置为执行响应于所述配置指令,在统一资源定位符和/或路由中对所述页面属性进行配置,得到所述属性配置信息。

在一示例性的实施方式中,所述页面属性为至少一个,至少一个页面属性包括目标页面属性,当统一资源定位符和路由中均配置有所述目标页面属性的属性配置信息的情况下,则所述装置还包括:

属性配置信息确定模块,被配置为执行将在所述路由中对所述目标页面属性进行配置得到的属性配置信息,作为所述目标页面属性的属性配置信息。

在一示例性的实施方式中,所述装置还包括:

上传指令响应模块,被配置为执行响应于上下文信息的上传指令,将所述网页视图上下文信息上传至所述网页视图控制器。

在一示例性的实施方式中,所述装置还包括:

网页视图活动组件启动模块,被配置为执行基所述网页视图控制器启动网页视图活动组件;

相应地,所述上下文信息发送模块,被配置为执行基于所述网页视图活动组件将所述网页视图上下文信息发送至所述网页视图场景管理器;

相应地,所述展示模块,被配置为执行基于所述目标网页视图对象,以全屏模式展示所述目标页面。

根据本公开实施例的第三方面,提供一种电子设备,包括:

处理器;

用于存储所述处理器可执行指令的存储器;

其中,所述处理器被配置为执行所述指令,以实现如上述任一实施方式所述的页面展示方法。

根据本公开实施例的第四方面,提供一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备执行如上述任一实施方式所述的页面展示方法。

根据本公开实施例的第五方面,提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一实施方式所述的页面展示方法。

本公开的实施例提供的技术方案至少带来以下有益效果:

本公开实施例基于网页视图控制器,将包括用户场景信息和业务自定义通信桥的网页视图上下文信息传入网页视图场景管理器,由网页视图场景管理器按照预设映射关系,获取用户场景信息对应的目标场景类,并由网页视图场景管理器,根据网页上下文信息构造目标场景类对应的目标通信桥,接着由网页视图场景管理器将目标通信桥发送至网页视图控制器,最后基于网页视图控制器,将目标通信桥和业务自定义通信桥注入实例化后的网页视图对象,得到目标网页视图对象,以通过该目标网页视图对象展示目标页面。本公开实施例由网页视图场景管理器,根据网页上下文信息构造目标场景类对应的目标通信桥,构造目标通信桥的时候不需要传入实例化后的网页视图对象,即目标通信桥的构造不需要依赖实例化后的网页视图对象,目标通信桥的构造成本较低,系统资源消耗较少。此外,由于可以通过网页视图控制器,将目标通信桥和业务自定义通信桥注入实例化后的网页视图对象,即通信桥是可以动态注入的,而并不是出于默认写死的状态,从而提高目标页面展示的灵活性和便捷性。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。

图1是根据一示例性实施例示出的一种页面展示方法的应用环境图。

图2是根据一示例性实施例示出的一种页面展示方法的流程图。

图3是根据一示例性实施例示出的一种构造页面上下文信息的流程图。

图4是根据一示例性实施例示出的对场景类进行注册的流程图。

图5是根据一示例性实施例示出的一种页面展示装置框图。

图6是根据一示例性实施例示出的一种用于页面展示的电子设备的框图。

具体实施方式

为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。

需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。

请参阅图1,图1所示为根据一示例性实施例示出的一种页面展示方法的应用环境图,该应用环境可以包括终端01和服务器02。终端01可以与服务器02进行通信连接,以从服务器02上下载待显示的页面的页面信息。

其中,终端01可以用于响应于页面展示指令,调用网页视图控制器,并基于目标网页视图对象,展示目标页面。可选地,该终端01包括智能手机、台式电脑、平板电脑、笔记本电脑、数字助理、增强现实(augmentedreality,ar)/虚拟现实(virtualreality,vr)设备、智能可穿戴设备等终端设备。

可选地,服务器02可以是包括独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(contentdeliverynetwork,cdn)、以及大数据和人工智能平台等基础云计算服务的云服务器。

需要说明的是,图1仅仅是一种示例。

图2是根据一示例性实施例示出的一种页面展示方法的流程图,如图2示,该方法用于图1中的终端中,包括以下步骤:

在步骤s11中,响应于页面展示指令,调用网页视图控制器,上述网页视图控制器中包括网页视图上下文信息和实例化后的网页视图对象,上述网页视图上下文信息包括本地终端对应的用户场景信息和业务自定义通信桥。

本公开实施例中,用户可以在终端上浏览页面。该页面可以为超文本标记语言(hypertextmarkuplanguage,html)页面、html5(h5)页面,等等。

在一个具体的实施例中,当终端对应的用户(比如,业务方)想要打开目标页面时,可以触发启动页面的页面展示指令,终端响应该页面展示指令,调用上述网页视图控制器(webviewcontroller)中的show方法,以便后续对目标页面进行展示。其中,show方法是使页面可见的方法。

其中,网页视图控制器(webviewcontroller)是一个统一所有h5调用、保持页面行为统一、功能一致的组件。其内部封装了展示h5的页面、获取h5fragment(h5碎片)方法,用于控制页面显示。其对外暴露了两个方法,一个是打开h5页面,一个是调用方得到配置完成的网页视图实体对象。同时该网页视图控制器还可以支持业务方实现监听页面展示和关闭的回调。页面展示和关闭的api都需要页面的统一资源定位符(url)参数和网页视图上下文信息。

在一个可选的实施例中,图3是根据一示例性实施例示出的一种构造页面上下文信息的流程图。如图3所示,在步骤s11之前,上述方法还可以包括:在步骤s10中,构造网页视图上下文信息(webviewcontext)。

具体地,上述构造网页视图上下文信息,可以包括:

在步骤s1001中,响应于页面属性的配置指令,生成上述页面属性的属性配置信息。

在步骤s1003中,响应于场景信息的设置指令,生成上述用户场景信息。

在步骤s1005中,响应于业务自定义通信桥的构造指令,生成上述业务自定义通信桥。

在步骤s1007中,响应于业务上下文信息的构造指令,生成上述业务上下文信息。

在步骤s1009中,响应于网页视图上下文信息的构造指令,根据上述属性配置信息、上述用户场景信息、上述业务上下文信息和上述业务自定义通信桥,构造上述网页视图上下文信息。

具体地,终端对应的用户(比如,业务方)可以构造网页视图上下文信息,配置页面的各个属性、设置用户的用户场景信息,终端对应的用户(比如,业务方)还可以传入业务上下文信息(playcallercontext)和业务自定义通信桥。

具体地,上述网页视图上下文信息(webviewcontext)指的是打开目标页面所必须的运行时数据。

示例性地,上述步骤s1001中,可以在网页视图参数(webviewparam)中,对页面属性进行定制,生成页面属性的属性配置信息。上述页面属性可以包括但不限于:页面的透明度、蒙层暗度、点击外部是否收起、页面高度、页面宽度、是否全屏、是否手动下滑页面关闭、顶部是否圆角、标题栏颜色、标题栏文字等等。对各个页面属性进行配置得到的属性配置信息,可以如表1所示。

具体地,页面属性的配置可以分为两个部分,一个是直接在页面容器上操作,比如页面高度、蒙层暗度、手动下滑关闭页面、点击外部页面消失等,一个是生产launchmodel对象传递给yoda中台的,比如是否支持展示加载中的动画、标题栏颜色、返回按钮等。其中,launchmodel是一种启动模式。

表1各个页面属性进行配置得到的属性配置信息

需要说明的是,定制属性属于协议层,苹果公司开发的移动操作系统(ios)和谷歌公司开发的移动操作系统(android)之间理论上来说应该是无差异的,但是由于历史实现不同,比如android支持业务方自定义页面打开和关闭的动画,ios的打开关闭动画是默认的。

示例性地,上述步骤s1003中,终端对应的用户(比如,业务方)还可以设置自己当前的场景信息。以直播业务为例,若业务方为直播主播方,则上述用户场景信息可以包括直播主播端场景(业务方为直播主播方)、直播观众端场景(业务方为直播观众端)和开播页场景。

本公开实施例中,设置用户场景信息是为了区分各个场景信息,而区分各个场景信息的原因在于:各个业务具有各自对应的通信桥,通过场景信息区分,使得后续可以准确生成由用户场景信息获取到的目标场景类对应的目标通信桥,提高各个业务的目标通信桥构建的精度。

示例性地,上述步骤s1005中,通信桥可以指的是页面(比如,h5)与本地终端之间的通信。可选地,业务自定义通信桥可以为终端对应的用户(比如,业务方)自定义设置的通信桥。例如,点击h5的某个页面,唤起短信页面等任何逻辑都可以封装在通信桥内。具体地,该自定义通信桥可以是一个大的业务中的子业务的自定义通信桥。例如,针对一个大的直播业务,可以直接在一个类中聚合很多公共的桥方法(比如打开礼物面板、送礼等)。其中,礼物面板就是该直播业务下的子业务。

示例性地,上述步骤s1007中,业务上下文信息可以指的是业务本身的运行时数据。以业务为直播业务为例,如果在直播间想要打开礼物面板,礼物面板本身就是一个服务,该服务被直播间这个业务上下文持有。

从上述网页视图上下文信息构造过程可以看出,本公开实施例中构造得到的网页视图上下文信息中可以持有webviewparam对象,并且可以为webviewparam对象默认实现了默认值(比如默认支持手动下滑关闭页面等)。网页视图上下文信息还可以持有运行时(runtime)数据,比如业务方的activity信息、碎片管理(fragmentmanager)信息、业务上下文信息、业务自定义通信桥、业务方提供的页面容器(如果未提供,可以默认创建并在展示完成时返回容器)。其中,activity是一个应用程序组件,提供一个屏幕,用户可以用来交互为了完成某项任务。

由于本公开实施例在构造网页视图上下文信息的时候,不仅可以对多种页面属性进行设置,还为了便于后续通信桥的动态注入,新增了场景属性(即区分了场景的概念,每个场景都有各自对应的通信桥)、业务上下文的基类属性(业务上下文信息)和业务方动态桥的map属性(业务自定义通信桥),定制化程度更高,网页视图上下文信息的构造过程更加灵活,从而确保后续动态桥的顺利注入,进而提高后续目标页面展示精度和灵活性。

在一个可选的实施例中,上述步骤s1001中,上述响应于页面属性的配置指令,生成上述页面属性的属性配置信息,可以包括:

响应于上述配置指令,在统一资源定位符和/或路由中对上述页面属性进行配置,得到上述属性配置信息。

该实施例中,页面属性的定制可以包括两类:统一资源定位符(url)中携带属性参数和代码显示的定制。在对页面属性进行配置的时候,可以按照实际需求在统一资源定位符和/或路由中对各个页面属性进行配置,得到各个页面属性的属性配置信息。其中,路由中携带的属性参数客户端会显示的解析,因此属于代码显示的定制。

在一个具体的实施例中,在url中对属性进行定制的过程可以如下:

在url链接中拼接launch_options,可以定制相关属性,属性需要编码,如标题栏标题颜色、状态栏电池颜色等。其中,launch_options为启动的方式。

具体地,可以在url后面用&拼接属性,终端拿到该url就可以解析得到相应的拼接属性。

本公开实施例,由于可以通过至少一个渠道对页面的属性进行定制,页面属性的定制程度较高,定制更加灵活。通过页面属性的定制,可以收敛打开webview的入口,便于后期维护和管理,还可以统一双端横竖屏打开webview的操作,统一双端效果,还可以支持自定义导航栏标题颜色、导航栏背景色、进度条颜色等,还可以统一双端的协议参数、代码结构、调用函数保持一致,达到后期双端合作沟通开发的成本降低等。

在一个可选的实施例中,上述页面属性为至少一个,至少一个页面属性包括目标页面属性,当统一资源定位符和路由中均配置有上述目标页面属性的属性配置信息的情况下,则在上述响应于页面属性的配置指令,生成上述页面属性的属性配置信息之后,上述方法还可以包括:

将在上述路由中对上述目标页面属性进行配置得到的属性配置信息,作为上述目标页面属性的属性配置信息。

本公开实施例中,不同定制渠道对同一页面属性配置得到的页面属性配置信息之间可能会冲突。比如,对于页面属性中的某个目标页面属性,在url和路由中均对其进行了定制,可能会冲突,导致该目标页面属性的属性配置信息不可用,为了避免不同定制渠道对同一页面属性进行配置所带来的属性配置信息之间的冲突,可以使代码显示定制优先级大于url定制的优先级,即选择路由中配置得到的属性配置信息,舍弃url中配置得到的属性配置信息,从而提高页面属性定制的有效性。

在一个可选的实施例中,在响应于网页视图上下文信息的构造指令,根据上述属性配置信息、上述用户场景信息、上述业务上下文信息和上述业务自定义通信桥,构造上述网页视图上下文信息之后,上述方法还可以包括:

响应于上下文信息的上传指令,将上述网页视图上下文信息上传至上述网页视图控制器。本公开实施例中,在终端对应的用户(比如,业务方)构造出网页视图上下文信息之后,可以将网页视图上下文信息传入网页视图控制器。由于网页视图上下文信息是通过上述定制方法定制得到的,定制程度和灵活性较高,将该网页视图上下文信息传入网页视图控制器,可以提高后续网页视图控制器展示目标页面的精度和灵活性。

在一个可选的实施例中,在步骤s11之前,上述方法还可以包括实例化网页视图对象的步骤。示例性地,实例化网页视图对象的步骤可以如下:

终端对应的用户(比如,业务方)可以预先构造yoda的webfragment(页面碎片),上述webfragment是一个类,通过该类构建网页视图(webview)对象,接着配置该webview对象的透明度、标题、注入通信桥等,得到实例化后的网页视图对象。

在步骤s13中,基于上述网页视图控制器将网页视图上下文信息发送至网页视图场景管理器。

在步骤s15中,基于上述网页视图场景管理器,从预设映射关系获取上述用户场景信息对应的目标场景类,上述预设映射关系表征场景信息与场景类之间的关系。

本公开实施例中,可以由网页视图控制器,将上述构建好的网页视图上下文信息发送至网页视图场景管理器(webviewjsbridgescenemanager)。

具体地,网页视图场景管理器直接与webviewcontroller进行通信,网页视图场景管理器中里面维护着一个场景到场景类的预设映射关系(map)。

其中,场景类是一个生命,类似枚举类,场景类中声明了一下场景,比如,直播观众端、开播页、电商等场景。

由于网页视图场景管理器中里面维护着一个场景到场景类的映射关系,在将网页视图上下文信息发送至网页视图场景管理器之后,网页视图场景管理器可以根据该预设映射关系,取出用户场景信息对应的目标场景类。

在一个可选的实施例中,图4是根据一示例性实施例示出的对场景类进行注册的流程图。如图4所示,上述页面展示指令为首次展示上述目标页面的指令,则在上述响应于页面展示指令,调用网页视图控制器之后,上述方法还可以包括:在步骤s12中,对场景类进行注册。

示例性地,上述对场景类进行注册可以包括:

在步骤s1201中,响应于场景类注册指令,将至少一个场景类注册到上述网页视图场景管理器中。

在步骤s1203中,基于上述网页视图场景管理器,建立上述至少一个场景类与相应的场景信息之间的上述预设映射关系。

本公开实施例中,当终端对应的用户(比如,业务方)第一次调用打开目标页面时,可以通知各个场景类将其自身注册到上述网页视图场景管理器中,网页视图场景管理器建立至少一个场景类与相应的场景信息之间的预设映射关系。

为了实现通信桥下沉,提高业务的适用范围,使得本公开实施例提供的方法不仅可以用于直播业务,还可以用于其他业务。在一个可选的实施例中还可以设置有网页视图场景协议(webviewjsbridgesceneprotocol),上述场景类共同遵守该协议,该协议中可以获取该场景下的通信桥集合。

本公开实施例中,当终端对应的用户(比如,业务方)第一次调用打开目标页面时,可以通知各个场景类将其自身注册到上述网页视图场景管理器中,且整个项目的生命只会注册这一次,从而确保了加载时才动态注册。由于是在首次启动的时候动态注册,注册之后,会对首次注册的场景类信息进行记录,下次再启动的时候,直接提取首次已经注册的场景类信息即可,无需再重新注册,不仅提高了代码的灵活性,还由于可以避免重复注册,节约了系统资源,降低了展示目标页面展示的成本。

在步骤s17中,基于上述网页视图场景管理器,根据上述网页上下文信息构造上述目标场景类对应的目标通信桥。

在步骤s19中,基于上述网页视图场景管理器,将上述目标通信桥发送至上述网页视图控制器。

在一个具体的实施例中,上述网页上下文信息包括业务上下文信息,则上述步骤s17中,上述基于上述网页视图场景管理器,根据上述网页上下文信息构造上述目标场景类对应的目标通信桥,可以包括:

基于上述网页视图场景管理器,根据上述业务上下文信息,构建上述目标通信桥。

为了实现通信桥下沉,提高业务的适用范围,使得本公开实施例提供的方法不仅可以用于直播业务,还可以用于其他业务。在一个可选的实施例中,还可以设置有网页视图接口(webviewjsinterface),该webviewjsinterface为允许业务方可以继承、并动态注册自己的桥的类,不需要在构造时还需要传入已经实例化好的webview对象,而是后续网页视图控制器真正开注入通信桥的时候,才会动态的给该通信桥设置webview对象。

本公开实施例中,网页视图场景管理器可以驱动目标场景类,根据业务上下文信息构造上述目标通信桥。由于目标通信桥的构造过程并不需要依赖实例化后的网页视图(webview)对象,目标通信桥的构造过程更加方便灵活,同时由于对webview对象依赖性较低,还可以节约系统资源,降低目标通信桥的构建成本,从而降低目标页面展示的成本。

在步骤s111中,基于上述网页视图控制器,将上述目标通信桥和上述业务自定义通信桥注入实例化后的网页视图对象,得到目标网页视图对象。

在步骤s113中,基于上述目标网页视图对象,展示目标页面。

本公开实施例中,在得到目标通信桥之后,可以通过网页视图控制器,将上述目标通信桥和上述业务自定义通信桥动态注入实例化后的网页视图对象,从而得到目标网页视图对象。上述网页视图控制器将该目标网页视图对象返回至终端,终端通过该目标网页视图对象对目标页面进行展示。

由于本公开实施例可以将目标通信桥和业务自定义通信桥动态注入,避免将通信桥设置为默认写死的状态所带来的通信桥的设置灵活性较差,适用范围较小的缺陷,从而提高目标页面展示的灵活性和便捷性。

此外,本公开实施例提供的上述组件支持支持客户端配置、支持服务端配置、支持h5配置,进一步提高业务的适用范围。

在一个可选的实施例中,上述响应于页面展示指令,调用网页视图控制器之后,上述方法还可以包括:

基于上述网页视图控制器启动网页视图活动组件。

相应地,上述基于上述网页视图控制器将网页视图上下文信息发送至网页视图场景管理器,可以包括:

基于上述网页视图活动组件将上述网页视图上下文信息发送至上述网页视图场景管理器。

相应地,上述基于上述目标网页视图对象,展示目标页面,可以包括:

基于上述目标网页视图对象,以全屏模式展示上述目标页面。

本公开实施例中,对上述目标页面进行展示可以通过半屏模式进行展示,也可以通过全屏模式进行展示。

为了支持以全屏模式对目标页面进行展示,可以新增网页视图活动组件(webviewactivity),该类继承自yoda基类,内部靠传递网页视图上下文信息给网页视图场景管理器来完成通信桥的注入。

由于该webviewactivity可以进一步实现通信桥下沉。启动时,只需要加载已经存储好的网页视图上下文信息,传递给网页视图场景管理器完成通信桥的注入即可,提高了全屏展示目标页面的便捷性和业务的适用范围。

在一个可选的实施例中,不仅可以通过目标网页视图对象展示目标页面,还可以获得h5的碎片(fragment),让业务方做自己的定制化,定制化程度较高,灵活性更好。

在另一个可选的实施例中,为了使本公开实施例提供的可以更加方便地用于一线工程,还可以对基于上述目标网页视图对象展示目标页面进行封装,从而在实际应用中,可以直接通过路由方式打开目标页面,或直接通过通信桥的方式打开目标页面。

在一个具体的实施例中,为了更加方便了打开h5,还可以新增打开自由定制页面的js桥方法(opencustomh5),新增实体类(livewebviewopencustomh5params)。

图5是根据一示例性实施例示出的一种页面展示装置框图。参照图5,该装置可以包括调用模块21、上下文信息发送模块23、目标场景类获取模块25、目标通信桥构造模块27、目标通信桥发送模块29、注入模块211和展示模块213。

调用模块21,被配置为执行响应于页面展示指令,调用网页视图控制器,上述网页视图控制器中包括网页视图上下文信息和实例化后的网页视图对象,上述网页视图上下文信息包括本地终端对应的用户场景信息和业务自定义通信桥。

上下文信息发送模块23,被配置为执行基于上述网页视图控制器将网页视图上下文信息发送至网页视图场景管理器。

目标场景类获取模块25,被配置为执行基于上述网页视图场景管理器,从预设映射关系获取上述用户场景信息对应的目标场景类,上述预设映射关系表征场景信息与场景类之间的关系。

目标通信桥构造模块27,被配置为执行基于上述网页视图场景管理器,根据上述网页上下文信息构造上述目标场景类对应的目标通信桥。

目标通信桥发送模块29,被配置为执行基于上述网页视图场景管理器,将上述目标通信桥发送至上述网页视图控制器。

注入模块211,被配置为执行基于上述网页视图控制器,将上述目标通信桥和上述业务自定义通信桥注入实例化后的网页视图对象,得到目标网页视图对象。

展示模块213,被配置为执行基于上述目标网页视图对象,展示目标页面。

在一示例性的实施方式中,上述网页上下文信息包括业务上下文件信息,则上述目标通信桥构造模块27,被配置为执行基于上述网页视图场景管理器,根据上述业务上下文信息,构建上述目标通信桥。

在一示例性的实施方式中,上述页面展示指令为首次展示上述目标页面的指令,则上述装置还可以包括:

场景类注册指令响应模块,被配置为执行响应于场景类注册指令,将至少一个场景类注册到上述网页视图场景管理器中。

预设映射关系建立模块,被配置为执行基于上述网页视图场景管理器,建立上述至少一个场景类与相应的场景信息之间的上述预设映射关系。

在一示例性的实施方式中,上述装置还可以包括:

属性配置信息生成模块,被配置为执行响应于页面属性的配置指令,生成上述页面属性的属性配置信息。

用户场景信息生成模块,被配置为执行响应于场景信息的设置指令,生成上述用户场景信息。

业务自定义通信桥获取模块,被配置为执行响应于业务自定义通信桥的构造指令,生成上述业务自定义通信桥。

业务上下文信息获取模块,被配置为执行响应于业务上下文信息的构造指令,生成上述业务上下文信息。

网页视图上下文信息生成模块,被配置为执行响应于网页视图上下文信息的构造指令,根据上述属性配置信息、上述用户场景信息、上述业务上下文信息和上述业务自定义通信桥,构造上述网页视图上下文信息。

在一示例性的实施方式中,上述属性配置信息生成模块,被配置为执行响应于上述配置指令,在统一资源定位符和/或路由中对上述页面属性进行配置,得到上述属性配置信息。

在一示例性的实施方式中,上述页面属性为至少一个,至少一个页面属性包括目标页面属性,当统一资源定位符和路由中均配置有上述目标页面属性的属性配置信息的情况下,则上述装置还可以包括:

属性配置信息确定模块,被配置为执行将在上述路由中对上述目标页面属性进行配置得到的属性配置信息,作为上述目标页面属性的属性配置信息。

在一示例性的实施方式中,上述装置还可以包括:

上传指令响应模块,被配置为执行响应于上下文信息的上传指令,将上述网页视图上下文信息上传至上述网页视图控制器。

在一示例性的实施方式中,上述装置还可以包括:

网页视图活动组件启动模块,被配置为执行基上述网页视图控制器启动网页视图活动组件。

相应地,上述上下文信息发送模块,被配置为执行基于上述网页视图活动组件将上述网页视图上下文信息发送至上述网页视图场景管理器。

相应地,上述展示模块,被配置为执行基于上述目标网页视图对象,以全屏模式展示上述目标页面。

关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

在示例性实施例中,还提供了一种电子设备,包括处理器;用于存储处理器可执行指令的存储器;其中,处理器被配置为执行存储器上所存放的指令时,实现上述实施例中任一页面展示方法的步骤。

该电子设备可以是终端、服务器或者类似的运算装置,以该电子设备是服务器为例,图6是根据一示例性实施例示出的一种用于页面展示的电子设备的框图,该电子设备30可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(centralprocessingunits,cpu)31(中央处理器31可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)、用于存储数据的存储器33,一个或一个以上存储应用程序323或数据322的存储介质32(例如一个或一个以上海量存储设备)。其中,存储器33和存储介质32可以是短暂存储或持久存储。存储在存储介质32的程序可以包括一个或一个以上模块,每个模块可以包括对电子设备中的一系列指令操作。更进一步地,中央处理器31可以设置为与存储介质32通信,在电子设备30上执行存储介质32中的一系列指令操作。电子设备80还可以包括一个或一个以上电源36,一个或一个以上有线或无线网络接口35,一个或一个以上输入输出接口34,和/或,一个或一个以上操作系统321,例如windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm等等。

输入输出接口34可以用于经由一个网络接收或者发送数据。上述的网络具体实例可包括电子设备30的通信供应商提供的无线网络。在一个实例中,输入输出接口34包括一个网络适配器(networkinterfacecontroller,nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个示例性实施例中,输入输出接口34可以为射频(radiofrequency,rf)模块,其用于通过无线方式与互联网进行通讯。

本领域普通技术人员可以理解,图6所示的结构仅为示意,其并不对上述电子设备的结构造成限定。例如,电子设备30还可包括比图6中所示更多或者更少的组件,或者具有与图6所示不同的配置。

在示例性实施例中,还提供了一种计算机可读存储介质,当计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行上述实施例中任一页面展示方法的步骤。

在示例性实施例中,还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述任一种实施方式中提供的页面展示方法。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本公开所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。

应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。


技术特征:

1.一种页面展示方法,其特征在于,包括:

响应于页面展示指令,调用网页视图控制器,所述网页视图控制器中包括网页视图上下文信息和实例化后的网页视图对象,所述网页视图上下文信息包括本地终端对应的用户场景信息和业务自定义通信桥;

基于所述网页视图控制器将网页视图上下文信息发送至网页视图场景管理器;

基于所述网页视图场景管理器,从预设映射关系获取所述用户场景信息对应的目标场景类,所述预设映射关系表征场景信息与场景类之间的关系;

基于所述网页视图场景管理器,根据所述网页上下文信息构造所述目标场景类对应的目标通信桥;

基于所述网页视图场景管理器,将所述目标通信桥发送至所述网页视图控制器;

基于所述网页视图控制器,将所述目标通信桥和所述业务自定义通信桥注入所述实例化后的网页视图对象,得到目标网页视图对象;

基于所述目标网页视图对象,展示目标页面。

2.根据权利要求1所述的页面展示方法,其特征在于,所述网页上下文信息包括业务上下文件信息,则所述基于所述网页视图场景管理器,根据所述网页上下文信息构造所述目标场景类对应的目标通信桥,包括:

基于所述网页视图场景管理器,根据所述业务上下文信息,构建所述目标通信桥。

3.根据权利要求1所述的页面展示方法,其特征在于,所述页面展示指令为首次展示所述目标页面的指令,则在所述响应于页面展示指令,调用网页视图控制器之后,所述方法还包括:

响应于场景类注册指令,将至少一个场景类注册到所述网页视图场景管理器中;

基于所述网页视图场景管理器,建立所述至少一个场景类与相应的场景信息之间的所述预设映射关系。

4.根据权利要求1至3中任一项所述的页面展示方法,其特征在于,在所述响应于页面展示指令,调用网页视图控制器之前,所述方法还包括:

响应于页面属性的配置指令,生成所述页面属性的属性配置信息;

响应于场景信息的设置指令,生成所述用户场景信息;

响应于业务自定义通信桥的构造指令,生成所述业务自定义通信桥;

响应于业务上下文信息的构造指令,生成所述业务上下文信息;

响应于网页视图上下文信息的构造指令,根据所述属性配置信息、所述用户场景信息、所述业务上下文信息和所述业务自定义通信桥,构造所述网页视图上下文信息。

5.根据权利要求4所述的页面展示方法,其特征在于,所述响应于页面属性的配置指令,生成所述页面属性的属性配置信息,包括:

响应于所述配置指令,在统一资源定位符和/或路由中对所述页面属性进行配置,得到所述属性配置信息。

6.根据权利要求5所述的页面展示方法,其特征在于,所述页面属性为至少一个,至少一个页面属性包括目标页面属性,当统一资源定位符和路由中均配置有所述目标页面属性的属性配置信息的情况下,则在所述响应于页面属性的配置指令,生成所述页面属性的属性配置信息之后,所述方法还包括:

将在所述路由中对所述目标页面属性进行配置得到的属性配置信息,作为所述目标页面属性的属性配置信息。

7.根据权利要求1至3中任一项所述的页面展示方法,其特征在于,在所述响应于页面展示指令,调用网页视图控制器之后,所述方法还包括:

基于所述网页视图控制器启动网页视图活动组件;

相应地,所述基于所述网页视图控制器将网页视图上下文信息发送至网页视图场景管理器,包括:

基于所述网页视图活动组件将所述网页视图上下文信息发送至所述网页视图场景管理器;

相应地,所述基于所述目标网页视图对象,展示目标页面,包括:

基于所述目标网页视图对象,以全屏模式展示所述目标页面。

8.一种页面展示装置,其特征在于,包括:

调用模块,被配置为执行响应于页面展示指令,调用网页视图控制器,所述网页视图控制器中包括网页视图上下文信息和实例化后的网页视图对象,所述网页视图上下文信息包括本地终端对应的用户场景信息和业务自定义通信桥;

上下文信息发送模块,被配置为执行基于所述网页视图控制器将网页视图上下文信息发送至网页视图场景管理器;

目标场景类获取模块,被配置为执行基于所述网页视图场景管理器,从预设映射关系获取所述用户场景信息对应的目标场景类,所述预设映射关系表征场景信息与场景类之间的关系;

目标通信桥构造模块,被配置为执行基于所述网页视图场景管理器,根据所述网页上下文信息构造所述目标场景类对应的目标通信桥;

目标通信桥发送模块,被配置为执行基于所述网页视图场景管理器,将所述目标通信桥发送至所述网页视图控制器;

注入模块,被配置为执行基于所述网页视图控制器,将所述目标通信桥和所述业务自定义通信桥注入所述实例化后的网页视图对象,得到目标网页视图对象;

展示模块,被配置为执行基于所述目标网页视图对象,展示目标页面。

9.一种电子设备,其特征在于,包括:

处理器;

用于存储所述处理器可执行指令的存储器;

其中,所述处理器被配置为执行所述指令,以实现如权利要求1至7中任一项所述的页面展示方法。

10.一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备执行如权利要求1至7中任一项所述的页面展示方法。

技术总结
本公开关于一种页面展示方法、装置、电子设备及存储介质,该方法包括:响应于页面展示指令,调用包括网页视图上下文信息和实例化后的网页视图对象的网页视图控制器,网页视图上下文信息包括用户场景信息和业务自定义通信桥;基于网页视图场景管理器,获取用户场景信息对应的目标场景类、构造目标通信桥、将目标通信桥发送至网页视图控制器;基于网页视图控制器将目标通信桥和业务自定义通信桥注入实例化后的网页视图对象,得到目标网页视图对象;基于目标网页视图对象展示目标页面。利用本公开实施例提供的技术方案可以在不依赖网页视图对象的情况下,构造目标通信桥,降低系统资源消耗。且通信桥可以动态注入,提高目标页面展示的灵活性。

技术研发人员:蓝伟华
受保护的技术使用者:北京达佳互联信息技术有限公司
技术研发日:2021.03.30
技术公布日:2021.08.03

转载请注明原文地址:https://doc.8miu.com/read-8593.html

最新回复(0)