CN115795212A - 一种页面显示方法、装置、电子设备及存储介质 - Google Patents
一种页面显示方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN115795212A CN115795212A CN202211448521.4A CN202211448521A CN115795212A CN 115795212 A CN115795212 A CN 115795212A CN 202211448521 A CN202211448521 A CN 202211448521A CN 115795212 A CN115795212 A CN 115795212A
- Authority
- CN
- China
- Prior art keywords
- data
- page
- data exchange
- exchange language
- user terminal
- 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
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明实施例提供了一种页面显示方法、装置、电子设备及存储介质,服务端获取用户终端发送的页面请求;获取用户终端的环境参数及页面标识对应的待显示页面的页面描述数据;根据环境参数,将页面描述数据解析为多个数据交换语言字符串;将多个数据交换语言字符串发送给用户终端,以使用户终端根据多个数据交换语言字符串显示待显示页面。数据交换语言字符串是一种完全独立于编程语言的文本格式,任何类型的平台均可以根据数据交换语言字符串进行页面渲染显示。针对不同类型的平台开发相同的页面描述数据,能够提高产品开发效率,降低人力成本,可以跨平台使用;一次页面描述数据的更新,可实现各平台的更新,新版本发布方便,产品能快速迭代上线。
Description
技术领域
本发明涉及计算机及数据处理技术领域,特别是涉及一种页面显示方法、装置、电子设备及存储介质。
背景技术
随着计算机技术的不断发展,多种平台的智能设备不断涌现。相关技术中,服务提供方为了使自身互联网产品能够在多平台的设备中呈现,通常通过不同的技术语言去分端实现产品,常见的平台包括手机端(安卓、苹果)、PC(电脑端)、H5(手机网页)、PCA(电脑应用)、PAD(平板电脑)、TV(电视端)、智能设备(车载屏幕、智能家居)等,涉及到的技术领域语言大体包括Web、Android、Object-c、Swift、React-native、Flutter等。这样,服务提供方在提供互联网产品时,需要针对每种类型的平台均开发一种客户端产品。
然而采用上述方式,需要花费大量资源,利用不同技术去分平台实现客户端产品,存在如下技术缺点:1、开发效率低下,人力成本高;2、原生页面不能跨平台使用;3、各平台发版受到限制,需要等各平台全部开发后才能实现产品更新;4、产品新功能不能快速上线,试错成本增大,无法抢占先机。
发明内容
本发明实施例的目的在于提供一种页面显示方法、装置、电子设备及存储介质,以实现解决当前市场多端产品需要多端分别实现、开发效率低下,人力成本高的技术问题。具体技术方案如下:
在本发明实施的第一方面,首先提供了一种页面显示方法,应用于服务端,所述方法包括:
获取用户终端发送的页面请求,其中,所述页面请求中包括待显示页面的页面标识;
获取所述用户终端的环境参数及所述页面标识对应的待显示页面的页面描述数据,所述环境参数包括所述用户终端的平台类型标识;
根据所述环境参数,将所述页面描述数据解析为多个数据交换语言字符串;
将所述多个数据交换语言字符串发送给所述用户终端,以使所述用户终端根据所述多个数据交换语言字符串显示所述待显示页面。
可选的,所述页面描述数据包括至少一个组件描述项目,每一所述组件描述项目包括至少一个元组描述子项目;
所述根据所述环境参数,将所述页面描述数据解析为多个数据交换语言字符串,包括:
遍历所述页面描述数据,针对所述页面描述数据中的每一个组件描述项目,判断该组件描述项目中是否包括API调用参数;
若该组件描述项目中包括API调用参数,则基于所述环境参数,利用所述API调用参数调用接口数据;根据所述环境参数、所述接口数据及该组件描述项目中的元组描述子项目,生成数据交换语言字符串;
若该组件描述项目中不包括API调用参数,则根据所述环境参数及该组件描述项目中的元组描述子项目,生成该组件描述项目的数据交换语言字符串。
可选的,所述环境参数还包括客户端版本标识;
所述基于所述环境参数,利用所述API调用参数调用接口数据,包括:
利用所述API调用参数调用所述平台类型标识及所述客户端版本标识对应的接口数据;
所述根据所述环境参数、所述接口数据及该组件描述项目中的元组描述子项目,生成该组件描述项目的数据交换语言字符串,包括:
根据所述平台类型标识及所述客户端版本标识,生成该组件描述项目的环境配置数据;
根据所述接口数据,生成该组件描述项目的目标配置数据;
根据该组件描述项目中的元组描述子项目,生成该组件描述项目的待配置字符串;
利用该组件描述项目的环境配置数据及目标配置数据,对该组件描述项目的待配置字符串进行配置,得到该组件描述项目的数据交换语言字符串。
可选的,所述利用所述API调用参数调用所述平台类型标识及所述客户端版本标识对应的接口数据,包括:
根据所述平台类型标识及所述客户端版本标识,确定待调用的接口数据的目标版本;
根据所述API调用参数,调用所述目标版本的接口数据。
在本发明实施的第二方面,还提供了一种页面显示方法,应用于用户终端,所述方法包括:
向服务端发送页面请求;
获取所述服务端根据所述页面请求所返回的多个数据交换语言字符串;
根据各所述数据交换语言字符串,生成预设语言类型的待渲染数据,其中,所述预设语言类型为所述用户终端的平台类型所对应的语言类型;
渲染所述待渲染数据,并显示渲染后的数据。
可选的,所述根据各所述数据交换语言字符串,生成预设语言类型的待渲染数据,包括:
分别将各所述数据交换语言字符串转换为预设语言类型的数据片段;
将各所述数据片段拼接为所述待渲染数据。
可选的,所述分别将各所述数据交换语言字符串转换为预设语言类型的数据片段,包括:
针对每一个数据交换语言字符串,基于该数据交换语言字符串,利用预设语言类型进行对象创建,得到该数据交换语言字符串的对象数据;
基于该数据交换语言字符串,对该数据交换语言字符串的对象数据进行事件绑定,得到该数据交换语言字符串对应的数据片段。
在本发明实施的第三方面,还提供了一种页面显示装置,应用于服务端,所述装置包括:
页面请求获取模块,用于获取用户终端发送的页面请求,其中,所述页面请求中包括待显示页面的页面标识;
数据获取模块,用于获取所述用户终端的环境参数及所述页面标识对应的待显示页面的页面描述数据,所述环境参数包括所述用户终端的平台类型标识;
数据解析模块,用于根据所述环境参数,将所述页面描述数据解析为多个数据交换语言字符串;
数据发送模块,用于将所述多个数据交换语言字符串发送给所述用户终端,以使所述用户终端根据所述多个数据交换语言字符串显示所述待显示页面。
可选的,所述页面描述数据包括至少一个组件描述项目,每一所述组件描述项目包括至少一个元组描述子项目;
所述数据解析模块,包括:
判断单元,用于遍历所述页面描述数据,针对所述页面描述数据中的每一个组件描述项目,判断该组件描述项目中是否包括API调用参数;
数据交换语言字符串生成第一单元,用于若该组件描述项目中包括API调用参数,则基于所述环境参数,利用所述API调用参数调用接口数据;根据所述环境参数、所述接口数据及该组件描述项目中的元组描述子项目,生成数据交换语言字符串;
数据交换语言字符串生成第二单元,若该组件描述项目中不包括API调用参数,则根据所述环境参数及该组件描述项目中的元组描述子项目,生成该组件描述项目的数据交换语言字符串。
可选的,所述环境参数包括所述用户终端的平台类型标识及客户端版本标识;
所述数据交换语言字符串生成第一单元,包括:
调用子单元,用于利用所述API调用参数调用所述平台类型标识及所述客户端版本标识对应的接口数据;
所述数据交换语言字符串生成第二单元,包括:
环境配置数据生成子单元,用于根据所述平台类型标识及所述客户端版本标识,生成该组件描述项目的环境配置数据;
目标配置数据生成子单元,用于根据所述接口数据,生成该组件描述项目的目标配置数据;
待配置字符串生成子单元,用于根据该组件描述项目中的元组描述子项目,生成该组件描述项目的待配置字符串;
配置子单元,用于利用该组件描述项目的环境配置数据及目标配置数据,对该组件描述项目的待配置字符串进行配置,得到该组件描述项目的数据交换语言字符串。
可选的,所述调用子单元,具体用于:根据所述平台类型标识及所述客户端版本标识,确定待调用的接口数据的目标版本;
根据所述API调用参数,调用所述目标版本的接口数据。
在本发明实施的第四方面,还提供了一种页面显示装置,应用于用户终端,所述装置包括:
页面请求发送模块,用于向服务端发送页面请求;
返回数据获取模块,用于获取所述服务端根据所述页面请求所返回的多个数据交换语言字符串;
待渲染数据生成模块,用于根据各所述数据交换语言字符串,生成预设语言类型的待渲染数据,其中,所述预设语言类型为所述用户终端的平台类型所对应的语言类型;
渲染模块,用于渲染所述待渲染数据,并显示渲染后的数据。
可选的,所述待渲染数据生成模块,包括:
转换单元,用于分别将各所述数据交换语言字符串转换为预设语言类型的数据片段;
拼接单元,用于将各所述数据片段拼接为所述待渲染数据。
可选的,所述转换单元,包括:
对象创建子单元,用于针对每一个数据交换语言字符串,基于该数据交换语言字符串,利用预设语言类型进行对象创建,得到该数据交换语言字符串的对象数据;
事件绑定子单元,用于基于该数据交换语言字符串,对该数据交换语言字符串的对象数据进行事件绑定,得到该数据交换语言字符串对应的数据片段。
在本发明实施的第五方面,还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现第一方面或第二方面任一所述的方法步骤。
在本发明实施的又一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一所述的页面显示方法。
在本发明实施的又一方面,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的页面显示方法。
本发明实施例提供的页面显示方案中,服务器通过获取用户终端发送的页面请求,其中,页面请求中包括待显示页面的页面标识,并获取用户终端的环境参数及页面标识对应的待显示页面的页面描述数据。然后根据环境参数,将页面描述数据解析为多个数据交换语言字符串,最后将多个数据交换语言字符串发送给用户终端,以使用户终端根据多个数据交换语言字符串显示待显示页面。
在本申请中,服务端获取用户终端发送的页面请求,其中,页面请求中包括待显示页面的页面标识;获取用户终端的环境参数及页面标识对应的待显示页面的页面描述数据,环境参数包括所述用户终端的平台类型标识。根据环境参数,将页面描述数据解析为多个数据交换语言字符串;将多个数据交换语言字符串发送给用户终端,以使用户终端根据多个数据交换语言字符串显示待显示页面。将待显示页面的页面描述数据转换为数据交换语言字符串,并将待显示页面的数据交换语言字符串下发给用户终端,数据交换语言字符串是一种完全独立于编程语言的文本格式,无论用户终端是何种类型的平台,均可以根据数据交换语言字符串进行页面渲染显示。针对不同类型的平台,开发相同的页面描述数据,能够提高产品开发效率,降低人力成本;原生的页面描述数据转换为与编程语言无关的数据交换语言字符串,可以跨平台使用;一次页面描述数据的更新,可以实现各平台的更新,新版本发布、新更加方便,产品能够快速迭代上线,试错成本小。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为本发明实施例中提供的一种页面显示方法的第一种流程图;
图2为本发明实施例中提供的一种页面显示系统框图;
图3为本发明实施例中提供的一种页面显示方法的第二种流程图;
图4为本发明实施例中提供的一种页面显示方法中渲染流程图;
图5为本发明实施例中提供的一种页面显示方法的第一种结构示意图;
图6为本发明实施例中提供的一种页面显示方法的第二种结构示意图;
图7为本发明实施例中提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。
为了解决当前市场多端产品需要多端分别实现、开发效率低下,人力成本高的技术问题,本申请实施例提供了一种页面显示方法、装置、电子设备及存储介质。下面对本申请实施例所提供的一种页面显示方法进行介绍。
本申请实施例提供了一种页面显示方法、装置、电子设备及存储介质,服务端:获取用户终端发送的页面请求,其中,页面请求中包括待显示页面的页面标识;获取用户终端的环境参数及页面标识对应的待显示页面的页面描述数据;根据环境参数,将页面描述数据解析为多个数据交换语言字符串;将多个数据交换语言字符串发送给用户终端,以使用户终端根据多个数据交换语言字符串显示待显示页面。
在本申请实施例中,将待显示页面的页面描述数据转换为数据交换语言字符串,并将待显示页面的数据交换语言字符串下发给用户终端,数据交换语言字符串是一种完全独立于编程语言的文本格式,无论用户终端是何种类型的平台,均可以根据数据交换语言字符串进行页面渲染显示。针对不同类型的平台,开发相同的页面描述数据,能够提高产品开发效率,降低人力成本;原生的页面描述数据转换为与编程语言无关的数据交换语言字符串,可以跨平台使用;一次页面描述数据的更新,可以实现各平台的更新,新版本发布、新更加方便,产品能够快速迭代上线,试错成本小。
以下进行具体说明:
参见图1,图1是本申请实施例提供的一种页面显示方法的第一种流程图,应用于服务端,所述方法包括:
S101,获取用户终端发送的页面请求,其中,所述页面请求中包括待显示页面的页面标识。
在用户终端需要显示某页面(以下称为待显示页面)时,用户终端会向服务端发送页面请求。待显示页面的页面标识用于唯一表示待显示页面,一个例子中,待显示页面的页面标识可以为待显示页面的URL(Uniform Resource Locator,统一资源定位符)。
S102,获取所述用户终端的环境参数及所述页面标识对应的待显示页面的页面描述数据,所述环境参数包括所述用户终端的平台类型标识。
用户终端的环境参数表示用户终端平台的类型,还可以表示用户终端中产品的版本等。平台类型标识用于唯一表示平台的类型。待显示页面预先开发有页面描述数据,该页面描述数据用于描述待显示页面中的各组件,一个例子中,页面描述数据可以采用DSL(Domain Specific Language,领域特定语言)汇编。
S103,根据所述环境参数,将所述页面描述数据解析为多个数据交换语言字符串。
用户终端的环境参数表示用户终端平台的类型,还可以表示用户终端中产品的版本等,根据环境参数,将页面描述数据解析为适用于用户终端的多个JSON字符串(数据交换语言字符串)。此处的适用于用户终端,并不是指编程语言与用户终端的平台汇编语言相同,可以理解的是JSON字符串是一种完全独立于编程语言的文本格式;适用于用户终端是指:JSON字符串中的参数与用户终端的平台类型、产品版本对应,可以将JSON字符串转换为能够在用户终端渲染显示的语言。
S104,将所述多个数据交换语言字符串发送给所述用户终端,以使所述用户终端根据所述多个数据交换语言字符串显示所述待显示页面。
服务端向用户终端发送各数据交换语言字符串,用户终端在接收到数据交换语言字符串后,将数据交换语言字符串转换为自身平台语言类型的数据,并进行渲染显示,从而实现待显示页面的显示。
可见,在本申请实施例中,将待显示页面的页面描述数据转换为数据交换语言字符串,并将待显示页面的数据交换语言字符串下发给用户终端,数据交换语言字符串是一种完全独立于编程语言的文本格式,无论用户终端是何种类型的平台,均可以根据数据交换语言字符串进行页面渲染显示。针对不同类型的平台,开发相同的页面描述数据,能够提高产品开发效率,降低人力成本;原生的页面描述数据转换为与编程语言无关的数据交换语言字符串,可以跨平台使用;一次页面描述数据的更新,可以实现各平台的更新,新版本发布、新更加方便,产品能够快速迭代上线,试错成本小。
在一种可能的实施方式中,所述页面描述数据包括至少一个组件描述项目,每一所述组件描述项目包括至少一个元组描述子项目;所述根据所述环境参数,将所述页面描述数据解析为多个数据交换语言字符串,包括:
步骤一,遍历所述页面描述数据,针对所述页面描述数据中的每一个组件描述项目,判断该组件描述项目中是否包括API调用参数。
步骤二,若该组件描述项目中包括API调用参数,则基于所述环境参数,利用所述API调用参数调用接口数据;根据所述环境参数、所述接口数据及该组件描述项目中的元组描述子项目,生成数据交换语言字符串。
步骤三,若该组件描述项目中不包括API调用参数,则根据所述环境参数及该组件描述项目中的元组描述子项目,生成该组件描述项目的数据交换语言字符串。
组件描述项目用于描述页面中的组件,例如,用于描述该组件是视频播放器,是图片展示框,还是文本展示框等。组件描述项目中可以包括API(Application ProgramInterface,应用程序接口)调用参数,用于调用相应的API,从而实现视频、图片、文本等内容的调用。组件描述项目包括元组描述子项目,元组描述子项目用于描述组件的子属性,例如,视频播放窗口的播放列表,文本框中文本的颜色、大小等。
页面描述数据可以包含页面的标识、页面的id(Identity Document,唯一编码)、页面调用接口配置等。一个例子中,页面描述数据主要属性及含义描述如下:
tag:用于标识json数据的类型,在tag的字段为page时,标识为页面级json数据;
id:页面id,用于唯一标识这个页面,一个例子中,页面id的字段可以为_s6lzsonrl;
api:页面调用接口配置,其字段可以通过类函数Objiect{}表示,具体字段在components的介绍中会详细描述;
base:描述页面级别的一些信息,其字段可以通过类函数Objiect{}表示;
pingback:用于页面统计,其字段可以通过类函数Objiect{}表示;
components:页面要展示的所有组件列表,其字段可以通过列表函数Array[]表示,每个列表项来描述一个组件描述项目。
组件描述项目用于描述页面当中的组件,组件可以为一个视频播放窗口或者文本框。组件中可以含有组件ID,调用接口配置等,一个例子中,组件描述项目主要属性及含义描述如下:
id:组件id,用于唯一标识页面中这个组件,在一个例子里,组件id的字段可以为_5w82yhhko;
tag:用于标识json数据的类型,例如,在tag的字段为component时,标识为组件级json数据;
api:组件调用接口配置,一个例子中,api的字段可以包括url、method、timeout、headerParam、bodyParam、filter,其中:
url:接口地址,在一个例子里,接口地址可以为统一资源定位符,例如:https://m.ixyi.com/xxx;
method:接口调用方式,在一个例子里,接口调用方式可以为get,表示用于获取数据。
timeout:超时时间;
headerParam:请求头参数;
bodyParam:请求体参数;
filter:对接口数据进行格式化的方法;
config:组件配置项,其字段可以通过类函数Objiect{}表示;
script:组件自定义脚本,其字段可以通过类函数Objiect{}表示;
elements:组件中包含的元组数组(元组描述子项目),其中每个元组(element)都是一个可复用可嵌套的抽象UI对象,其字段可以通过列表函数Array[]表示,每个列表项来描述一个元组描述子项目。一个例子中,元组描述子项目的主要属性及含义描述如下:
tag:用于标识json数据的类型,在tag的字段为element时,标识为元组级json数据;
attrs:元组属性;
styles:描述元组样式,遵循CSS3样式表;
directives:描述元组指令,如是否需要循环生成等;
events:描述元组事件;
elements:子元组数组。
在一个例子里,生成一个需要显示页面的数据交换语言字符串,标识数据为页面级json数据,描述需要显示的页面的页面id为_s6lzsonrl,描述页面调用接口配置以及一些页面级别的其他信息,并统计页面。页面描述数据中包含多个组件描述项目,描述页面要展示的所有组件,利用列表项来描述组件,主要包括,组件的id为_5w82yhhko,接口地址为https://m.ixyi.com/xxx,其接口调用的方式为get请求,用于获取/查询资源信息,规定一个超时时间为5秒,在规定的超时时间内未返回想要显示的页面接口数据,则不显示此页面。在得到返回的页面接口数据后,对页面接口数据进行处理,规定其显示的页面范围。
在本申请实施例中,服务器根据用户终端的环境参数,遍历页面描述数据,判断组件描述项目中是否包括API调用参数,在包括API调用参数的情况下,根据环境参数、接口数据及该组件描述项目中的元组描述子项目,生成数据交换语言字符串;在不包括API调用参数的情况下,根据环境参数及该组件描述项目中的元组描述子项目,生成该组件描述项目的数据交换语言字符串。本方案中,将页面细化拆分成了元组、组件、页面三个级别,进而能够清晰准确完整的描述一个页面的各种组合场景,便于各个不同的用户终端解析。
在一种可能的实施方式中,所述环境参数还包括客户端版本标识。
所述基于所述环境参数,利用所述API调用参数调用接口数据,包括:利用所述API调用参数调用所述平台类型标识及所述客户端版本标识对应的接口数据。
环境参数包括平台类型标识、客户端版本标识,还可以包括用户终端的设备类型标识等。不同的平台类型标识及客户端版本标识,对应不同的接口数据;例如,PC端Windows平台对应1920×1080分辨率版本的视频,手机端安卓平台对应640x 480分辨率版本的视频;例如,客户端版本1的视频播放框A播放普通话版的视频,客户端版本2的视频播放框A播放粤语版的视频。
所述根据所述环境参数、所述接口数据及该组件描述项目中的元组描述子项目,生成该组件描述项目的数据交换语言字符串,包括:根据所述平台类型标识及所述客户端版本标识,生成该组件描述项目的环境配置数据;根据所述接口数据,生成该组件描述项目的目标配置数据;根据该组件描述项目中的元组描述子项目,生成该组件描述项目的待配置字符串;利用该组件描述项目的环境配置数据及目标配置数据,对该组件描述项目的待配置字符串进行配置,得到该组件描述项目的数据交换语言字符串。
环境配置数据为平台及版本运行相关的数据,例如,版本1中视频播放器中视频的播放帧率,平台A中临时文件的类型等。目标配置数据为接收数据相关的数据,例如,文本框中文字的内容、图片框中图片的内容等。将组件描述项目中的元组描述子项目转换为JSON格式,生成该组件描述项目的待配置字符串,利用JSON格式的环境配置数据及JSON格式的目标配置数据,对待配置字符串进行配置,从而得到该组件描述项目的JSON字符串。
一个例子中,当组件描述项目中不包括API调用参数的请下,则无需进行目标配置数据的生成及配置,上述若该组件描述项目中不包括API调用参数,则根据所述环境参数及该组件描述项目中的元组描述子项目,生成该组件描述项目的数据交换语言字符串,包括:根据所述平台类型标识及所述客户端版本标识,生成该组件描述项目的环境配置数据;根据该组件描述项目中的元组描述子项目,生成该组件描述项目的待配置字符串;利用该组件描述项目的环境配置数据对该组件描述项目的待配置字符串进行配置,得到该组件描述项目的数据交换语言字符串。
在本申请实施例中,给出了利用环境参数、接口数据及组件描述项目中的元组描述子项目,生成该组件描述项目的数据交换语言字符串的具体过程,利用数据交换语言字符串与环境参数有关,能够适用于用户终端的实际平台环境。
在一种可能的实施方式中,所述利用所述API调用参数调用所述平台类型标识及所述客户端版本标识对应的接口数据,包括:
步骤A,根据所述平台类型标识及所述客户端版本标识,确定待调用的接口数据的目标版本。
步骤B,根据所述API调用参数,调用所述目标版本的接口数据。
不用的平台类型标识及客户端版本标识,对应不同的数据版本;例如,PC端Windows平台对应1920×1080分辨率版本的视频,手机端安卓平台对应640x 480分辨率版本的视频;例如,客户端版本1的视频播放框A对应普通话版的视频,客户端版本2的视频播放框A对应粤语版的视频。则,当平台类型标识表示Windows平台、且客户端版本标识表示客户端版本2时,视频的目标版本为1920×1080分辨率的粤语版版本。
在一个例子中,页面显示的系统框图可以如图2所示,图2为本申请实施例提供的一种页面显示系统框图。
采用DSL统一页面描述描述待显示页面,服务端进行Node预渲染服务,包括:DSL预解析、API数据请求、端环境判断以及组件版本选择。然后将数据交换语言字符串下发至客户端,由客户端渲染解析引擎进行渲染显示,其中,客户端可以为H5(手机网页)、PCA(电脑应用)、Phone(苹果手机端)以及TV(电视端)等。
针对不同端生成对应的环境参数,包括平台编码、版本、设备类型等,并将环境参数作为变量注入到后续逻辑;
深度遍历页面描述数据,识别组件描述项目,根据组件API参数进行接口请求,返回的数据进行函数处理之后作为变量注入后续逻辑;
识别元组描述子项目,处理循环生成逻辑,以及对于属性中的自定义表达式进行变量替换及计算;
在经过上述处理后得到多个数据交换语言字符串。
本申请实施例所提供的第一种页面显示方法可以应用于用户终端。在本申请实施例中,用户终端可以为手机端(安卓、苹果Phone)、PC(电脑端)、H5(手机网页)、PCA(电脑应用)、PAD(平板电脑)、TV(电视端)、智能设备(车载屏幕、智能家居)等。
参见图3,图3是本申请实施例提供的一种页面显示方法的第二种流程图,所述方法包括:
S301,向服务端发送页面请求。
S302,获取所述服务端根据所述页面请求所返回的多个数据交换语言字符串。
S303,根据各所述数据交换语言字符串,生成预设语言类型的待渲染数据,其中,所述预设语言类型为所述用户终端的平台类型所对应的语言类型。
S304,渲染所述待渲染数据,并显示渲染后的数据。
用户终端向服务端发送页面请求,并接收服务端根据页面请求所返回的多个数据交换语言字符串。用户终端根据该数据交互字符串,生成与用户终端的平台类型所对应的语言类型。比如,web、android、object-c、swift、react-native、flutter等等。最后,用户终端渲染并显示待渲染数据,以达到显示页面的目的。解决了当前市场多端产品需要多端分别实现的问题,整体实现完毕可达到一次开发、持续复用的效果,大大节省人力成本,而且可以有效缩短开发周期,使得产品快速迭代上线。
在一种可能的实施方式中,所述根据各所述数据交换语言字符串,生成预设语言类型的待渲染数据,包括:
分别将各所述数据交换语言字符串转换为预设语言类型的数据片段;
将各所述数据片段拼接为所述待渲染数据。
用户终端将从服务器端接收到的数据交换语言字符串,转换成与用户终端设备所用语言类型一致的数据片段,数据片段可以为视频数据片段或者文本框数据片段等等,最后将各个数据片段进行拼接得到待渲染数据。
在一种可能的实施方式中,所述分别将各所述数据交换语言字符串转换为预设语言类型的数据片段,包括:
针对每一个数据交换语言字符串,基于该数据交换语言字符串,利用预设语言类型进行对象创建,得到该数据交换语言字符串的对象数据;
基于该数据交换语言字符串,对该数据交换语言字符串的对象数据进行事件绑定,得到该数据交换语言字符串对应的数据片段。
在一个例子中,本申请实施例提供的一种页面显示方法中,渲染过程可如图4所示,图4为本申请实施例提供的一种页面显示方法中渲染流程图。
其中,merge表示合并,createElement表示对象创建,bindevent表示事件绑定,insertbody表示数据片段。
服务器端在接收到用户终端发送的页面请求后,基于待显示页面的页面标识,获取用户终端的环境参数及页面标识对应的待显示页面的页面描述数据;遍历页面描述数据,针对页面描述数据中的每一个组件描述项目,判断该组件描述项目中是否包括API调用参数;若该组件描述项目中包括API调用参数,则基于环境参数,利用API调用参数调用接口数据;根据环境参数、接口数据及该组件描述项目中的元组描述子项目,生成数据交换语言字符串。若该组件描述项目中不包括API调用参数,则根据环境参数及该组件描述项目中的元组描述子项目,生成该组件描述项目的数据交换语言字符串,最后将多个数据交换语言字符串发送给所述用户终端。
用户终端在接收到服务端根据所述页面请求所返回的多个数据交换语言字符串后,利用用户终端设备语言类型进行对象创建,得到该数据交换语言字符串的对象数据。并基于该数据交换语言字符串,对该数据交换语言字符串的对象数据进行事件绑定,得到该数据交换语言字符串对应的数据片段。其中事件绑定可以理解为,如果此时的页面请求为显示视频片段,则需要把视频数据与音频数据进行绑定,从而在显示该页面时,能够使得视频能够正常播放。
基于与一种页面显示方法相同的发明构思,本申请实施例对应提供了一种页面显示方法的装置,图5是本申请实施例提供的一种页面显示方法的第一种结构示意图,如图5所示,所述装置可以包括:
页面请求获取模块501,可以用于获取用户终端发送的页面请求,其中,所述页面请求中包括待显示页面的页面标识;
数据获取模块502,可以用于获取所述用户终端的环境参数及所述页面标识对应的待显示页面的页面描述数据,所述环境参数包括所述用户终端的平台类型标识;
数据解析模块503,可以用于根据所述环境参数,将所述页面描述数据解析为多个数据交换语言字符串;
数据发送模块504,可以用于将所述多个数据交换语言字符串发送给所述用户终端,以使所述用户终端根据所述多个数据交换语言字符串显示所述待显示页面。
由图5所述的实施例可见,可以通过页面请求获取模块501,获取用户终端发送的页面请求,其中,所述页面请求中包括待显示页面的页面标识,然后通过数据获取模块502,获取所述用户终端的环境参数及所述页面标识对应的待显示页面的页面描述数据,环境参数包括所述用户终端的平台类型标识,利用数据解析模块503,根据所述环境参数,将所述页面描述数据解析为多个数据交换语言字符串。最后使用数据发送模块504,将所述多个数据交换语言字符串发送给所述用户终端,以使所述用户终端根据所述多个数据交换语言字符串显示所述待显示页面。由于将页面细化拆分成了元组、组件、页面三个级别,进而能够清晰准确完整的描述一个页面的各种组合场景,便于各个不同的用户终端解析。解决了当前市场多端产品需要多端分别实现的问题,整体实现完毕可达到一次开发、持续复用的效果,大大节省人力成本,而且可以有效缩短开发周期,使得产品快速迭代上线。
作为本申请实施例的一种具体实施方式,所述页面描述数据包括至少一个组件描述项目,每一所述组件描述项目包括至少一个元组描述子项目;所述数据解析模块,可以包括:
判断单元,可以用于遍历所述页面描述数据,针对所述页面描述数据中的每一个组件描述项目,判断该组件描述项目中是否包括API调用参数;
数据交换语言字符串生成第一单元,可以用于若该组件描述项目中包括API调用参数,则基于所述环境参数,利用所述API调用参数调用接口数据;根据所述环境参数、所述接口数据及该组件描述项目中的元组描述子项目,生成数据交换语言字符串;
数据交换语言字符串生成第二单元,可以用于若该组件描述项目中不包括API调用参数,则根据所述环境参数及该组件描述项目中的元组描述子项目,生成该组件描述项目的数据交换语言字符串。
作为本申请实施例的一种具体实施方式,所述环境参数还包括客户端版本标识;
数据交换语言字符串生成第一单元,可以包括:
调用子单元,可以用于利用所述API调用参数调用所述平台类型标识及所述客户端版本标识对应的接口数据;
数据交换语言字符串生成第二单元,可以包括:
环境配置数据生成子单元,可以用于根据所述平台类型标识及所述客户端版本标识,生成该组件描述项目的环境配置数据;
目标配置数据生成子单元,可以用于根据所述接口数据,生成该组件描述项目的目标配置数据;
待配置字符串生成子单元,可以用于根据该组件描述项目中的元组描述子项目,生成该组件描述项目的待配置字符串;
配置子单元,可以用于利用该组件描述项目的环境配置数据及目标配置数据,对该组件描述项目的待配置字符串进行配置,得到该组件描述项目的数据交换语言字符串。
作为本申请实施例的一种具体实施方式,调用子单元,可以具体用于:根据所述平台类型标识及所述客户端版本标识,确定待调用的接口数据的目标版本;
根据所述API调用参数,调用所述目标版本的接口数据。
本申请实施例对应提供了一种页面显示方法的装置,图6是本申请实施例提供的一种页面显示方法的第二种结构示意图,如图6所示,所述装置可以包括:
页面请求发送模块601,可以用于向服务端发送页面请求;
返回数据获取模块602,可以用于获取所述服务端根据所述页面请求所返回的多个数据交换语言字符串;
待渲染数据生成模块603,可以用于根据各所述数据交换语言字符串,生成预设语言类型的待渲染数据,其中,所述预设语言类型为所述用户终端的平台类型所对应的语言类型;
渲染模块604,可以用于渲染所述待渲染数据,并显示渲染后的数据。
由图6所述的实施例可见,可以通过页面请求发送模块601,向服务端发送页面请求,利用返回数据获取模块602,获取所述服务端根据所述页面请求所返回的多个数据交换语言字符串。然后利用待渲染数据生成模块603,根据各所述数据交换语言字符串,生成预设语言类型的待渲染数据,其中,所述预设语言类型为所述用户终端的平台类型所对应的语言类型。利用渲染模块604,渲染所述待渲染数据,并显示渲染后的数据。由于将页面细化拆分成了元组、组件、页面三个级别,进而能够清晰准确完整的描述一个页面的各种组合场景,便于各个不同的用户终端解析。解决了当前市场多端产品需要多端分别实现的问题,整体实现完毕可达到一次开发、持续复用的效果,大大节省人力成本,而且可以有效缩短开发周期,使得产品快速迭代上线。
作为本申请实施例的一种具体实施方式,待渲染数据生成模块603,可以包括:
转换单元,可以用于分别将各所述数据交换语言字符串转换为预设语言类型的数据片段;
拼接单元,可以用于将各所述数据片段拼接为所述待渲染数据。
作为本申请实施例的一种具体实施方式,转换单元,可以包括:
对象创建子单元,可以用于针对每一个数据交换语言字符串,基于该数据交换语言字符串,利用预设语言类型进行对象创建,得到该数据交换语言字符串的对象数据;
事件绑定子单元,可以用于基于该数据交换语言字符串,对该数据交换语言字符串的对象数据进行事件绑定,得到该数据交换语言字符串对应的数据片段。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本申请实施例还提供一种了电子设备,图7是本申请实施例提供的一种电子设备的结构示意图,如图7所示,可以包括:处理器701、通信接口702、存储器703和通信总线704,其中,所述处理器701,通信接口702,存储器703通过通信总线704完成相互间的通信;
存储器703,可以用于存放计算机程序;
处理器701,可以用于执行存储器上所存放的程序,实现上述任一页面显示的方法。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述终端与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processor,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述实施例中任一所述的页面显示方法。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的页面显示方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (11)
1.一种页面显示方法,其特征在于,应用于服务端,所述方法包括:
获取用户终端发送的页面请求,其中,所述页面请求中包括待显示页面的页面标识;
获取所述用户终端的环境参数及所述页面标识对应的待显示页面的页面描述数据,所述环境参数包括所述用户终端的平台类型标识;
根据所述环境参数,将所述页面描述数据解析为多个数据交换语言字符串;
将所述多个数据交换语言字符串发送给所述用户终端,以使所述用户终端根据所述多个数据交换语言字符串显示所述待显示页面。
2.根据权利要求1所述的方法,其特征在于,所述页面描述数据包括至少一个组件描述项目,每一所述组件描述项目包括至少一个元组描述子项目;
所述根据所述环境参数,将所述页面描述数据解析为多个数据交换语言字符串,包括:
遍历所述页面描述数据,针对所述页面描述数据中的每一个组件描述项目,判断该组件描述项目中是否包括API调用参数;
若该组件描述项目中包括API调用参数,则基于所述环境参数,利用所述API调用参数调用接口数据;根据所述环境参数、所述接口数据及该组件描述项目中的元组描述子项目,生成数据交换语言字符串;
若该组件描述项目中不包括API调用参数,则根据所述环境参数及该组件描述项目中的元组描述子项目,生成该组件描述项目的数据交换语言字符串。
3.根据权利要求2所述的方法,其特征在于,所述环境参数还包括客户端版本标识;
所述基于所述环境参数,利用所述API调用参数调用接口数据,包括:
利用所述API调用参数调用所述平台类型标识及所述客户端版本标识对应的接口数据;
所述根据所述环境参数、所述接口数据及该组件描述项目中的元组描述子项目,生成该组件描述项目的数据交换语言字符串,包括:
根据所述平台类型标识及所述客户端版本标识,生成该组件描述项目的环境配置数据;
根据所述接口数据,生成该组件描述项目的目标配置数据;
根据该组件描述项目中的元组描述子项目,生成该组件描述项目的待配置字符串;
利用该组件描述项目的环境配置数据及目标配置数据,对该组件描述项目的待配置字符串进行配置,得到该组件描述项目的数据交换语言字符串。
4.根据权利要求3所述的方法,其特征在于,所述利用所述API调用参数调用所述平台类型标识及所述客户端版本标识对应的接口数据,包括:
根据所述平台类型标识及所述客户端版本标识,确定待调用的接口数据的目标版本;
根据所述API调用参数,调用所述目标版本的接口数据。
5.一种页面显示方法,其特征在于,应用于用户终端,所述方法包括:
向服务端发送页面请求;
获取所述服务端根据所述页面请求所返回的多个数据交换语言字符串;
根据各所述数据交换语言字符串,生成预设语言类型的待渲染数据,其中,所述预设语言类型为所述用户终端的平台类型所对应的语言类型;
渲染所述待渲染数据,并显示渲染后的数据。
6.根据权利要求5所述的方法,其特征在于,所述根据各所述数据交换语言字符串,生成预设语言类型的待渲染数据,包括:
分别将各所述数据交换语言字符串转换为预设语言类型的数据片段;
将各所述数据片段拼接为所述待渲染数据。
7.根据权利要求6所述的方法,其特征在于,所述分别将各所述数据交换语言字符串转换为预设语言类型的数据片段,包括:
针对每一个数据交换语言字符串,基于该数据交换语言字符串,利用预设语言类型进行对象创建,得到该数据交换语言字符串的对象数据;
基于该数据交换语言字符串,对该数据交换语言字符串的对象数据进行事件绑定,得到该数据交换语言字符串对应的数据片段。
8.一种页面显示装置,其特征在于,应用于服务端,所述装置包括:
页面请求获取模块,用于获取用户终端发送的页面请求,其中,所述页面请求中包括待显示页面的页面标识;
数据获取模块,用于获取所述用户终端的环境参数及所述页面标识对应的待显示页面的页面描述数据,所述环境参数包括所述用户终端的平台类型标识;
数据解析模块,用于根据所述环境参数,将所述页面描述数据解析为多个数据交换语言字符串;
数据发送模块,用于将所述多个数据交换语言字符串发送给所述用户终端,以使所述用户终端根据所述多个数据交换语言字符串显示所述待显示页面。
9.一种页面显示装置,其特征在于,应用于用户终端,所述装置包括:
页面请求发送模块,用于向服务端发送页面请求;
返回数据获取模块,用于获取所述服务端根据所述页面请求所返回的多个数据交换语言字符串;
待渲染数据生成模块,用于根据各所述数据交换语言字符串,生成预设语言类型的待渲染数据,其中,所述预设语言类型为所述用户终端的平台类型所对应的语言类型;
渲染模块,用于渲染所述待渲染数据,并显示渲染后的数据。
10.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-4或5-7任一所述的方法步骤。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-4或5-7任一所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211448521.4A CN115795212A (zh) | 2022-11-18 | 2022-11-18 | 一种页面显示方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211448521.4A CN115795212A (zh) | 2022-11-18 | 2022-11-18 | 一种页面显示方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115795212A true CN115795212A (zh) | 2023-03-14 |
Family
ID=85438968
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211448521.4A Pending CN115795212A (zh) | 2022-11-18 | 2022-11-18 | 一种页面显示方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115795212A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116991506A (zh) * | 2023-09-28 | 2023-11-03 | 腾讯科技(深圳)有限公司 | 一种网页渲染方法、装置、终端和存储介质 |
-
2022
- 2022-11-18 CN CN202211448521.4A patent/CN115795212A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116991506A (zh) * | 2023-09-28 | 2023-11-03 | 腾讯科技(深圳)有限公司 | 一种网页渲染方法、装置、终端和存储介质 |
CN116991506B (zh) * | 2023-09-28 | 2024-04-30 | 腾讯科技(深圳)有限公司 | 一种网页渲染方法、装置、终端和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110708346B (zh) | 信息处理系统和方法 | |
CN111045952B (zh) | 软件测试方法、流量回放装置、终端设备及可读存储介质 | |
WO2018223717A1 (zh) | 网页前端测试方法、装置、系统、设备及可读存储介质 | |
CN105704562B (zh) | 一种网络电视云服务平台的多版本兼容方法及装置 | |
CN104866512A (zh) | 提取网页内容的方法、装置及系统 | |
CN104660620A (zh) | 二维码处理方法、客户端、电子设备、服务器端及服务器 | |
CN109683892B (zh) | 页面展示方法、装置、计算机设备及存储介质 | |
CN111026982A (zh) | 智能合约处理方法、计算机设备及存储介质 | |
US11349942B2 (en) | Methods and apparatus to identify sponsored media in a document object model | |
CN103248641A (zh) | 网络下载方法、装置及系统 | |
CN110968314B (zh) | 一种页面生成方法及装置 | |
CN112232794A (zh) | 支付方法及装置、存储介质、电子设备 | |
CN110928767A (zh) | 网页分析方法、装置、设备及存储介质 | |
CN113419729B (zh) | 基于组件化的前端页面搭建方法、装置、设备及存储介质 | |
CN108737252B (zh) | 基于区块链的信息推送方法及装置 | |
CN115795212A (zh) | 一种页面显示方法、装置、电子设备及存储介质 | |
CN108932640B (zh) | 用于处理订单的方法和装置 | |
CN113360106B (zh) | 一种网页打印方法和装置 | |
CN101964742B (zh) | 一种网络开放能力使用方法、系统和装置 | |
US10348811B2 (en) | Service to invoke companion applications | |
CN111124858A (zh) | 无埋点插码数据处理方法、系统、终端设备及存储介质 | |
CN106886574B (zh) | 一种机顶盒浏览器的网页缩放处理方法及系统 | |
CN114691113A (zh) | 业务组件生成及开发方法、系统、装置、设备及存储介质 | |
CN112433752B (zh) | 页面解析方法、装置、介质及电子设备 | |
CN112486484A (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 |