CN111796727B - 一种界面数据处理方法及装置 - Google Patents
一种界面数据处理方法及装置 Download PDFInfo
- Publication number
- CN111796727B CN111796727B CN201910223108.XA CN201910223108A CN111796727B CN 111796727 B CN111796727 B CN 111796727B CN 201910223108 A CN201910223108 A CN 201910223108A CN 111796727 B CN111796727 B CN 111796727B
- Authority
- CN
- China
- Prior art keywords
- interface
- state data
- tag
- interface state
- rendering
- 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.)
- Active
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 25
- 238000009877 rendering Methods 0.000 claims abstract description 176
- 230000006978 adaptation Effects 0.000 claims abstract description 175
- 238000012545 processing Methods 0.000 claims abstract description 38
- 238000000034 method Methods 0.000 claims description 138
- 230000006870 function Effects 0.000 claims description 87
- 239000003607 modifier Substances 0.000 claims description 41
- 239000012634 fragment Substances 0.000 claims description 22
- 238000012795 verification Methods 0.000 claims description 19
- 238000006243 chemical reaction Methods 0.000 claims description 13
- 238000004458 analytical method Methods 0.000 claims description 8
- 238000013524 data verification Methods 0.000 claims description 4
- 230000003044 adaptive effect Effects 0.000 claims 2
- 230000008569 process Effects 0.000 description 37
- 238000010586 diagram Methods 0.000 description 18
- 230000003993 interaction Effects 0.000 description 18
- 230000000007 visual effect Effects 0.000 description 12
- 230000009471 action Effects 0.000 description 11
- 238000003860 storage Methods 0.000 description 11
- 238000004590 computer program Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000005304 joining Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000002411 adverse Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本申请提供了一种界面数据处理方法及装置,包括:接收终端通过绑定适配接口发送的界面状态数据;根据界面状态数据与预设的界面描述文档,确定界面状态数据对应的目标界面元素的显示结构文档;通过渲染适配接口,将显示结构文档返回给终端进行渲染。本申请通过在服务端提供绑定适配接口和渲染适配接口,将界面描述文档独立设置在服务端,使得终端可以通过调用这两个接口进行界面状态数据的发送和显示结构文档的接收及渲染,实现了界面描述和界面状态执行逻辑之间的解耦,实现了服务端和终端之间的解耦,提高了界面数据处理的复用性。并且由于界面描述文档中没有与终端相关的宿主语言的参与,提高了界面描述文档的结构直观性。
Description
技术领域
本申请涉及信息技术领域,特别是涉及一种界面数据处理方法及装置。
背景技术
随着互联网技术的发展,终端的服务中,用于向用户展示信息的界面也越来越复杂,所展示的多媒体元素(如图片,音视频,动画等)越来越多,而随着终端种类和服务复杂度的不断增加,简化界面的开发维护成为重要课题。
在目前,界面状态执行逻辑的开发通常基于终端的终端类型,采用对应的宿主语言进行服务的相关逻辑的实现,从而根据用户的操作,得到相应的状态数据。界面的描述通常基于可扩展标记语言(XML,eXtensible Markup Language),结合终端的宿主语言,通过混合编程等方式进行实现,达到根据状态数据,实现对界面的渲染、展示的目的。
但是,发明人在研究过程中发现:目前方案中,由于不同的终端具有相应不同的宿主语言,因此,界面的描述会随着逻辑复杂度的增加,产生界面描述语言和宿主语言高度耦合的问题,使界面的描述与界面状态执行逻辑产生耦合,从而失去了界面结构的直观性,给界面的复用、移植能力带来很大困难。
发明内容
鉴于上述问题,本申请实施例提供一种界面数据处理方法,以实现界面描述和界面状态执行逻辑之间的解耦实现服务端和终端之间的解耦,提高界面数据处理的复用性,且提高界面描述文档的结构直观性。
相应的,本申请实施例还提供了一种界面数据处理装置,用以保证上述方法的实现及应用。
为了解决上述问题,本申请实施例公开了一种界面数据处理方法,包括:
接收终端通过绑定适配接口发送的界面状态数据;
根据所述界面状态数据与预设的界面描述文档,确定所述界面状态数据对应的目标界面元素的显示结构文档;
通过渲染适配接口,将所述显示结构文档返回给所述终端进行渲染。
相应的,本申请实施例还公开了一种界面数据处理装置,包括:
接收模块,用于接收终端通过绑定适配接口发送的界面状态数据;
绑定模块,用于根据所述界面状态数据与预设的界面描述文档,确定所述界面状态数据对应的目标界面元素的显示结构文档;
提供模块,用于通过渲染适配接口,将所述显示结构文档返回给所述终端进行渲染。
本申请实施例还公开了一种界面数据处理方法,包括:
通过绑定适配接口,将界面状态数据发送至服务端;
通过渲染适配接口,接收所述服务端返回的显示结构文档并进行渲染;所述显示结构文档由所述服务端根据所述界面状态数据与预设的界面描述文档确定得到。
相应的,本申请实施例还公开了一种界面数据处理装置,包括:
发送模块,用于通过绑定适配接口,将界面状态数据发送至服务端;
渲染模块,用于通过渲染适配接口,接收所述服务端返回的显示结构文档并进行渲染;所述显示结构文档由所述服务端根据所述界面状态数据与预设的界面描述文档确定得到。
相应的,本申请实施例还公开了一种装置,包括:
一个或多个处理器;和
其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述装置执行一种界面数据处理方法。
相应的,本申请实施例还公开了一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得装置执行一种界面数据处理方法。
本申请实施例包括以下优点:
本申请实施例通过在服务端提供绑定适配接口和渲染适配接口,将界面描述文档独立设置在服务端,使得终端可以通过调用这两个接口,进行界面状态数据的发送和显示结构文档的接收及渲染,在整个过程中,服务端不受终端的服务、渲染逻辑和宿主语言的干扰,可以基于界面状态数据和预设的界面描述文档生成显示文档结构以供终端渲染,实现了界面描述和界面状态执行逻辑之间的解耦,实现了服务端和终端之间的解耦,提高了界面数据处理的复用性。并且由于界面描述文档中没有与终端相关的宿主语言的参与,提高了界面描述文档的结构直观性。
附图说明
图1是本申请一实施例提供的一种界面数据处理方法的***架构图;
图2是本申请一实施例提供的一种界面数据处理方法的步骤交互图;
图3是本申请一实施例提供的一种服务端侧的界面数据处理方法的步骤图;
图4是本申请一实施例提供的一种界面描述文档的结构图;
图5是本申请一实施例提供的一种终端侧的界面数据处理方法的步骤图;
图6是本申请一实施例提供的一种界面数据处理方法的具体交互步骤图;
图7是本申请一实施例提供的一种服务端侧的界面数据处理装置的结构图;
图8是本申请一实施例提供的一种终端侧的界面数据处理装置的具体结构图;
图9是本申请另一实施例提供的一种装置的结构示意图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
参照图1,其示出了本申请实施例的一种***架构,其至少可以包括:
服务端10和终端20。
服务端10中预设有绑定适配接口、渲染适配接口和界面描述文档,其中,绑定适配接口用于将服务端10与界面状态数据发送方(图1中为终端20)之间进行解耦;渲染适配接口用于将服务端10与界面展示方(图1中为终端)之间进行解耦。界面描述文档为多个界面状态数据对应的界面元素的显示结构的集合;其中多个界面状态数据为界面状态执行逻辑在不同执行阶段输出的数据。该界面状态执行逻辑在该终端20中执行。其中,界面状态执行逻辑可以为终端的服务的执行逻辑,比如在网购页面这一服务中,其界面状态执行逻辑包括:接收用户对加入购物车的按钮触控操作,然后生成加入购物车对应的界面状态数据,该界面状态数据比如包括:商品对象数据、用户数据等。界面描述文档可以根据界面描述语言进行建立的,一个界面描述文档可以描述不同状态数据下,界面上的文字、图形和图像等界面元素的显示结构。
例如,常见的可扩展标记语言(XML,Extensible Markup Language),XML语言是一种用于标记电子文件使其具有结构性的标记语言,提供统一的方法来描述和交换独立于应用程序或供应商的结构化数据。
在实际应用中,由于界面描述文档是多个界面状态数据对应的界面元素的显示结构的集合,该界面描述文档可以包括一个界面元素在不同的界面状态数据下的显示结构代码片段。如此,对于不同的界面状态数据,从界面描述文档中选出与该界面状态数据对应的显示结构代码片段进行组合,获得该界面状态数据的显示结构文档。在实际应用中,可以去掉与改界面状态数据对应不上的显示结构代码片段。
在创建一个界面的过程中,仅仅只有描述这个界面显示结构的界面描述文档是不够的,还需要获取该界面对应的界面状态数据,并从界面描述文档中确定与界面状态数据的代码片段,将这些代码片段组成该界面的显示结构文档,该过程也可以被称作界面描述文档与界面状态数据的绑定,显示结构文档描述了该界面的界面状态数据对应的界面元素的显示结构,终端20可以对显示结构文档进行渲染展示。
终端20可以是用于展示界面的设备,包括渲染模块、界面处理模块和界面状态数据生成模块,渲染模块用于调用服务端的渲染适配接口,获取服务端发送的显示结构文档,并按照自己可支持的渲染逻辑,将显示结构文档渲染成为界面,再由界面处理模块进行展示。
进一步的,界面处理模块不仅能够展示界面,还能提供相应的交互方式,以便实现用户与界面之间的交互,生成交互事件。例如,当终端20为触屏手机时,界面为触屏手机中的包括多个触控按钮的计算器界面时,此时界面可以接收用户对触控按钮的触控操作,生成交互事件,以实现加减乘除计算。
另外,界面状态数据生成模块用于接收界面处理模块发送的交互事件,并按照服务的界面状态执行逻辑,生成交互事件对应的界面状态数据,并通过调用服务端10的绑定适配接口,将界面状态数据发送至服务端10。例如,在上述示例中的计算器界面中,若交互事件是用户点击了“2”、“×”、“3”三个触控按钮,则按照计算器的服务的界面状态执行逻辑,会生成“6”这个界面状态数据。
在本申请实施例中,界面的展示需要将根据具体服务建立的界面描述文档,与该服务生成的对应界面状态数据进行绑定结合,得到一个可被渲染的显示结构文档。具体的,现有技术中,界面描述文档的界面描述语言与终端的宿主语言的高度耦合,其产生的原因之一是在界面描述文档中,将界面描述语言与宿主语言进行混合编程,导致界面的描述逻辑与服务的界面状态执行逻辑高度关联,降低了界面描述文档的结构性。如,根据终端的终端类型确定了一种渲染方法,然后将该渲染方法的逻辑代码采用宿主语言直接写入界面描述文档,在这种情况下,假如终端的终端类型发生了变更,则无法复用原有的界面描述文档,需重新建立新的界面描述文档。
因此,在本申请实施例中,为了提高界面描述文档的复用性,降低界面描述文档中界面描述语言与终端的宿主语言的高度耦合,本申请实施例可以通过在服务端提供绑定适配接口和渲染适配接口,实现服务端与终端之间的解耦。
具体的,参照图2,其示出了本申请实施例的一种界面数据处理方法的步骤交互图,终端20可以执行步骤S1,终端通过绑定适配接口,将界面状态数据发送至服务端。
在该步骤中,服务端10为了实现接收终端20的界面状态数据过程的解耦,服务端10可以提供绑定适配接口,并在绑定适配接口中添加一些方法声明,具体为,绑定适配接口可以定义一个实体可能发出的动作,但是只是定义了这些动作的原型,没有实现,也没有任何状态信息,所以绑定适配接口类似一个规范、一个协议,是一个抽象的概念,从程序角度,简单理解,绑定适配接口就是服务端10接收界面状态数据的函数声明。
例如,根据服务需求,界面描述文档需要与格式类型为音频的界面状态数据进行绑定,以生成显示结构文档,则服务端10可以在绑定适配接口中添加接收格式类型为音频的界面状态数据的方法声明,终端20根据自己的服务的界面状态执行逻辑和终端类型,在确定自身能够产生音频界面状态数据的情况下,调用该绑定适配接口,并实现(implements)其中的传输音频格式界面状态数据的方法。并将终端20根据操作事件生成的界面状态数据通过绑定适配接口发送至服务端10。
在上述过程中,由于服务端10只关心接收界面状态数据的过程是不是满足绑定适配接口中的方法声明,而不去关注终端20侧的服务的界面状态执行逻辑和宿主语言,因此,服务端10实现了接收终端20的界面状态数据过程的解耦,解耦后,服务端10可以接收任何能满足绑定适配接口中的方法声明的终端20发来的界面状态数据,提高了界面数据处理的复用性。并且由于界面的描述过程没有宿主语言的参与,提高了界面描述文档的结构直观性。
进一步的,服务端10可以执行步骤S2,服务端根据所述界面状态数据与预设的界面描述文档,确定所述界面状态数据对应的目标界面元素的显示结构文档。
具体的,界面描述文档可以按照服务的需求进行建立,参照图1,界面描述文档中可以包括功能标签,这些功能标签是由界面描述语言所定义的,可以分为结构标签,以及语义化的非结构标签,结构标签用于表示界面中的界面元素,多个结构标签的组合可以所属于一个父标签,使得多个结构标签的组合形成一定的结构性,结构性的定义为描述了界面中多个界面元素之间的约束关系,在界面描述文档中,即反映了各个标签之间的空间位置约束关系清晰,服务的界面状态执行逻辑约束关系清晰,保证结构性的基础是在进行界面描述文档时,避免宿主语言的干扰和参与。
语义化的非结构标签可以包括:声明标签、生成器标签、修饰器标签、属性标签和元标签等,这些标签添加在结构标签之后进行使用,并不破坏界面描述文档中多个结构标签形成的结构性,而是对结构标签进行语义化的增强,实现结构标签的属性拓展,提高结构标签的功能性。
在本申请实施例中,标签中具有根据设置规则针对界面元素所设置的代码片段,如,在一个天气预报界面中,其中的一个需求元素是天气情况展示,则,可以在天气预报界面的界面描述文档中通过声明标签定义天气情况元素的校验信息,校验信息可以包括:天气情况元素所需的天气界面状态数据的名称、类型,进一步的,还需要定义天气情况元素对应代码片段,该代码片段包括:天气情况结构标签,以及天气情况结构标签与天气界面状态数据之间的引用关系。当界面状态数据通过绑定适配接口传入服务端10后,可以将界面状态数据与声明标签定义天气情况元素的校验信息进行校验,在校验通过的情况下,确定了界面状态数据中的天气界面状态数据,以及天气情况结构标签与天气界面状态数据之间的引用关系,从而实现了天气情况结构标签与天气界面状态数据之间的绑定,绑定后,即生成了天气情况元素所对应的显示结构文档。需要说明的是,一个界面中可以有多个需求元素,以上示例仅通过根据一个需求元素的界面状态数据确定对应显示结构文档的过程进行了说明,其他需求元素的界面状态数据的绑定过程可以参照上述示例实现,本申请对此不作限定。
需要说明的是,参照图1,在语义化的非结构标签中,生成器标签可以添加在多个结构标签形成根据标签生成规则,在父标签中生成新的结构标签及关联代码子片段。修饰器标签则是按照标签修饰规则,对其所属的结构标签进行修饰。属性标签可以使得其所属的结构标签的属性可以清晰的表达复杂的结构引用关系,提高界面描述文档的结构性。元标签则可以包括其所属的结构标签的可视化信息,使得在界面描述文档被导入可视化编辑器时,可视化编辑器可以根据元标签,生成用于展示结构标签的可视化信息的可视化编辑界面。
进一步的,服务端10可以执行步骤S3,服务端10通过渲染适配接口,将所述显示结构文档返回给所述终端进行渲染。
在该步骤中,服务端10为了实现与终端20之间的渲染过程的解耦,服务端10可以提供渲染适配接口,并在渲染适配接口中添加一些渲染方法声明,具体为,绑定适配接口可以定义一个或多个渲染方法的声明。终端20根据自己的服务的界面状态执行逻辑和终端类型,在确定自身能够实现这些渲染方法的情况下,调用该渲染适配接口,接收终端提供的显示结构文档,并实现(implements)渲染适配接中的渲染方法。最后将显示结构文档进行渲染展示。
例如,服务端10在渲染适配接口中添加了网页浏览器渲染的方法声明,若终端20是一个具有网页浏览器的设备,则终端20可以调用渲染适配接口,实现对显示结构文档的网页浏览器展示渲染。
在上述过程中,由于服务端10只关心发送显示结构文档的过程是不是满足渲染适配接口中的方法声明,而不去关注终端20侧的渲染逻辑和宿主语言,因此,实现了服务端10与终端20之间的渲染过程的解耦,解耦后,服务端10可以向任何能满足绑定适配接口中的方法声明的终端20发送显示结构文档,提高了界面数据处理的复用性。并且由于界面的描述过程没有宿主语言的参与,提高了界面描述文档的结构直观性。
进一步的,终端20可以执行步骤S4,终端将所述显示结构文档渲染后进行展示。相较于现有技术,本申请实施例中界面的渲染过程可以发生在终端20,从而避免了终端20中由宿主语言编写的渲染逻辑代码,影响服务端10的界面描述文档的结构直观性。
因此,本申请可以接收终端通过绑定适配接口发送的界面状态数据;根据界面状态数据与预设的界面描述文档,确定界面状态数据对应的目标界面元素的显示结构文档;通过渲染适配接口,将显示结构文档返回给终端进行渲染。本申请通过在服务端提供绑定适配接口和渲染适配接口,并将服务端接收界面状态数据的方法声明写进绑定适配接口,将对显示结构文档进行渲染的方法声明写进渲染适配接口,使得能够实现这些方法声明的终端可以通过调用这两个接口,进行界面状态数据的发送和显示结构文档的接收及渲染,在整个过程中,服务端不受终端的服务、渲染逻辑和宿主语言的干扰,实现了界面执行逻辑与界面描述之间的解耦,实现了服务端和终端之间的解耦,提高了界面数据处理的复用性。并且由于界面描述文档中没有宿主语言的参与,提高了界面描述文档的结构直观性。
参照图3,示出了本申请提供的一种服务端侧的界面数据处理方法的步骤流程图,具体可以包括如下步骤:
步骤101,接收终端通过绑定适配接口发送的界面状态数据。
在该步骤中,服务端为了实现接收终端的界面状态数据过程的解耦,服务端可以提供绑定适配接口,并在绑定适配接口中添加一些方法声明,具体为,绑定适配接口可以定义一个实体可能发出的动作,但是只是定义了这些动作的原型,没有实现,也没有任何状态信息,所以绑定适配接口类似一个规范、一个协议,是一个抽象的概念,从程序角度,简单理解,绑定适配接口就是服务端接收界面状态数据的函数声明。
具体的,绑定适配接口中添加的方法声明类型可以有多种。
例如,在一种实现场景中,假设服务端可以在绑定适配接口中添加接收格式类型为A的界面状态数据的方法声明,若终端能够生成格式类型为A的界面状态数据,则终端就可以调用绑定适配接口并向服务端发送界面状态数据。
在另一种实现场景中,假设服务端可以接收格式类型为A的界面状态数据,而终端能够生成格式类型为B的界面状态数据,则服务端可以在绑定适配接口中添加A格式和B格式之间的转换规则的方法声明,并接收终端在执行服务的界面状态执行逻辑后,通过绑定适配接口发送的B格式的界面状态数据;将B格式的界面状态数据按照所述转换规则,转换为A格式的界面状态数据进行后续的绑定操作。
步骤102,根据所述界面状态数据与预设的界面描述文档,确定所述界面状态数据对应的目标界面元素的显示结构文档。
在本申请实施例中,参照图4,示出了本申请提供的一种界面描述文档的机构示意图,其中,界面描述文档包括引用校验表述、实体结构表述和辅助资源表述三个部分,并且,一个界面描述文档由多个功能标签组成,这些标签是由界面描述语言所定义的,可以分为结构标签,以及语义化的非结构标签。在引用校验表述部分,当根据需求确定了界面中的界面元素后,需要通过界面描述文档的声明标签(以XML语言为界面描述语言时,该声明标签可以为<x:schema>),定义这些界面元素所需的界面状态数据的名称、类型等状态参数。
另外,在实体结构表述中,可以根据界面元素去定义对应的结构标签,多个结构标签可以所属于一个总的父标签(以XML语言为界面描述语言时,该父标签可以为<x:structure>),并且,多个结构标签之间可以并列同级排布,也可以形成父子结构关系,从而构建出界面描述文档的结构性,这种结构性可以用来表示界面中各个界面元素的结构关系,并且,在实体结构表述中还可以建立结构标签与对应界面状态数据之间的引用关系。
在服务端通过绑定适配接口接收到界面状态数据后,界面状态数据根据自身的状态参数,在引用校验部分通过声明标签进行校验,在校验通过的情况下,根据实体结构表述中结构标签与对应界面状态数据之间的引用关系,确定相应的结构标签,从而实现结构标签与界面状态数据的绑定,生成对应的显示结构文档。
例如,在基于天气数据源进行天气预报终端界面的建立时,根据用户需求,确定了1个界面元素:天气weather,则首先可以在界面描述文档的引用校验部分,通过声明标签对这个界面元素所需的界面状态数据进行声明,例如通过<x:property name="weather"type=types.weather />,可以声明界面元素天气weather的名称为“weather”,数据类型为“types.weather”。
之后,可以在实体结构表述部分,定义相应的实体结构,假设在界面中,客户需求根据3个不同的异步状态:状态1、状态2和状态3,分别在界面中显示“Loading...”、“Error”、天气信息,则状态1会对应显示“Loading...”的代码片段1,状态2会对应显示“Error”的代码片段2,状态1会对应显示天气信息的代码片段3。根据不同的异步状态,会选择对应的代码片段生成相应的显示结构文档。
如,当接收界面状态数据的异步状态为状态1(异步请求执行中,但还未获取到数据)时,则可以确定代码片段1并组成显示结构文档,用于在异步状态为状态1时,在界面中显示“loading”。当接收界面状态数据的异步状态为状态2时,此时可以认为未获取到界面状态数据,可以确定代码片段2并组成显示结构文档,用于在异步状态为状态2时,在界面中显示“Error”。当接收界面状态数据的异步状态为状态3时,可以认为接收到了界面状态数据,且界面状态数据在引用校验部分与声明标签检验通过后,可以确定界面状态数据对应的代码片段3,并将代码片段3组成显示结构文档,用于在异步状态为状态3时,在界面中展示天气信息。
需要说明的是,上述示例代码仅为了方便理解本发明实施例,本发明实施例对此不做限制。
需要说明的是,在开始构建天气预报界面时,首先可以通过默认的weather界面状态数据0(如weather界面状态数据0为文本:“初始化”)与界面描述文档进行绑定,生成显示结构文档0并发送给终端进行展示,这样在天气数据源生成界面状态数据之前,终端可以展示一个默认天气预报界面,其中天气一栏的信息为“初始化”。当天气数据源生成weather界面状态数据1(内容为“33摄氏度”)时,此时weather界面状态数据1会通过绑定适配接口传输至服务端,在通过声明标签验证weather界面状态数据1通过后,可以删除服务端中原有的weather界面状态数据0,并将新的weather界面状态数据1与界面描述文档进行绑定,生成新的显示结构文档1并发送给终端进行展示,终端可以展示一个天气预报界面,其中天气一栏的信息为“33摄氏度”。
步骤103,通过渲染适配接口,将所述显示结构文档返回给所述终端进行渲染。
在该步骤中,服务端为了实现与终端之间的渲染过程的解耦,服务端可以提供渲染适配接口,并在渲染适配接口中添加一些渲染方法声明,具体为,绑定适配接口可以定义一个或多个渲染方法的声明。终端根据自己的服务的界面状态执行逻辑和终端类型,在确定自身能够实现这些渲染方法的情况下,调用该渲染适配接口,接收终端提供的显示结构文档,并实现(implements)渲染适配接中的渲染方法。最后将显示结构文档进行渲染展示。
例如,服务端在渲染适配接口中添加了网页浏览器渲染的方法声明,若终端是一个支持网页浏览器的终端,则终端可以调用渲染适配接口,实现对显示结构文档的网页浏览器展示渲染。
在上述过程中,由于服务端只关心发送显示结构文档的过程是不是满足渲染适配接口中的方法声明,而不去关注终端侧的渲染逻辑和宿主语言,因此,实现了服务端与终端之间的渲染过程的解耦,解耦后,服务端可以向任何能满足绑定适配接口中的方法声明的终端发送显示结构文档,提高了界面数据处理的复用性。并且由于界面的描述过程没有宿主语言的参与,提高了界面描述文档的结构直观性。
综上所述,本申请实施例提供的一种界面数据处理方法,包括:接收终端通过绑定适配接口发送的界面状态数据;根据界面状态数据与预设的界面描述文档,确定界面状态数据对应的目标界面元素的显示结构文档;通过渲染适配接口,将显示结构文档返回给终端进行渲染。本申请通过在服务端提供绑定适配接口和渲染适配接口,并将服务端接收界面状态数据的方法声明写进绑定适配接口,将对显示结构文档进行渲染的方法声明写进渲染适配接口,使得能够实现这些方法声明的终端可以通过调用这两个接口,进行界面状态数据的发送和显示结构文档的接收及渲染,在整个过程中,服务端不受终端的服务、渲染逻辑和宿主语言的干扰,实现了服务端和终端之间的解耦,提高了界面数据处理的复用性。并且由于界面描述文档中没有宿主语言的参与,提高了界面描述文档的结构直观性。
参照图5,示出了本申请提供的一种终端侧界面数据处理方法的具体步骤流程图,具体可以包括如下步骤:
步骤201,通过绑定适配接口,将界面状态数据发送至服务端。
在该步骤中,终端是可以是用于展示界面的设备,另外,终端不仅能够展示界面,还能提供相应的交互方式,以便实现用户与界面之间的交互,生成交互事件。例如,当终端为触屏手机时,界面为触屏手机中的包括多个触控按钮的计算器界面时,此时界面可以接收用户对触控按钮的触控操作,生成交互事件,以实现加减乘除计算。
另外,界面状态数据生成模块用于接收界面处理模块发送的交互事件,并按照服务的界面状态执行逻辑,生成交互事件对应的界面状态数据,并通过调用服务端的绑定适配接口,将界面状态数据发送至服务端。例如,在上述示例中的计算器界面中,若交互事件是用户点击了“2”、“×”、“3”三个触控按钮,则按照计算器的服务的界面状态执行逻辑,会生成“6”这个界面状态数据。
在确定终端能够实现绑定适配接口中的方法声明时,终端可以通过绑定适配接口,将界面状态数据发送至服务端。
步骤202,通过渲染适配接口,接收所述服务端返回的显示结构文档并进行渲染;所述显示结构文档由所述服务端根据所述界面状态数据与预设的界面描述文档确定得到。
在确定终端能够实现渲染适配接口中的方法声明时,终端可以通过渲染适配接口,接收服务端发送的显示结构文档,并根据通过渲染适配接口中的方法声明实现的渲染逻辑代码,对显示结构文档进行渲染展示。
相较于现有技术,本申请实施例中界面的渲染过程可以发生在终端,在实现渲染解耦的同时,避免了终端中由宿主语言编写的渲染逻辑代码影响服务端的界面描述文档的结构直观性。
综上所述,本申请实施例提供的一种界面数据处理方法,包括:通过绑定适配接口,将界面状态数据发送至服务端;通过渲染适配接口,接收服务端返回的显示结构文档并进行渲染;显示结构文档由服务端根据界面状态数据与预设的界面描述文档确定得到。本申请通过在服务端提供绑定适配接口和渲染适配接口,并将服务端接收界面状态数据的方法声明写进绑定适配接口,将对显示结构文档进行渲染的方法声明写进渲染适配接口,使得能够实现这些方法声明的终端可以通过调用这两个接口,进行界面状态数据的发送和显示结构文档的接收及渲染,在整个过程中,服务端不受终端的服务、渲染逻辑和宿主语言的干扰,实现了服务端和终端之间的解耦,提高了界面数据处理的复用性。并且由于界面描述文档中没有宿主语言的参与,提高了界面描述文档的结构直观性。
参照图6,示出了本申请提供的一种界面数据处理方法的具体交互步骤流程图,具体可以包括如下步骤:
步骤301,终端通过绑定适配接口,将界面状态数据发送至服务端。
该步骤可以参照上述步骤201,此处不再赘述。
步骤302,服务端接收终端通过绑定适配接口发送的界面状态数据。
该步骤可以参照上述步骤101,此处不再赘述。
可选的,在本申请实施例的一种实现方式中,所述绑定适配接口中设置有第一数据格式和第二数据格式之间的转换规则;所述第一数据格式为界面描述文档对应的数据格式,所述第二数据格式为终端对应的数据格式;所述步骤302具体可以包括:
子步骤3021、服务端接收所述终端通过所述绑定适配接口发送的所述第二数据格式的界面状态数据。
子步骤3022、服务端将所述第二数据格式的界面状态数据按照所述转换规则,转换为第一数据格式的界面状态数据。
在本申请实施例的一种实现方式中,若服务端可以接收第一数据格式的界面状态数据,而终端能够生成第二数据格式的界面状态数据,则服务端可以在绑定适配接口中添加第一数据格式和第二数据格式之间的转换规则的方法声明,并接收终端在执行服务的界面状态执行逻辑后,通过绑定适配接口发送的第二数据格式的界面状态数据;将第二数据格式的界面状态数据按照所述转换规则,转换为第一数据格式的界面状态数据进行后续的绑定操作。
步骤303,服务端将所述界面状态数据与所述功能标签的执行条件匹配,确定与所述界面状态数据对应的目标界面元素的目标代码片段。
可选的,在该步骤中,界面描述文档包括功能标签,以及与所述功能标签对应的执行条件,所述执行条件对应有界面元素的代码片段。
在本申请实施例中,界面描述文档可以按照服务的需求进行建立,并由多个功能标签组成,这些标签是由界面描述语言所定义的,可以分为结构标签,以及语义化的非结构标签,结构标签用于表示界面中的界面元素,多个结构标签的组合可以所属于一个父标签,使得多个结构标签的组合形成一定的结构性,即描述了界面中多个界面元素之间的约束关系。
进一步的,每个功能标签都对应有执行条件,执行条件对应有界面元素的代码片段,该代码片段是对应界面元素的界面描述代码,用来对界面元素进行结构和功能性的描述。如:参照步骤102中的示例,<Weather weather=weather/>是结构标签Weather对应的的天气界面元素的代码片段,其表示了结构标签Weather与天气界面状态数据weather之间的引用关系。
可选的,步骤303具体可以通过根据所述功能标签的预设解析规则,将所述界面状态数据与所述功能标签的执行条件匹配,确定与所述界面状态数据对应的目标界面元素的目标代码片段的方式实现。
在本申请实施例中,不同的功能标签,有不同的解析规则,其解析执行条件的过程是不太一样的,比如async异步状态标签,和if条件选择标签,因而其设置的格式不同,二者的解析规则就不一样。因此,不同的功能标签,需要按照不同的解析规则进行解析,从而将界面状态数据与功能标签的执行条件匹配,确定与界面状态数据对应的目标界面元素的目标代码片段。
可选的,在本申请实施例的一种实现方式中,所述功能标签包括声明标签以及与所述声明标签对应的界面状态数据校验条件;步骤303具体可以包括:
子步骤3031、服务端利用所述声明标签中的界面状态数据校验条件对所述界面状态数据进行校验。
可选的,校验信息包括:界面状态数据的名称和/或类型。
在该该步骤中,参照步骤102中的示例,当根据用户需求确定了1个界面元素:天气weather时,可以通过声明标签对这个界面元素所需的界面状态数据进行声明,例如通过<x:property name="weather" type=types.weather />,可以声明界面元素天气weather的名称为“weather”,数据类型为“types.weather”。
当服务端通过绑定适配接口接收到界面状态数据之后,需判断界面状态数据的name(名称)是否为"weather" ,type(类型)是否为types.weather。若是,则确定校验通过。
可以理解,声明标签本身并不是一个界面元素,其是对界面状态数据的类型、名称等进行校验,避免界面出错。该声明标签对应的执行条件可以理解为界面状态数据校验条件,该执行条件对应的界面元素的代码片段可以理解为除声明标签之外的其他功能标签对应的代码片段,在校验通过后,然后服务端可以继在除声明标签之外的其他功能标签对应的代码片段中,继续筛选目标界面元素的显示结构。
子步骤3032、服务端在校验通过的情况下,根据所述声明标签之外的其他功能标签以及与所述功能标签对应的执行条件,确定与所述界面状态数据对应的目标界面元素的目标代码片段。
在该步骤中,服务端在确定校验通过的情况下,根据声明标签之外的其他功能标签,确定界面状态数据对应的目标代码片段。
例如,参照步骤102中的示例中的实体结构表述部分,在确定接收界面状态数据的异步状态为状态3时,根据状态3对应的状态标签,可以确定界面状态数据对应的目标代码片段为<Weather weather=weather/>,该目标代码片段表示了结构标签Weather与天气界面状态数据之间的引用关系,根据该目标代码片段及天气界面状态数据,可以建立天气weather界面元素对应的显示结构文档,此时显示结构文档中,Weather结构标签绑定了weather界面状态数据。当终端获取到该显示结构文档时,可以对该显示结构文档进行渲染,生成用于了展示天气信息的界面。
可选的,在本申请实施例的一种实现方式中,功能标签包括设置有用于在父标签中生成结构标签的生成器标签、用于修改已有结构标签的结构的修饰器标签、用于设置已有结构标签的属性的属性标签其中至少一种,其中,所述功能标签之间的结构关系包括父子关系;步骤303具体可以包括:
子步骤3033、服务端根据所述生成器标签的解析规则,将所述界面状态数据与所述生成器标签的执行条件进行匹配。
子步骤3034、在所述界面状态数据匹配一执行条件的情况下,在所述父标签中生成与所述界面状态数据对应的结构标签及关联的代码子片段。
在本申请实施例中,参照图4,在实体结构表述部分,每个结构标签都关联设置有修饰器标签和或属性标签,且多个结构标签形成一个树形结构,其中父标签可以为这个树形结构的根结点,结构标签1和结构标签2都是父标签的子结点。功能标签之间的结构关系包括父子关系,可以满足复杂的界面元素排布需求,如,一个按钮中嵌套一个子按钮的场景。
在实际应用中,由于生成器标签可以用于按界面状态数据生成结构标签,因此生成器标签和结构标签之间可以存在父子关系,结构标签之间也可以存在父子关系 。
可选的,生成器标签包括:用于合并多个结构标签的片段标签、用于修改原有结构标签并生成新结构标签的修改器标签、用于按不同参数选择结构标签的占位标签中的一种或多种。
在本申请实施例中,生成器标签为语义化的非结构标签,如:<x:fragment>(片段标签),<x:modifier>(修改器标签),<x:placeholder>(占位标签)等,这些生成器标签的具体使用可以结合实际服务场景需求。如,在一种场景中,需要将界面中的两个按钮进行合并,此时可以从界面描述文档中找到这两个按钮对应的结构标签,并通过<x:fragment>(片段标签)将这两个结构标签并为一个结构标签,同时合成后的结构标签具有原有两个结构标签的代码片段。比如,在一种场景中,需要在界面中对一个按钮进行更改,则可以通过<x:modifier>(修改器标签)定义修改规则,并按照该修改规则,修改原有结构标签及关联的代码片段,并生成新结构标签及新的关联的代码片段。又比如,在一种场景中,需要在界面中对未上线的一个功能按钮预留位置,则可以通过<x:placeholder>(占位标签),在界面描述文档中进行占位,在该功能按钮正式上线时,通过<x:placeholder>标签生成该功能按钮的结构标签及新的关联的代码片段。
可选的,在本申请实施例的一种实现方式中,占位标签中设置有所述修饰器标签;所述修饰器标签对应至少两个选择条件,所述选择条件对应结构标签片段;步骤3033具体可以包括:
子步骤A1、服务端将所述界面状态数据与所述生成器标签中的修饰器标签的条件参数进行匹配。
步骤3034具体可以包括:
子步骤A2、服务端在所述界面状态数据与一目标条件参数匹配的情况下,选择所述目标条件参数对应的结构标签的代码子片段。
在本申请实施例中,终端界面可以需求具有较为复杂的功能,该功能中的一种为在对应功能的修饰器标签的辅助下,能够通过不同的选择条件,选择界面描述文档中不同的结构标签代码片段。
例如,参照上述步骤102中示例的实体结构表述部分,针对客户根据3个不同的异步状态分别显示3个对应的状态数据的需求,则界面中需要由判断异步状态的功能,因此,可以在界面描述文档的实体结构表述部分,天机具有具有判断异步状态功能的异步修饰器标签(x:async=status),根据该标签的辅助,可以基于服务端再进行异步处理过程中产生的对应状态,从实体结构中选取对应的结构标签代码片段,如,当接收界面状态数据的异步状态为状态1(异步请求执行中,但还未获取到数据)时,则可以确定代码片段1并组成显示结构文档,用于在异步状态为状态1时,在界面中显示“loading”。当接收界面状态数据的异步状态为状态2时,此时可以认为未获取到界面状态数据,可以确定代码片段2并组成显示结构文档,用于在异步状态为状态2时,在界面中显示“Error”。当接收界面状态数据的异步状态为状态3时,可以认为接收到了界面状态数据,且界面状态数据在引用校验部分与声明标签检验通过后,可以确定界面状态数据对应的代码片段3,并将代码片段3组成显示结构文档,用于在异步状态为状态3时,在界面中展示天气信息。
需要说明的是,上述示例代码仅为了方便理解本发明实施例,本发明实施例对此不做限制。
子步骤3035、服务端根据所述修饰器标签的解析规则,将所述界面状态数据与所述修饰器标签的执行条件匹配。
子步骤3036、服务端根据所述修饰器标签的解析规则,将所述界面状态数据与所述修饰器标签的执行条件匹配。
具体的,修饰器标签用于修改已有结构标签的结构,修饰器标签可以包括:元信息/反射标签<x:meta>,选择标签<x:if/else>、遍历循环标签<x:each/loop>、异步标签<x:async>,其中异步标签<x:async>的具体实现可以参照上述步骤A2的描述,条件选择标签<x:if/else>可以基于一些if/else判断逻辑,实现代码片段的选择功能。遍历循环标签<x:each/loop>可以通过遍历循环功能,实现遍历循环过程中代码片段的选择功能。
具体的,元信息/反射标签<x:meta>可以为标签增加可编程性,在渲染、绑定接口中,使用元信息或反射装饰器作用的标签可以被接口使用,可用于元编程。因为本申请中的终端界面文档和渲染除了状态数据驱动外,并没有别的方式在运行时可以生成或修改代码,这里提出元信息/反射标签是为了让渲染、绑定接口在对界面描述的可编程方面有一定灵活性且不会破坏直观及可读性。
实际场景如:在非生产环境下作项目的本地验证时,需要将某个有风险可能会造成不良后果(如财务操作造成资损等)的标签替换为安全的模拟标签,可以为非本方案中。此时可通过元信息/反射标签动态替换此标签,而非在界面描述文档中作侵入式表述。
例:<Balance x:meta({ mockData }) x:reflection />
将Balance标签设置为可被接口编程(反射)的标签,同时赋于其元信息mockData,可通过实现(implements)接口的相应方法来完成。
综上,修饰器标签的功能就是根据修饰器标签对应的界面元素选择代码,从已有结构标签的代码中,确定与界面状态数据对应的代码片段。
例如,参照上述步骤102中示例的实体结构表述部分,异步状态判断标签可以根据状态3,确定了对应的代码片段3为。
子步骤3037、服务端在所述界面状态数据与所述已有结构标签的执行条件匹配的情况下,选择所述已有结构标签的属性标签的代码子片段。
在该步骤中,属性标签用于使得结构标签的属性可以清晰的表达复杂的结构引用,将属性作为子标签的表达形式,将非结构转为树形结构来描述。优点是可以接受复杂的数据绑定表达式或标签结构,并能使用装饰器来完成复杂的语义表述,语义上更直观,装饰器的作用范围被细化到具体属性上,语义明确,而且作为属性的子标签赋值,更能突出其结构性。
在实际应用中,属性标签也可以具有至少两个执行条件,每个执行条件对应一段属性代码,该属性代码则规定了属性标签所在结构标签的属性。比如在一个属性标签<tip>中,可以设置两个执行条件,第一个执行条件:在触发条件为数据1的情况下,做动作1;第二个执行条件为,在触发条件为数据2的情况下,做动作2。
参照图4,在实体结构表述部分,每个结构标签都关联设置有修饰器标签和或属性标签,且多个结构标签形成一个树形结构,其中父标签可以为这个树形结构的根结点,结构标签1和结构标签2互为兄弟结点,且二者都为父标签的子结点,结构标签21和结构标签22互为兄弟结点,且二者都为结构标签2的子结点,但是兄弟结点之间的约束逻辑是不清楚的,因此,为了增强界面描述文档的结构性,可以为结构标签1和结构标签2分别设置一个子属性标签a,为结构标签21和结构标签22分别设置另一个子属性标签b。
当服务端在确定已有结构标签与界面状态数据匹配的情况下,则可以通过子属性标签a,选择结构标签1和结构标签2以及对应的代码子片段;通过子属性标签B,选择结构标签21和结构标签22以及对应的代码子片段。这样处于相同层级的结构标签之间的约束逻辑清晰,提高了界面描述文档的结构性。
可选的,在本申请实施例的一种实现方式中,所述功能标签包括元标签;所述元标签用于对已有结构标签的资源进行描述;其中所述元标签包括:表达式标签、资源别名标签、适配标签其中至少一种,所述表达式标签用于对输入的界面状态数据进行运算,所述资源别名标签用于对已有结构标签的资源以别名的方式进行描述,所述适配标签用于对界面状态数据中的值进行转换和/或进行标签的转换。所述步骤303具体可以包括:
子步骤3038,服务端在一结构标签的执行条件与所述界面状态数据匹配的情况下,保留所述结构标签的元标签的代码片段。
在本申请实施例中,参照图1,功能标签还可以包括元标签;元标签用于对已有结构标签的资源进行描述,在界面描述文档形成显示结构文档,并被终端渲染进行展示的过程中,元标签并不体现在最终的界面中,因此,元标签用于反映结构标签的“数据”(信息),<x meta/>标签可以提供描述一个结构标签的宏信息,元标签不会显示在界面中,但是元标签会被处理,以提取出其包含的信息。
例如,在一种实现场景中,元标签可以辅助实现对界面描述文档的可视化编辑,具体为,对界面描述文档中的结构标签,可以设置对应的元标签,元标签中包括了该结构标签的可视化编辑信息,在可视化编辑软件接收到界面描述文档后,可以提取出元标签中的可视化编辑信息,生成一个针对各个结构标签的可视化编辑界面,以供开发人员实现可视化编辑,提高了界面描述文档的编辑效率。
需要说明的是,元标签可以包括:表达式标签、资源别名标签、适配标签其中至少一种,表达式标签用于对输入的界面状态数据进行运算。资源别名标签用于对已有结构标签的资源以别名的方式进行描述,即类似C语言的typedef,用来增强结构标签的资源的语义性。适配标签用于对界面状态数据中的值进行转换和/或进行标签的转换。针对值的转换,如将小写数字“9”转化为大写数字“九”。针对标签的转换,可用于实现标签的多态,同时减少差异结构对用户设计的干扰,标签的多态是指为结构标签设置一个接口,根据这个接口,可以生成多种对该结构标签的具体实现,以提高结构标签的复用性。
可以理解,元标签的对应的执行条件为标签内部的执行语句,其对应的界面元素的代码片段可以为该执行语句的执行结果。
可选的,在本申请实施例的一种实现方式中,所述功能标签包括内联引用标签;所述内联引用标签用于引用资源;所述步骤303具体可以包括:
子步骤3039,服务端在所述界面状态数据与所述内联引用标签的执行条件匹配的情况下,从所述内联引用标签中确定界面状态数据对应的目标界面元素的目标代码片段。
在该步骤中,功能标签可以包括内联引用标签;内联引用标签用于引用资源,内联标签中也可以具有生成器标签、修饰器标签。内联标签实现的是界面描述文档中的资源引用,使得服务端在界面状态数据与内联引用标签匹配的情况下,从内联引用标签中确定界面状态数据对应的目标代码片段
例如,用户提出了一个需求,要求根据终端的终端类型选择不同的资源类型,如在终端为具有音响的设备时,在界面中通过音响播放音频,在终端为具有显示屏的设备时,在界面中通过显示屏显示文本,此时可以建立内联引用标签1和内联引用标签2,内联引用标签1的执行条件为终端为具有音响的设备,内联引用标签2的执行条件为终端为具有显示屏的设备,内联引用标签1对应通过音响播放音频的目标代码片段1,内联引用标签2对应通过显示屏显示文本的目标代码片段2。假设接收到的界面状态数据为音频文件,且用户意图为通过显示屏显示文本,则在界面状态数据与内联引用标签匹配的情况下,可以确定目标代码片段2,并将音频格式的界面状态数据转化为文本格式,根据文本格式的界面状态数据和目标代码片段2,构建对应的显示结构文档。
可以理解,引用标签的对应的执行条件为该引用标签内部的引用语句,其对应的界面元素的代码片段可以引用语句。
步骤304,服务端根据所述目标界面元素的目标代码片段,确定所述显示结构文档。
在该步骤中,已经确定了界面状态数据以及目标代码片段,则此时可以根据目标代码片段中界面状态数据与结构标签之间的引用关系,将界面状态数据和目标代码片段组合,生成显示结构文档。
可选的,在本申请实施例的一种实现方式中,所述步骤304具体可以包括:
子步骤3041,在所述界面状态数据中存在需要写入代码片段中的第一数据的情况下,服务端将所述第一数据写入所述代码片段中。
在该步骤中,确定了界面状态数据中存在需要写入代码片段中的第一数据后,即可将第一数据写入代码片段中,完成第一数据与代码片段的绑定。
例如,根据代码片段<Weather weather=weather/>,Weather为结构标签的名称,等号左边的weather为界面状态数据源的名称,等号右边的weather为界面状态数据的名称,即为第一数据。
子步骤3042,服务端将多段目标代码片段,按相应功能标签之间的结构关系组合为显示结构文档。
在该步骤中,已经确定了界面状态数据以及目标代码片段,则此时可以根据目标代码片段中界面状态数据与结构标签之间的引用关系,将界面状态数据和目标代码片段绑定,生成显示结构文档。
步骤305,服务端通过渲染适配接口,将所述显示结构文档返回给所述终端进行渲染。
该步骤可以参照上述步骤103,此处不再赘述。
可选的,在本申请实施例的一种实现方式中,渲染适配接口中设置有与至少一个终端类型对应的渲染规则;所述步骤305具体可以包括:
子步骤3051、服务端在所述终端的终端类型与所述渲染适配接口中设置的终端类型匹配的情况下,将所述终端类型对应的渲染规则返回给所述终端,以供所述终端渲染所述显示结构文档。
在该步骤中,例如,服务端在渲染适配接口中添加了网页浏览器渲染的方法声明,若终端是一个具有网页浏览器的设备,则终端可以调用渲染适配接口,实现对显示结构文档的网页浏览器展示渲染。
步骤306,终端通过渲染适配接口,接收所述服务端返回的显示结构文档并进行渲染。
步骤可以参照上述步骤202,此处不再赘述。
综上所述,本申请实施例提供的一种界面数据处理方法,包括:接收终端通过绑定适配接口发送的界面状态数据;根据界面状态数据与预设的界面描述文档,确定界面状态数据对应的目标界面元素的显示结构文档;通过渲染适配接口,将显示结构文档返回给终端进行渲染。本申请通过在服务端提供绑定适配接口和渲染适配接口,并将服务端接收界面状态数据的方法声明写进绑定适配接口,将对显示结构文档进行渲染的方法声明写进渲染适配接口,使得能够实现这些方法声明的终端可以通过调用这两个接口,进行界面状态数据的发送和显示结构文档,的接收及渲染,在整个过程中,服务端不受终端的服务、渲染逻辑和宿主语言的干扰,现了界面描述和界面状态执行逻辑之间的解耦,实现了服务端和终端之间的解耦,提高了界面数据处理的复用性。并且由于界面描述文档中没有宿主语言的参与,提高了界面描述文档的结构直观性。
参照图7,示出了本申请一个具体示例中的一种服务端侧界面数据处理装置的结构图,包括:
接收模块401,用于接收终端通过绑定适配接口发送的界面状态数据;
可选的,所述绑定适配接口中设置有第一数据格式和第二数据格式之间的转换规则;所述第一数据格式为界面描述文档对应的数据格式,所述第二数据格式为终端对应的数据格式;所述接收模块401包括:
接收子模块,用于接收所述终端通过所述绑定适配接口发送的所述第二数据格式的界面状态数据;
转换子模块,用于将所述第二数据格式的界面状态数据按照所述转换规则,转换为所述第一数据格式的界面状态数据。
绑定模块402,用于根据所述界面状态数据与预设的界面描述文档,确定所述界面状态数据对应的目标界面元素的显示结构文档;
可选的,所述功能标签包括设置有用于在父标签中生成结构标签的生成器标签、用于修改已有结构标签的结构的修饰器标签、用于设置已有结构标签的属性的属性标签其中至少一种,其中,所述功能标签之间的结构关系包括父子关系。
可选的,所述界界面描述文档包括功能标签,以及与所述功能标签对应的执行条件,所述执行条件对应有界面元素的代码片段;所述绑定模块402包括:
确定子模块,用于将所述界面状态数据与所述功能标签的执行条件匹配,确定与所述界面状态数据对应的目标界面元素的目标代码片段;
可选的,所述功能标签包括声明标签以及与所述声明标签对应的界面状态数据校验条件;所述确定子模块,包括:
检验单元,用于利用所述声明标签中的界面状态数据校验条件对所述界面状态数据进行校验;
可选的,所述校验信息包括:界面状态数据的名称和/或类型。
确定单元,用于在校验通过的情况下,根据所述声明标签之外的其他功能标签以及与所述功能标签对应的执行条件,确定与所述界面状态数据对应的目标界面元素的目标代码片段。
可选的,在所述功能标签中包括所述生成器标签的情况下,所述确定子模块,包括:
第一确定单元,用于根据所述生成器标签的解析规则,将所述界面状态数据与所述生成器标签的执行条件进行匹配;
第一确定单元,还用于在所述界面状态数据匹配一执行条件的情况下,在所述父标签中生成与所述界面状态数据对应的结构标签及关联的代码子片段
可选的,所述生成器标签包括:用于合并多个结构标签的片段标签、用于修改原有结构标签并生成新结构标签的修改器标签、用于按不同参数选择结构标签的占位标签中的一种或多种。
可选的,在所述功能标签中包括所述修饰器标签的情况下,所述确定子模块,包括:
第二确定单元,用于根据所述修饰器标签的解析规则,将所述界面状态数据与所述修饰器标签的执行条件匹配;
第二确定单元,还用于在所述界面状态数据匹配一执行条件的情况下,从所述已有结构标签的代码中,确定与所述界面状态数据对应的代码子片段。
可选的,所述占位标签中设置有所述修饰器标签;所述修饰器标签对应至少两个选择条件,所述选择条件对应结构标签片段;
所述第二确定单元,包括:
匹配子单元,用于将所述界面状态数据与所述生成器标签中的修饰器标签的条件参数进行匹配;
选择子单元,用于在所述界面状态数据与一目标条件参数匹配的情况下,选择所述目标条件参数对应的结构标签的代码子片段。
可选的,在所述功能标签中包括所述属性标签的情况下,所述确定子模块,包括:
第三确定单元,用于在所述界面状态数据与所述已有结构标签的执行条件匹配的情况下,选择所述已有结构标签的属性标签的代码子片段;
可选的,所述功能标签包括元标签;所述元标签用于对已有结构标签的资源进行描述;其中所述元标签包括:表达式标签、资源别名标签、适配标签其中至少一种,所述表达式标签用于对输入的界面状态数据进行运算,所述资源别名标签用于对已有结构标签的资源以别名的方式进行描述,所述适配标签用于对界面状态数据中的值进行转换和/或进行标签的转换。所述确定子模块,包括:
保留单元,用于在一结构标签的执行条件与所述界面状态数据匹配的情况下,保留所述结构标签的元标签的代码片段。
可选的,所述功能标签包括内联引用标签;所述内联引用标签用于引用资源;所述确定子模块,包括:
内联单元,用于在所述界面状态数据与所述内联引用标签的执行条件匹配的情况下,从所述内联引用标签中确定界面状态数据对应的目标界面元素的目标代码片段。
生成子模块,用于根据所述目标界面元素的目标代码片段,确定所述显示结构文档。
可选的,生成子模块包括:
写入单元,用于在所述界面状态数据中存在需要写入代码片段中的第一数据的情况下,将所述第一数据写入所述代码片段中;
组合单元,用于将多段目标代码片段,按相应功能标签之间的结构关系,将所述目标代码片段组合为显示结构文档。
提供模块403,用于通过渲染适配接口,将所述显示结构文档返回给所述终端进行渲染。
可选的,所述渲染适配接口中设置有与至少一个终端类型对应的渲染规则;
所述提供模块403,包括:
渲染接口子模块,用于在所述终端的终端类型与所述渲染适配接口中设置的终端类型匹配的情况下,将所述终端类型对应的渲染规则提供给所述终端,以供所述终端渲染所述显示结构文档。
综上所述,本申请实施例提供的一种界面数据处理装置,包括:接收终端通过绑定适配接口发送的界面状态数据;根据界面状态数据与预设的界面描述文档,确定界面状态数据对应的目标界面元素的显示结构文档;通过渲染适配接口,将显示结构文档返回给终端进行渲染。本申请通过在服务端提供绑定适配接口和渲染适配接口,并将服务端接收界面状态数据的方法声明写进绑定适配接口,将对显示结构文档进行渲染的方法声明写进渲染适配接口,使得能够实现这些方法声明的终端可以通过调用这两个接口,进行界面状态数据的发送和显示结构文档的接收及渲染,在整个过程中,服务端不受终端的服务、渲染逻辑和宿主语言的干扰,实现了服务端和终端之间的解耦,提高了界面数据处理的复用性。并且由于界面描述文档中没有宿主语言的参与,提高了界面描述文档的结构直观性。
参照图8,示出了本申请一个具体示例中的一种终端侧的界面数据处理装置的结构图,包括:
发送模块501,用于通过绑定适配接口,将界面状态数据发送至服务端;
渲染模块502,用于通过渲染适配接口,接收所述服务端返回的显示结构文档并进行渲染;所述显示结构文档由所述服务端根据所述界面状态数据与预设的界面描述文档确定得到。
综上所述,本申请实施例提供的一种界面数据处理装置,包括:通过绑定适配接口,将界面状态数据发送至服务端;通过渲染适配接口,接收服务端返回的显示结构文档并进行渲染;显示结构文档由服务端根据界面状态数据与预设的界面描述文档确定得到。本申请通过在服务端提供绑定适配接口和渲染适配接口,并将服务端接收界面状态数据的方法声明写进绑定适配接口,将对显示结构文档进行渲染的方法声明写进渲染适配接口,使得能够实现这些方法声明的终端可以通过调用这两个接口,进行界面状态数据的发送和显示结构文档的接收及渲染,在整个过程中,服务端不受终端的服务、渲染逻辑和宿主语言的干扰,实现了服务端和终端之间的解耦,提高了界面数据处理的复用性。并且由于界面描述文档中没有宿主语言的参与,提高了界面描述文档的结构直观性。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本申请实施例还提供了一种非易失性可读存储介质,该存储介质中存储有一个或多个模块(programs),该一个或多个模块被应用在设备时,可以使得该设备执行本申请实施例中各方法步骤的指令(instructions)。
本申请实施例提供了一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得电子设备执行如上述实施例中一个或多个所述的方法。本申请实施例中,所述电子设备包括服务器(集群)、移动设备、终端设备等。
本公开的实施例可被实现为使用任意适当的硬件,固件,软件,或及其任意组合进行想要的配置的装置,该装置可包括服务器(集群)、移动设备、终端设备等电子设备。图9示意性地示出了可被用于实现本申请中所述的各个实施例的示例性装置800 。
对于一个实施例,图9示出了示例性装置800,该装置具有一个或多个处理器802、被耦合到(一个或多个)处理器802中的至少一个的控制模块(芯片组)804、被耦合到控制模块804的存储器806、被耦合到控制模块804的非易失性存储器(NVM)/存储设备808、被耦合到控制模块804的一个或多个输入/输出设备810,以及被耦合到控制模块806的网络接口812。
处理器802可包括一个或多个单核或多核处理器,处理器802可包括通用处理器或专用处理器(例如图形处理器、应用处理器、基频处理器等)的任意组合。在一些实施例中,装置800 能够作为本申请实施例中所述服务器(集群)、移动设备、终端设备等设备。
在一些实施例中,装置800 可包括具有指令814的一个或多个计算机可读介质(例如,存储器806或NVM/ 存储设备808) 以及与该一个或多个计算机可读介质相合并被配置为执行指令814以实现模块从而执行本公开中所述的动作的一个或多个处理器802。
对于一个实施例,控制模块804可包括任意适当的接口控制器,以向(一个或多个)处理器802中的至少一个和/或与控制模块804通信的任意适当的设备或组件提供任意适当的接口。
控制模块804可包括存储器控制器模块,以向存储器806提供接口。存储器控制器模块可以是硬件模块、软件模块和/或固件模块。
存储器806可被用于例如为装置800加载和存储数据和/或指令814。对于一个实施例,存储器806可包括任意适当的易失性存储器,例如,适当的DRAM。在一些实施例中,存储器806可包括双倍数据速率类型四同步动态随机存取存储器(DDR4SDRAM) 。
对于一个实施例,控制模块804可包括一个或多个输入/输出控制器,以向NVM/存储设备808及(一个或多个)输入/输出设备810 提供接口。
例如,NVM/存储设备808可被用于存储数据和/或指令814。NVM/存储设备808可包括任意适当的非易失性存储器(例如,闪存)和/或可包括任意适当的(一个或多个)非易失性存储设备(例如,一个或多个硬盘驱动器(HDD) 、一个或多个光盘(CD) 驱动器和/或一个或多个数字通用光盘(DVD) 驱动器)。
NVM/存储设备808可包括在物理上作为装置800 被安装在其上的设备的一部分的存储资源,或者其可被该设备访问可不必作为该设备的一部分。例如, NVM/存储设备808可通过网络经由(一个或多个)输入/输出设备810 进行访问。
(一个或多个)输入/输出设备810 可为装置800 提供接口以与任意其他适当的设备通信,输入/输出设备810可以包括通信组件、音频组件、传感器组件等。网络接口812可为装置800 提供接口以通过一个或多个网络通信,装置800 可根据一个或多个无线网络标准和/或协议中的任意标准和/或协议来与无线网络的一个或多个组件进行无线通信,例如接入基于通信标准的无线网络,如WiFi、2G、3G、4G等,或它们的组合进行无线通信。
对于一个实施例,(一个或多个)处理器802中的至少一个可与控制模块804的一个或多个控制器(例如,存储器控制器模块) 的逻辑封装在一起。对于一个实施例,(一个或多个)处理器802中的至少一个可与控制模块804的一个或多个控制器的逻辑封装在一起以形成***级封装(SiP) 。对于一个实施例, (一个或多个)处理器802中的至少一个可与控制模块804的一个或多个控制器的逻辑集成在同一模具上。对于一个实施例, (一个或多个)处理器802中的至少一个可与控制模块804的一个或多个控制器的逻辑集成在同一模具上以形成片上***(SoC) 。
在各个实施例中,装置800可以但不限于是:服务器、台式计算设备或移动计算设备(例如,膝上型计算设备、手持计算设备、平板电脑、上网本等)等终端设备。在各个实施例中,装置800 可具有更多或更少的组件和/或不同的架构。例如,在一些实施例中,装置800包括一个或多个摄像机、键盘、液晶显示器(LCD) 屏幕(包括触屏显示器)、非易失性存储器端口、多个天线、图形芯片、专用集成电路(ASIC) 和扬声器。
本申请实施例提供了一种服务器,包括:一个或多个处理器;和,其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述服务器执行如本申请实施例中一个或多个所述的界面数据处理方法。
本申请实施例提供了一种移动设备,包括:一个或多个处理器;和,其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述服务器执行如本申请实施例中一个或多个所述的界面数据处理方法。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本申请实施例是参照根据本申请实施例的方法、终端设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本申请所提供的一种界面数据处理方法和装置、一种电子设备和一种存储介质,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (21)
1.一种界面数据处理方法,其特征在于,包括:
接收终端通过绑定适配接口发送的界面状态数据;
根据所述界面状态数据与预设的界面描述文档,确定所述界面状态数据对应的目标界面元素的显示结构文档;
通过渲染适配接口,将所述显示结构文档返回给所述终端进行渲染;
其中,所述接收终端通过绑定适配接口发送的界面状态数据,包括:
根据服务需求,在所述绑定适配接口中添加界面状态数据的方法声明;
所述终端根据自己的服务的界面状态执行逻辑和终端类型,在确定终端能够实现所述绑定适配接口中的所述方法声明时,所述终端通过所述绑定适配接口,将所述界面状态数据发送至服务端;
其中,所述通过渲染适配接口,将所述显示结构文档返回给所述终端进行渲染,包括:
绑定适配接口定义一个或多个渲染方法的声明;
所述终端根据自己的服务的界面状态执行逻辑和终端类型,在确定自身能够实现所述渲染方法的情况下,调用所述渲染适配接口,接收所述显示结构文档,并实现渲染适配接中的渲染方法;
其中,所述界面描述文档包括功能标签,以及与所述功能标签对应的执行条件,所述执行条件对应有界面元素的代码片段;
所述根据所述界面状态数据与预设的界面描述文档,确定所述界面状态数据对应的目标界面元素的显示结构文档的步骤,包括:
将所述界面状态数据与所述功能标签的执行条件匹配,确定与所述界面状态数据对应的目标界面元素的目标代码片段;
根据所述目标界面元素的目标代码片段,确定所述显示结构文档。
2.根据权利要求1所述的方法,其特征在于,所述将所述界面状态数据与所述功能标签的执行条件匹配,确定与所述界面状态数据对应的目标界面元素的目标代码片段的步骤,包括:
根据所述功能标签的预设解析规则,将所述界面状态数据与所述功能标签的执行条件匹配,确定与所述界面状态数据对应的目标界面元素的目标代码片段。
3.根据权利要求1所述的方法,其特征在于,所述功能标签包括设置有用于在父标签中生成结构标签的生成器标签、用于修改已有结构标签的结构的修饰器标签、用于设置已有结构标签的属性的属性标签其中至少一种,其中,所述功能标签之间的结构关系包括父子关系。
4.根据权利要求3所述的方法,其特征在于,在所述功能标签中包括所述生成器标签的情况下,所述将所述界面状态数据与所述功能标签的执行条件匹配,确定与所述界面状态数据对应的目标界面元素的目标代码片段的步骤,包括:
根据所述生成器标签的解析规则,将所述界面状态数据与所述生成器标签的执行条件进行匹配;
在所述界面状态数据匹配一执行条件的情况下,在所述父标签中生成与所述界面状态数据对应的结构标签及关联的代码子片段;
在所述功能标签中包括所述修饰器标签的情况下,所述将所述界面状态数据与所述功能标签的执行条件匹配,确定与所述界面状态数据对应的目标界面元素的目标代码片段的步骤,包括:
根据所述修饰器标签的解析规则,将所述界面状态数据与所述修饰器标签的执行条件匹配;
在所述界面状态数据匹配一执行条件的情况下,从所述已有结构标签的代码中,确定与所述界面状态数据对应的代码子片段;
在所述功能标签中包括所述属性标签的情况下,所述将所述界面状态数据与所述功能标签的执行条件匹配,确定与所述界面状态数据对应的目标界面元素的目标代码片段的步骤,包括:
在所述界面状态数据与所述已有结构标签的执行条件匹配的情况下,选择所述已有结构标签的属性标签的代码子片段。
5.根据权利要求4所述的方法,其特征在于,所述生成器标签包括:用于合并多个结构标签的片段标签、用于修改原有结构标签并生成新结构标签的修改器标签、用于按不同参数选择结构标签的占位标签中的一种或多种。
6.根据权利要求5所述的方法,其特征在于,所述占位标签中设置有所述修饰器标签;所述修饰器标签对应至少两个选择条件,所述选择条件对应结构标签片段;
所述根据所述生成器标签的解析规则,将所述界面状态数据与所述生成器标签的执行条件进行匹配的步骤,包括:
将所述界面状态数据与所述生成器标签中的修饰器标签的条件参数进行匹配;
所述在所述界面状态数据匹配一执行条件的情况下,在所述父标签中生成与所述界面状态数据对应的结构标签及关联的代码子片段的步骤,包括
在所述界面状态数据与一目标条件参数匹配的情况下,选择所述目标条件参数对应的结构标签的代码子片段。
7.根据权利要求1所述的方法,其特征在于,所述功能标签还包括元标签;所述元标签用于对已有结构标签的资源进行描述;
其中所述元标签包括:表达式标签、资源别名标签、适配标签其中至少一种,所述表达式标签用于对输入的界面状态数据进行运算,所述资源别名标签用于对已有结构标签的资源以别名的方式进行描述,所述适配标签用于对界面状态数据中的值进行转换和/或进行标签的转换。
8.根据权利要求7所述的方法,其特征在于,所述将所述界面状态数据与所述功能标签的执行条件匹配,确定与所述界面状态数据对应的目标界面元素的目标代码片段的步骤,包括:
在一结构标签的执行条件与所述界面状态数据匹配的情况下,保留所述结构标签的元标签的代码片段。
9.根据权利要求1所述的方法,其特征在于,所述功能标签包括内联引用标签;所述内联引用标签用于引用资源;
所述将所述界面状态数据与所述功能标签的执行条件匹配,确定与所述界面状态数据对应的目标界面元素的目标代码片段的步骤,包括:
在所述界面状态数据与所述内联引用标签的执行条件匹配的情况下,从所述内联引用标签中确定界面状态数据对应的目标界面元素的目标代码片段。
10.根据权利要求1所述的方法,其特征在于,所述功能标签包括声明标签以及与所述声明标签对应的界面状态数据校验条件;
所述将所述界面状态数据与所述功能标签的执行条件匹配,确定与所述界面状态数据对应的目标界面元素的目标代码片段的步骤,包括:
利用所述声明标签中的界面状态数据校验条件对所述界面状态数据进行校验;
在校验通过的情况下,根据所述声明标签之外的其他功能标签以及与所述功能标签对应的执行条件,确定与所述界面状态数据对应的目标界面元素的目标代码片段。
11.根据权利要求10所述的方法,其特征在于,所述校验信息包括:所述界面状态数据的名称和/或类型。
12.根据权利要求1-11中任一项所述的方法,其特征在于,所述根据所述目标界面元素的目标代码片段,确定所述显示结构文档的步骤,包括:
在所述界面状态数据中存在需要写入代码片段中的第一数据的情况下,将所述第一数据写入所述代码片段中;
将多段目标代码片段,按相应功能标签之间的结构关系组合为显示结构文档。
13.根据权利要求1所述的方法,其特征在于,所述绑定适配接口中设置有第一数据格式和第二数据格式之间的转换规则;所述第一数据格式为界面描述文档对应的数据格式,所述第二数据格式为终端对应的数据格式;
所述接收终端通过绑定适配接口发送的界面状态数据的步骤,包括:
接收所述终端通过所述绑定适配接口发送的所述第二数据格式的界面状态数据;
将所述第二数据格式的界面状态数据按照所述转换规则,转换为所述第一数据格式的界面状态数据。
14.根据权利要求1所述的方法,其特征在于,所述渲染适配接口中设置有与至少一个终端类型对应的渲染规则;
所述通过渲染适配接口,将所述显示结构文档返回给所述终端进行渲染的步骤,包括:
在所述终端的终端类型与所述渲染适配接口中设置的终端类型匹配的情况下,将所述终端类型对应的渲染规则返回给所述终端,以供所述终端渲染所述显示结构文档。
15.一种界面数据处理方法,其特征在于,包括:
通过绑定适配接口,将界面状态数据发送至服务端;
通过渲染适配接口,接收所述服务端返回的显示结构文档并进行渲染;所述显示结构文档由所述服务端根据所述界面状态数据与预设的界面描述文档确定得到;
其中,通过绑定适配接口,将界面状态数据发送至所述服务端,包括:
所述服务端根据服务需求,在所述服务端绑定适配接口中添加界面状态数据的方法声明;根据自己的服务的界面状态执行逻辑和终端类型,在确定终端能够实现所述绑定适配接口中的所述方法声明时,通过所述绑定适配接口,将所述界面状态数据发送至服务端;
其中,通过渲染适配接口,接收所述服务端返回的显示结构文档并进行渲染,包括:
所述服务端绑定适配接口定义一个或多个渲染方法的声明;
根据自己的服务的界面状态执行逻辑和终端类型,在确定自身能够实现所述渲染方法的情况下,调用所述渲染适配接口,接收所述显示结构文档,并实现渲染适配接中的渲染方法;
其中,所述界面描述文档包括功能标签,以及与所述功能标签对应的执行条件,所述执行条件对应有界面元素的代码片段;
所述服务端根据所述界面状态数据与预设的界面描述文档,确定所述界面状态数据对应的目标界面元素的显示结构文档的步骤,包括:
将所述界面状态数据与所述功能标签的执行条件匹配,确定与所述界面状态数据对应的目标界面元素的目标代码片段;
根据所述目标界面元素的目标代码片段,确定所述显示结构文档。
16.一种界面数据处理装置,其特征在于,包括:
接收模块,用于接收终端通过绑定适配接口发送的界面状态数据;
绑定模块,用于根据所述界面状态数据与预设的界面描述文档,确定所述界面状态数据对应的目标界面元素的显示结构文档;
提供模块,用于通过渲染适配接口,将所述显示结构文档返回给所述终端进行渲染;其中,所述接收终端通过绑定适配接口发送的界面状态数据,包括:
根据服务需求,在所述绑定适配接口中添加界面状态数据的方法声明;所述终端根据自己的服务的界面状态执行逻辑和终端类型,在确定终端能够实现所述绑定适配接口中的所述方法声明时,所述终端通过所述绑定适配接口,将所述界面状态数据发送至服务端;
其中,所述通过渲染适配接口,将所述显示结构文档返回给所述终端进行渲染,包括:
绑定适配接口定义一个或多个渲染方法的声明;
所述终端根据自己的服务的界面状态执行逻辑和终端类型,在确定自身能够实现所述渲染方法的情况下,调用所述渲染适配接口,接收所述显示结构文档,并实现渲染适配接中的渲染方法;
其中,所述界面描述文档包括功能标签,以及与所述功能标签对应的执行条件,所述执行条件对应有界面元素的代码片段;
所述根据所述界面状态数据与预设的界面描述文档,确定所述界面状态数据对应的目标界面元素的显示结构文档的步骤,包括:
将所述界面状态数据与所述功能标签的执行条件匹配,确定与所述界面状态数据对应的目标界面元素的目标代码片段;
根据所述目标界面元素的目标代码片段,确定所述显示结构文档。
17.一种界面数据处理装置,其特征在于,包括:
发送模块,用于通过绑定适配接口,将界面状态数据发送至服务端;
渲染模块,用于通过渲染适配接口,接收所述服务端返回的显示结构文档并进行渲染;所述显示结构文档由所述服务端根据所述界面状态数据与预设的界面描述文档确定得到;
其中,通过绑定适配接口,将界面状态数据发送至服务端,包括:
所述服务端根据服务需求,在所述服务端绑定适配接口中添加界面状态数据的方法声明;根据自己的服务的界面状态执行逻辑和终端类型,在确定终端能够实现所述绑定适配接口中的所述方法声明时,通过所述绑定适配接口,将所述界面状态数据发送至所述服务端;
其中,通过渲染适配接口,接收所述服务端返回的显示结构文档并进行渲染,包括:
所述服务端绑定适配接口定义一个或多个渲染方法的声明;
根据自己的服务的界面状态执行逻辑和终端类型,在确定自身能够实现所述渲染方法的情况下,调用所述渲染适配接口,接收所述显示结构文档,并实现渲染适配接中的渲染方法;
其中,所述界面描述文档包括功能标签,以及与所述功能标签对应的执行条件,所述执行条件对应有界面元素的代码片段;
所述服务端根据所述界面状态数据与预设的界面描述文档,确定所述界面状态数据对应的目标界面元素的显示结构文档的步骤,包括:
将所述界面状态数据与所述功能标签的执行条件匹配,确定与所述界面状态数据对应的目标界面元素的目标代码片段;
根据所述目标界面元素的目标代码片段,确定所述显示结构文档。
18.一种电子设备,其特征在于,包括:
处理器;和
存储器,其上存储有可执行代码,当所述可执行代码被执行时,使得所述处理器执行如权利要求1-14中任一项所述的界面数据处理方法。
19.一个或多个机器可读介质,其上存储有可执行代码,当所述可执行代码被执行时,使得处理器执行如权利要求1-14中任一项所述的界面数据处理方法。
20.一种电子设备,其特征在于,包括:
处理器;和
存储器,其上存储有可执行代码,当所述可执行代码被执行时,使得所述处理器执行如权利要求15所述的界面数据处理方法。
21.一个或多个机器可读介质,其上存储有可执行代码,当所述可执行代码被执行时,使得处理器执行如权利要求15所述的界面数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910223108.XA CN111796727B (zh) | 2019-03-22 | 2019-03-22 | 一种界面数据处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910223108.XA CN111796727B (zh) | 2019-03-22 | 2019-03-22 | 一种界面数据处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111796727A CN111796727A (zh) | 2020-10-20 |
CN111796727B true CN111796727B (zh) | 2024-06-11 |
Family
ID=72804890
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910223108.XA Active CN111796727B (zh) | 2019-03-22 | 2019-03-22 | 一种界面数据处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111796727B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113419726B (zh) * | 2021-06-22 | 2023-10-24 | 康键信息技术(深圳)有限公司 | 商品详情页面生成方法、装置、设备及存储介质 |
CN116009849B (zh) * | 2023-03-20 | 2023-07-04 | 网易(杭州)网络有限公司 | 基于可视化编程平台的图形界面展示方法和装置 |
CN116540997B (zh) * | 2023-07-07 | 2023-09-26 | 杭州朗和科技有限公司 | 数据类型声明方法、介质、装置和计算设备 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6792607B1 (en) * | 2000-05-18 | 2004-09-14 | Microsoft Corporation | Databinding using server-side control objects |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040133635A1 (en) * | 2002-11-26 | 2004-07-08 | Axel Spriestersbach | Transformation of web description documents |
US7873668B2 (en) * | 2003-08-15 | 2011-01-18 | Laszlo Systems, Inc. | Application data binding |
US9529648B2 (en) * | 2009-06-26 | 2016-12-27 | International Business Machines Corporation | Generic declaration of bindings between events and event handlers regardless of runtime structure |
CN106936871B (zh) * | 2015-12-30 | 2020-05-29 | 阿里巴巴集团控股有限公司 | 界面展示数据的方法及装置 |
-
2019
- 2019-03-22 CN CN201910223108.XA patent/CN111796727B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6792607B1 (en) * | 2000-05-18 | 2004-09-14 | Microsoft Corporation | Databinding using server-side control objects |
Non-Patent Citations (1)
Title |
---|
孙力群 ; .Android远程数据交互的通用框架设计.电脑知识与技术.全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN111796727A (zh) | 2020-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210133388A1 (en) | Webpage rendering method, device, electronic apparatus and storage medium | |
US9400784B2 (en) | Integrated application localization | |
US9483449B1 (en) | Optimizing page output through run-time reordering of page content | |
US9442744B2 (en) | Multilingual build integration for compiled applications | |
US10614155B2 (en) | Single page application authoring in a content management system | |
US20160124914A1 (en) | Page Processing for Mobile App | |
CN111796727B (zh) | 一种界面数据处理方法及装置 | |
US10419568B2 (en) | Manipulation of browser DOM on server | |
US8074167B2 (en) | Cross domain presence of web user interface and logic | |
US20140207826A1 (en) | Generating xml schema from json data | |
JP2015534145A (ja) | 宣言テンプレートを使用してコントロールをスタンプアウトするためのユーザインターフェイスコントロールフレームワーク | |
US20210208854A1 (en) | System and method for enhancing component based development models with auto-wiring | |
WO2011044692A1 (en) | System and method for managing applications for multiple computing endpoints and multiple endpoint types | |
CN113126990B (zh) | 一种页面开发方法、装置、设备及存储介质 | |
US20140325349A1 (en) | Real-time Representations of Edited Content | |
US11677807B2 (en) | System and method to standardize and improve implementation efficiency of user interface content | |
CN113110829B (zh) | 多ui组件库数据处理方法及装置 | |
TW201312464A (zh) | 有效率地提供多個具相同類型的元資料表示法 | |
US8959426B1 (en) | Loading customer-supplied network page generation code | |
US20230418835A1 (en) | Systems and methods for presenting web application content | |
CN104067262A (zh) | 服务器侧最小下载和差错故障转移 | |
CN113761871A (zh) | 富文本渲染方法、装置、电子设备以及存储介质 | |
CN115809056B (zh) | 组件复用实现方法、装置和终端设备、可读存储介质 | |
CN112256991B (zh) | 一种融合多链接地址的信息流的原生渲染的方法与设备 | |
CN114117302A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |