CN110297718A - 界面元素联动处理方法、装置和设备 - Google Patents
界面元素联动处理方法、装置和设备 Download PDFInfo
- Publication number
- CN110297718A CN110297718A CN201810240677.0A CN201810240677A CN110297718A CN 110297718 A CN110297718 A CN 110297718A CN 201810240677 A CN201810240677 A CN 201810240677A CN 110297718 A CN110297718 A CN 110297718A
- Authority
- CN
- China
- Prior art keywords
- attribute
- interface element
- contact surface
- interface
- structural body
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Human Computer Interaction (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明实施例提供一种界面元素联动处理方法、装置和设备,该方法包括:响应于第一界面元素的第一属性发生变化时第一界面元素发出的第一广播消息,根据各界面元素的监听数据结构体中的监听对象标识,确定是否存在监听第一界面元素的第一属性的第二界面元素;若存在第二界面元素,则根据第一属性的属性变化信息对第二界面元素的第二属性进行更新处理,其中,第一属性的属性变化信息包含于所述第一广播消息中。通过为每个界面元素设置发现自己的属性发生变化时触发广播的功能以及监听数据结构体,便可以仅编写实现对广播信息的处理的代码即用于解析界面元素的监听数据结构体的代码即可实现任意场景下任意界面元素间的联动处理,代码维护性大大提高。
Description
技术领域
本发明涉及互联网技术领域,尤其涉及一种界面元素联动处理方法、装置和设备。
背景技术
用户界面(User Interface,简称UI)设计是指对软件的人机交互、操作逻辑、界面美观的整体设计,其中,交互设计,主要在于设计软件的操作流程、树状结构、操作规范等。用户界面中最小粒度的逻辑组件称为界面元素。在用户界面中,界面元素之间总会发生联动,比如:在表单场景中,表单中的某个输入框中输入信息的变化可能使得另一输入框中可选输入信息发生联动改变。
目前,实现界面元素间的联动通常是通过编写代码来实现的,即针对一个应用场景,结合该应用场景的业务逻辑,编写一套代码,该代码中描述了界面元素间的联动逻辑,比如:如果界面元素A发生怎样的改变,则界面元素B相应的应该如何变化;如果界面元素B发生怎样的改变,则界面元素C相应的应该如何变化。
由此可见,上述实现方式是与应用场景以及界面元素强相关的,一套代码仅能够适用于一个应用场景,一套代码中的一个联动实现逻辑仅针对特定的界面元素,比如上述举例中的界面元素A和界面元素B。如果在另一个应用场景中,则需要完全重新编写一套代码;如果是针对同一应用场景中的其他界面元素,则需要在该套代码中增加该界面元素的联动实现逻辑。
如果界面元素过多、联动关系比较复杂,则将需要编写的代码量和复杂度较大,代码可维护性将不断下降。
发明内容
有鉴于此,本发明实施例提供一种界面元素联动处理方法、装置和设备,以更合理、更具针对性的方式为用户提供界面元素联动。
第一方面,本发明实施例提供一种界面元素联动处理方法,包括:
响应于第一界面元素的第一属性发生变化时发出的第一广播消息,根据各界面元素的监听数据结构体中的监听对象标识,确定是否存在监听所述第一界面元素的第一属性的第二界面元素;
若存在所述第二界面元素,则根据所述第一属性的属性变化信息对所述第二界面元素的第二属性进行更新处理,其中,所述第一属性的属性变化信息包含于所述第一广播消息中。
第二方面,本发明实施例提供一种界面元素联动处理装置,包括:
接收模块,用于接收第一界面元素的第一属性发生变化时所述第一界面元素发出的第一广播消息;
联动对象识别模块,用于根据各界面元素的监听数据结构体中的监听对象标识,确定是否存在监听所述第一界面元素的第一属性的第二界面元素;
属性更新处理模块,用于若所述联动对象识别模块识别出存在所述第二界面元素,则根据所述第一属性的属性变化信息对所述第二界面元素的第二属性进行更新处理,其中,所述第一属性的属性变化信息包含于所述第一广播消息中。
第三方面,本发明实施例提供一种电子设备,包括处理器和存储器,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行时实现上述第一方面中界面元素联动处理方法。该电子设备还可以包括通信接口,用于与其他设备或通信网络通信。
本发明实施例提供了一种计算机存储介质,用于储存存储计算机程序,所述计算机程序使计算机执行时实现上述第一方面中界面元素联动处理方法。
本发明实施例提供的界面元素联动处理方法、装置和设备,界面中的各界面元素都设置有监听数据结构体,该监听数据结构体中包含有监听对象标识,该监听对象标识表达了一个界面元素注册有监听另一个界面元素的某个或某些属性的事件。另外,还为界面元素设置了在发现自己的属性发生变化时,将属性变化信息广播出去的能力。基于这些设置,当第一界面元素的第一属性发生变化时会发出第一广播消息,该第一广播消息中包含有第一属性的属性变化信息,进而,根据各界面元素的监听数据结构体中的监听对象标识,当确定存在监听该第一界面元素的第一属性的第二界面元素时,根据第一属性的属性变化信息对第二界面元素的第二属性进行更新处理,以完成第二界面元素的第二属性随第一界面元素的第一属性的改变而联动更新。通过本发明实施例,为每个界面元素设置上述广播机制以及监听数据结构体,便可以仅编写实现对广播信息的处理的代码即可实现任意场景下任意界面元素间的联动处理,此时,该代码相当于是完成以接收到广播消息为触发来用于解析界面元素的监听数据结构体的功能,执行该代码即为执行上述第一方面的步骤的过程。由于该代码可以复用于任意场景下任意界面元素,从而使得代码维护性大大提高。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种界面元素的组成框架图;
图2为本发明实施例提供的另一种界面元素的组成框架图;
图3为本发明实施例提供的界面元素联动处理方法实施例一的流程图;
图4为本发明实施例提供的界面元素联动处理方法实施例二的流程图;
图5为图4所示实施例对应的一种应用场景的示意图;
图6为图4所示实施例对应的一种联动逻辑的示意图;
图7为本发明实施例提供的界面元素联动处理装置的结构示意图;
图8为与图7所示实施例提供的界面元素联动处理装置对应的电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义,“多种”一般包含至少两种,但是不排除包含至少一种的情况。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
应当理解,尽管在本发明实施例中可能采用术语第一、第二、第三等来描述XXX,但这些XXX不应限于这些术语。这些术语仅用来将XXX区分开。例如,在不脱离本发明实施例范围的情况下,第一XXX也可以被称为第二XXX,类似地,第二XXX也可以被称为第一XXX。
取决于语境,如在此所使用的词语“如果”、“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的商品或者系统中还存在另外的相同要素。
另外,下述各方法实施例中的步骤时序仅为一种举例,而非严格限定。
本发明实施例提供的界面元素间的联动关系主要体现在界面元素的描述上,即体现在界面元素的组成架构上。如图1和图2所示,本发明实施例提供的界面元素的组成,在现有的界面元素的属性数据结构体的基础上,还对界面元素的组成进行了扩展,主要体现在扩展了界面元素的发送和接收功能。其中,针对任一界面元素来说,其属性数据结构体中描述了该界面元素的诸如布局样式、所支持的交互行为等信息,不同界面元素的属性数据结构体不同。
而对于扩展的发送和接收功能,如图1所示,在一种可选的实施例中,可以将该发送和接收功能一同扩展在监听数据结构体中;如图2所示,在另一种可选的实施例中,可以仅将接收功能扩展在监听数据结构体中,而发送功能单独配置给界面元素。其中,可以将发送功能单独配置给界面元素主要是因为该发送功能面向所有界面元素都是相同的即无差异的,从而可以默认为每个界面元素都配置该发送功能,该发送功能的作用是:当任一界面元素发现自己的属性发生改变时,将属性变化信息广播发送。
接收功能体现了界面元素联动的核心处理逻辑,接收功能在监听数据结构体中主要体现为:为界面元素配置了监听对象以及在监听到监听对象的属性发生变化时如何进行本界面元素某个或某些个属性的联动即属性更新策略,其中,监听对象可以是一个或多个其他界面元素的一个或多个属性。
由此可见,相比于发送功能的元素通用性,接收功能可以认为是元素针对性的,因为每个界面元素配置的监听对象和每个界面元素的属性更新策略是有差异的。但是,站在更宏观的角度来说,该接收功能的差异性只是体现为数据或者称为参数层面的差异性,但是整体的联动处理逻辑却是通用的。为理解该差异性和通用性,举例来说:假设界面元素A的监听对象为界面元素C的c1属性,并且假设当监听到该c1属性发生变化后,界面元素A的属性更新策略为根据c1的变化情况来更新界面元素A的a1属性。再假设界面元素B的监听对象为界面元素D的d1属性,并且假设当监听到该d1属性发生变化后,界面元素B的属性更新策略为根据d1的变化情况来更新界面元素B的b1属性。这里,界面元素A和界面元素B的差异性体现为:界面元素A的监听对象为界面元素C的c1属性,被联动的属性为a1属性;界面元素B的监听对象为界面元素D的d1属性,被联动的属性为b1属性。但是通用性体现为:不管是界面元素A还是界面元素B,联动处理逻辑都为,当监听对象属性变化时,根据监听对象属性变化与本界面元素的属性之间的属性更新策略对本界面元素的属性进行联动更新。
基于此,在进行界面设计的阶段,只需按照监听数据结构体为界面元素添加上述发送、接收功能,为界面元素配置监听对象、属性更新策略比如联动条件、联动效果这些配置信息,进而,由于上述发送功能和接收功能的通用性,仅需要编写解析监听数据结构体的少量的代码即可实现界面元素的联动处理。该代码是各界面元素通用的,用于实现在接收到某个界面元素在其属性发生变化时触发的广播消息时,解析监听方的监听数据结构体使得监听方进行联动更新处理,并接收联动更新结果。
基于上述介绍的界面元素的组成情况,下面结合如下实施例对本发明实施例提供的界面元素联动处理方法进行介绍。
图3为本发明实施例提供的界面元素联动处理方法实施例一的流程图,本实施例提供的该界面元素联动处理方法可以由一界面元素联动处理装置来执行,该界面元素联动处理装置可以实现为软件功能模块,该界面元素联动处理装置可以集成在用于进行界面渲染的处理器中。如图3所示,该方法包括如下步骤:
301、响应于第一界面元素的第一属性发生变化时第一界面元素发出的第一广播消息,根据各界面元素的监听数据结构体中的监听对象标识,确定是否存在监听第一界面元素的第一属性的第二界面元素,若存在,则执行步骤302。
302、根据第一属性的属性变化信息对第二界面元素的第二属性进行更新处理,其中,第一属性的属性变化信息包含于第一广播消息中。
其中,该第一界面元素为界面中任一界面元素,该第一属性为该第一界面元素的任一属性。
其中,第一属性包括如下属性中的任一种或多种:基础属性、值属性、生命周期属性。其中,基础属性比如包括类型(type)、标签(label)、默认值(default Value)以及高度、宽度、颜色等。比如输入框、选择框等界面元素可以具有值属性(value),该值属性对应的属性值可以是用户输入的数据或者用户选择的数据选项。一个界面元素的生命周期属性可以包括渲染初始化,开始渲染,渲染结束,界面元素更新等状态。
由此可见,第一属性发生变化可能是用户的交互操作触发的,也可能是界面的重新设计改变了界面元素的基础属性而触发的,还可能是渲染进度而触发的。
其中,第一界面元素的基础属性的变化可能导致另一界面元素的基础属性联动更新;第一界面元素的值属性的变化可能导致另一界面元素的值属性联动更新;第一界面元素的生命周期属性的变化可能导致另一界面元素渲染显示或隐藏。
由于每个界面元素被预先设置有上述发送功能,基于该发送功能,当界面中的第一界面元素发现自己的第一属性发生了改变,则将该第一属性发生变化的信息广播出去。
举例来说,在表单的场景中,该第一界面元素可以是表单中的某个表单项比如为姓名输入框,该第一属性可以是该姓名输入框的值属性,从而,当第一界面元素发现用户在该姓名输入框中输入了某个名字之后,即该第一属性的值变化为该名字之后,发出上述第一广播消息,该第一广播消息中携带有该第一属性的属性变化信息,比如第一属性更新为名字###。
本发明实施例中,任一界面元素发现自身的属性发生变化后,将自身的属性变化信息广播出去,以便受该属性影响而应该联动变化的其他界面元素能够随之联动,也就是说,任一界面元素不知道其会联动哪个或哪些个界面元素。
基于此,在第一界面元素触发了上述第一广播消息后,为了确定是否存在与该第一界面元素的第一属性联动的第二界面元素,需要基于各界面元素的监听数据结构体来判定。具体地,根据各界面元素的监听数据结构体中的监听对象标识,确定是否存在监听第一界面元素的第一属性的第二界面元素。
可选地,前述提到的用于解析监听数据结构体的代码可以封装有调用接口(API),从而,当第一界面元素发现第一属性变化时,调用该调用接口,将第一广播消息传输至该调用接口,从而触发处理器对该第一广播消息的响应处理,该响应处理过程即为联动处理过程,也就是判定是否存在上述第二界面元素以及根据判定结果的处理过程。
在一可选实施例中,根据各界面元素的监听数据结构体中的监听对象标识,确定是否存在监听第一界面元素的第一属性的第二界面元素,可以实现为:
遍历各界面元素的监听数据结构体中包含的监听对象标识,以确定是否存在以第一界面元素的第一属性作为监听对象标识的第二界面元素。
从而,如果存在该第二界面元素,则解析该第二界面元素对应的监听数据结构体中的属性更新策略,以结合该属性更新策略,根据第一属性的属性变化信息进行第二界面元素的相关的第二属性的联动更新处理。
在另一可选实施例中,根据各界面元素的监听数据结构体中的监听对象标识,确定是否存在监听第一界面元素的第一属性的第二界面元素,可以实现为:
将第一广播消息发送至各界面元素,以使各界面元素根据各自对应的监听数据结构体中包含的监听对象标识确定自己是否为监听第一界面元素的第一属性的第二界面元素。
从而,如果存在该第二界面元素,则解析该第二界面元素对应的监听数据结构体中的属性更新策略,以结合该属性更新策略,根据第一属性的属性变化信息进行第二界面元素的相关的第二属性的联动更新处理。
由于第二属性的联动更新处理过程使用到监听数据结构体,因此在具体说明第二属性的联动更新过程之前,先对界面元素的监听数据结构体的详细组成进行介绍。
可以将监听数据结构体中包含的内容划分为两部分,一部分是对监听对象的描述,另一部分是对属性更新策略的描述。其中,监听对象的描述部分写明了需要监听哪一个或哪几个界面元素的哪些属性。
可选地,属性更新策略的部分可以包括属性更新方式和属性更新条件,其中,属性更新方式指示了本次更新是采用本地更新方式还是采用服务端更新方式。相对应的,与本地更新方式对应的属性更新条件中写明了作为监听对象的某界面元素的某属性满足什么条件时,本界面元素的某属性应该更新为什么;与服务端更新方式对应的属性更新条件中可以写有应该调用服务端的哪个业务模块来进行本地更新处理。
当然,可以理解的是,上述属性更新方式是可选的,也可以不包含该内容。
由此可知,本发明实施例中,属性更新策略包含了本地更新和服务端更新两种策略,本地更新策略下,对界面元素的属性的更新过程根据相应的属性更新条件在本地完成;在服务端更新策略下,对界面元素的属性的更新过程请求服务端来完成,接收服务端更新后反馈的更新结果。
在本地更新方式下,属性更新条件可以由若干数学运算规则拼接而成,数学运算规则包括:加、减、乘、除、平方、开方、三角函数、括号运算符、逻辑运算符等。基于此,当属性更新策略中不含属性更新方式的内容时,也可以根据属性更新条件的字符特征来确定属性更新方式。
从而,在上述监听数据结构体的组成的基础上,根据第一属性的属性变化信息对第二界面元素的第二属性进行更新处理,可以实现为:
若第二界面元素对应的监听数据结构体中与第一界面元素的第一属性对应的属性更新方式为本地更新方式,则根据第二界面元素对应的监听数据结构体中与第一界面元素的第一属性对应的属性更新条件,对第二界面元素的第二属性进行更新;
若第二界面元素对应的监听数据结构体中与第一界面元素的第一属性对应的属性更新方式为服务端更新方式,则触发向服务端发送更新请求,更新请求中包括第一属性的属性变化信息;根据服务端反馈的更新响应对第二界面元素的第二属性进行更新。
值得说明的是,第二界面元素的监听数据结构体中可能不仅包含一个监听对象,从而针对不同的监听对象,可能对应有不同的属性更新策略,因此,需要根据第二界面元素的监听数据结构体中与第一界面元素的第一属性对应的属性更新策略对第二属性进行更新处理。
以本地更新方式来说,在对第二界面元素的第二属性进行更新处理时,需要判断第一界面元素的第一属性的属性变化信息能否满足该第二属性对应的属性更新条件,即与第一界面元素的第一属性对应的属性更新条件,如果满足该条件,则根据监听数据结构体中已经写明的满足该属性更新条件时第二属性的更新效果进行更新,如果不满足条件,则不进行更新。比如,假设属性更新条件为:若第一属性的属性值大于10,则将第二属性更新为:5*第一属性的属性值。从而,如果第一属性满足该大于10的条件,则将第二属性更新为50。
在完成第二界面元素的第二属性的联动更新后,可以将第二界面元素的更新效果进行渲染展示。此时,可以向渲染引擎输出更新后的界面信息,以使渲染引擎根据更新后的界面信息进行界面渲染,其中,更新后的界面信息包括更新后的第二界面元素的属性信息。其中,渲染引擎可以采用整个界面重新渲染的方式进行渲染,也可以采用差分渲染的方式进行渲染,其中,差分渲染就是找出变化的界面元素,仅渲染变化的界面元素。
另外,当第二界面元素的第二属性被成功更新时,第二界面元素也发生了属性变化,此时,第二界面元素将作为步骤301中的第一界面元素,可以继续触发第二广播消息,以便让需要与该第二界面元素的第二属性联动更新的其他界面元素进行联动更新。也就是说,若第二界面元素的第二属性被更新,则会触发第二界面元素发出第二广播消息,第二广播消息中包括第二界面元素的第二属性的属性变化信息。
综上,本发明实施例中,为各界面元素都设置有在发现自身属性变化时的广播发送功能以及为各界面元素都设置有联动处理逻辑。基于这些设置,可以仅编写实现对广播信息的处理的代码即可实现任意场景下任意界面元素间的联动处理,代码维护性大大提高。
下面为了理解上述监听数据结构体以及联动更新处理过程,举例说明:
上述举例中,某个界面元素age下具有value和tips属性。messageListener为该界面元素的监听数据结构体,其中,receive代表的是监听对象,监听界面元素age的value这一属性;condition代表的是属性更新条件,当条件为age的value属性的值大于或等于18时,更新该界面元素的tips属性为:"恭喜你,你已经成年了!;当条件为age的value属性的值大于0并小于18时,更新该界面元素的tips属性为:"很遗憾,你还没有成年了,不能参加游戏!"。
该举例中,前述的第一界面元素和第二界面元素均为age这个界面元素,也就是说,前述实施例中的第一界面元素和第二界面元素可以是不同的界面元素,也可以是同一界面元素。
另外,本发明实施例可以实现界面元素的网状联动,这是因为整体联动呈现:一对多,多对一的联动效果,即符合网状联动关系。这是因为在任一界面元素的监听数据结构体中可以以多个界面元素的不同属性作为监听对象,从而,当该多个界面元素的属性的变化符合本界面元素的属性更新条件时,可以实现多对一的联动效果;此外,也可能会存在多个界面元素以同一界面元素的某个属性作为监听对象,从而,当该同一界面元素的属性发生变化,可以实现一对多的联动效果。
下面结合图4所示实施例对网状联动效果进行说明。图4所示实施例所示意的应用场景为图5所示的快递表单的应用场景。图5中的发货地址、收货地址、快递公司、包裹称重、快递费用、收款二维码均为界面元素,这些界面元素的联动逻辑如图6所示。
图4为本发明实施例提供的界面元素联动处理方法实施例二的流程图,如图4所示,可以包括如下步骤:
401、响应于用户在发货地址元素中填入发货地址信息,对发货地址元素的属性进行更新。
402、发货地址元素发现自己的属性发生变化,发出广播消息。
403、快递公司元素监听发货地址元素和收货地址元素,发货地址元素的属性变化不满足快递公司元素的属性更新条件,不进行快递公司元素属性的更新。
其中,快递公司元素的属性更新条件假设设置为:当发货地址元素的属性不为空,并且当收获地址元素的属性不为空时,根据某预设运算规则计算出快递公司。
值得说明的是,上述步骤403以及后续步骤中某界面元素监听其他界面元素的描述是简化描述,具体的找到监听某界面元素属性变化的其他界面元素的过程参考前述实施例中的说明。
404、响应于用户在收货地址元素中填入收货地址信息,对收货地址元素的属性进行更新。
405、收货地址元素发现自己的属性发生变化,发出广播消息。
406、快递公司元素监听发货地址元素和收货地址元素,发货地址元素的属性变化和收货地址元素的属性变化满足快递公司元素的属性更新条件,更新快递公司元素的属性,发出广播消息。
407、快递费用元素监听快递公司元素和包裹称重元素,快递公司元素的属性变化不满足快递费用元素的属性更新条件,不进行快递费用元素属性的更新。
408、响应于用户在包裹称重元素中填入重量信息,对包裹称重的属性进行更新。
409、包裹称重元素发现自己的属性发生变化,发出广播消息。
410、快递费用元素监听快递公司元素和包裹称重元素,快递公司元素的属性变化和包裹称重元素的属性变化满足快递费用元素的属性更新条件,更新快递费用元素的属性,发出广播消息。
411、收款二维码元素监听快递费用元素,快递费用元素的属性变化满足收款二维码元素的属性更新条件,更新收款二维码元素的属性,发出广播消息。
之后,假设没有监听收款二维码元素的界面元素,则结束联动过程。
以下将详细描述本发明的一个或多个实施例的界面元素联动处理装置。本领域技术人员可以理解,这些界面元素联动处理装置均可使用市售的硬件组件通过本方案所教导的步骤进行配置来构成。
图7为本发明实施例提供的界面元素联动处理装置的结构示意图,如图7所示,该装置包括:接收模块11、联动对象识别模块12、属性更新处理模块13、输出模块14。
接收模块11,用于接收第一界面元素的第一属性发生变化时所述第一界面元素发出的第一广播消息。
联动对象识别模块12,用于根据各界面元素的监听数据结构体中的监听对象标识,确定是否存在监听所述第一界面元素的第一属性的第二界面元素。
属性更新处理模块13,用于若所述联动对象识别模块12识别出存在所述第二界面元素,则根据所述第一属性的属性变化信息对所述第二界面元素的第二属性进行更新处理,其中,所述第一属性的属性变化信息包含于所述第一广播消息中。
输出模块14,用于向渲染引擎输出更新后的界面信息,以使所述渲染引擎根据所述更新后的界面信息进行界面渲染,其中,所述更新后的界面信息包括更新后的第二界面元素的属性信息。
其中,所述第一属性包括如下属性中的任一种或多种:
基础属性、值属性、生命周期属性。
可选地,所述第二属性的更新触发所述第二界面元素发出第二广播消息,所述第二广播消息中包括所述第二界面元素的第二属性的属性变化信息。
可选地,所述联动对象识别模块12具体用于:遍历各界面元素的监听数据结构体中包含的监听对象标识,以确定是否存在以所述第一界面元素的第一属性作为监听对象标识的第二界面元素。
可选地,所述联动对象识别模块12具体用于:将所述第一广播消息发送至各界面元素,以使所述各界面元素根据各自对应的监听数据结构体中包含的监听对象标识确定自己是否为监听所述第一界面元素的第一属性的第二界面元素。
可选地,所述属性更新处理模块13具体用于:若所述第二界面元素对应的监听数据结构体中与所述第一界面元素的第一属性对应的属性更新方式为本地更新方式,则根据所述第二界面元素对应的监听数据结构体中与所述第一界面元素的第一属性对应的属性更新条件,对所述第二界面元素的第二属性进行更新。
可选地,所述属性更新处理模块13具体用于:若所述第二界面元素对应的监听数据结构体中与所述第一界面元素的第一属性对应的属性更新方式为服务端更新方式,则触发向服务端发送更新请求,所述更新请求中包括所述第一属性的属性变化信息;根据服务端反馈的更新响应对所述第二界面元素的第二属性进行更新。
图7所示装置可以执行图3、图4所示实施例的方法,本实施例未详细描述的部分,可参考对图3、图4所示实施例的相关说明。该技术方案的执行过程和技术效果参见图3、图4所示实施例中的描述,在此不再赘述。
以上描述了界面元素联动处理装置的内部功能和结构,在一个可能的设计中,界面元素联动处理装置的结构可实现为一电子设备,该电子设备比如为终端设备,如图8所示,该电子设备可以包括:处理器21和存储器22。其中,所述存储器22用于存储支持界面元素联动处理装置执行上述图3、图4所示实施例中提供的界面元素联动处理方法的程序,所述处理器21被配置为用于执行所述存储器22中存储的程序。
所述程序包括一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器21执行时能够实现如下步骤:
响应于第一界面元素的第一属性发生变化时第一界面元素发出的第一广播消息,根据各界面元素的监听数据结构体中的监听对象标识,确定是否存在监听所述第一界面元素的第一属性的第二界面元素;
若存在所述第二界面元素,则根据所述第一属性的属性变化信息对所述第二界面元素的第二属性进行更新处理,其中,所述第一属性的属性变化信息包含于所述第一广播消息中。
可选地,所述处理器21还用于执行前述图3、图4所示实施例中的全部或部分步骤。
其中,所述界面元素联动处理装置的结构中还可以包括通信接口23,用于界面元素联动处理装置与其他设备或通信网络通信。
另外,本发明实施例提供了一种计算机存储介质,用于储存界面元素联动处理装置所用的计算机软件指令,其包含用于执行上述图3、图4所示方法实施例中界面元素联动处理方法所涉及的程序。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助加必需的通用硬件平台的方式来实现,当然也可以通过硬件和软件结合的方式来实现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以计算机产品的形式体现出来,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种界面元素联动处理方法,其特征在于,所述方法包括:
响应于第一界面元素的第一属性发生变化时所述第一界面元素发出的第一广播消息,根据各界面元素的监听数据结构体中的监听对象标识,确定是否存在监听所述第一界面元素的第一属性的第二界面元素;
若存在所述第二界面元素,则根据所述第一属性的属性变化信息对所述第二界面元素的第二属性进行更新处理,其中,所述第一属性的属性变化信息包含于所述第一广播消息中。
2.根据权利要求1所述的方法,其特征在于,所述第二属性的更新触发所述第二界面元素发出第二广播消息,所述第二广播消息中包括所述第二界面元素的第二属性的属性变化信息。
3.根据权利要求1所述的方法,其特征在于,所述第一属性包括如下属性中的任一种或多种:
基础属性、值属性、生命周期属性。
4.根据权利要求1所述的方法,其特征在于,所述根据各界面元素的监听数据结构体中的监听对象标识,确定是否存在监听所述第一界面元素的第一属性的第二界面元素,包括:
遍历各界面元素的监听数据结构体中包含的监听对象标识,以确定是否存在以所述第一界面元素的第一属性作为监听对象标识的第二界面元素。
5.根据权利要求1所述的方法,其特征在于,所述根据各界面元素的监听数据结构体中的监听对象标识,确定是否存在监听所述第一界面元素的第一属性的第二界面元素,包括:
将所述第一广播消息发送至各界面元素,以使所述各界面元素根据各自对应的监听数据结构体中包含的监听对象标识确定自己是否为监听所述第一界面元素的第一属性的第二界面元素。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述根据所述第一属性的属性变化信息对所述第二界面元素的第二属性进行更新处理,包括:
若所述第二界面元素对应的监听数据结构体中与所述第一界面元素的第一属性对应的属性更新方式为本地更新方式,则根据所述第二界面元素对应的监听数据结构体中与所述第一界面元素的第一属性对应的属性更新条件,对所述第二界面元素的第二属性进行更新。
7.根据权利要求1至5中任一项所述的方法,其特征在于,所述根据所述第一属性的属性变化信息对所述第二界面元素的第二属性进行更新处理,包括:
若所述第二界面元素对应的监听数据结构体中与所述第一界面元素的第一属性对应的属性更新方式为服务端更新方式,则触发向服务端发送更新请求,所述更新请求中包括所述第一属性的属性变化信息;
根据服务端反馈的更新响应对所述第二界面元素的第二属性进行更新。
8.根据权利要求1至5中任一项所述的方法,其特征在于,所述方法还包括:
向渲染引擎输出更新后的界面信息,以使所述渲染引擎根据所述更新后的界面信息进行界面渲染,其中,所述更新后的界面信息包括更新后的第二界面元素的属性信息。
9.一种界面元素联动处理装置,其特征在于,包括:
接收模块,用于接收第一界面元素的第一属性发生变化时所述第一界面元素发出的第一广播消息;
联动对象识别模块,用于根据各界面元素的监听数据结构体中的监听对象标识,确定是否存在监听所述第一界面元素的第一属性的第二界面元素;
属性更新处理模块,用于若所述联动对象识别模块识别出存在所述第二界面元素,则根据所述第一属性的属性变化信息对所述第二界面元素的第二属性进行更新处理,其中,所述第一属性的属性变化信息包含于所述第一广播消息中。
10.一种电子设备,其特征在于,包括存储器和处理器;其中,
所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行时实现如权利要求1至8中任一项所述的界面元素联动处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810240677.0A CN110297718B (zh) | 2018-03-22 | 2018-03-22 | 界面元素联动处理方法、装置和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810240677.0A CN110297718B (zh) | 2018-03-22 | 2018-03-22 | 界面元素联动处理方法、装置和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110297718A true CN110297718A (zh) | 2019-10-01 |
CN110297718B CN110297718B (zh) | 2023-05-26 |
Family
ID=68025696
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810240677.0A Active CN110297718B (zh) | 2018-03-22 | 2018-03-22 | 界面元素联动处理方法、装置和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110297718B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112540820A (zh) * | 2020-12-09 | 2021-03-23 | 北京奇艺世纪科技有限公司 | 一种用户界面的更新方法、装置及电子设备 |
CN113297401A (zh) * | 2020-08-14 | 2021-08-24 | 躺平设计家(上海)科技有限公司 | 半边数据结构的生成方法、数据处理方法、装置及设备 |
CN113609551A (zh) * | 2021-07-06 | 2021-11-05 | 中铁工程设计咨询集团有限公司 | 参数化单元联动的实现方法、装置、设备及可读存储介质 |
CN113792247A (zh) * | 2021-11-12 | 2021-12-14 | 中航金网(北京)电子商务有限公司 | 基于代码特征生成功能流程图的方法、装置、设备和介质 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001082065A2 (en) * | 2000-04-19 | 2001-11-01 | Koninklijke Philips Electronics N.V. | Method and apparatus for adapting a graphical user interface |
US20100162267A1 (en) * | 2008-12-24 | 2010-06-24 | International Business Machines Corporation | Remotely monitoring and scheduling a data integration job |
CN103645901A (zh) * | 2013-12-16 | 2014-03-19 | 上海证券交易所 | 一种基于事件链的用户界面插件化交互方法 |
CN104133686A (zh) * | 2014-08-06 | 2014-11-05 | 浪潮通用软件有限公司 | 一种可快速模块化配置的web界面构建方法 |
CN104239025A (zh) * | 2013-06-20 | 2014-12-24 | 深圳市华傲数据技术有限公司 | 一种表格固定前置处理方法和装置 |
CN105528218A (zh) * | 2015-12-30 | 2016-04-27 | 城云科技(杭州)有限公司 | 数据图表级联方法及数据图表级联系统 |
GB201616990D0 (en) * | 2016-10-06 | 2016-11-23 | Microsoft Technology Licensing Llc | User interface |
CN106201532A (zh) * | 2016-07-15 | 2016-12-07 | 乐视控股(北京)有限公司 | 界面元素更换方法及装置 |
WO2017097140A1 (zh) * | 2015-12-09 | 2017-06-15 | 阿里巴巴集团控股有限公司 | 一种界面元素属性值的设置方法、装置及智能设备 |
WO2017172670A1 (en) * | 2016-03-31 | 2017-10-05 | Microsoft Technology Licensing, Llc | Universal notification pipeline |
CN107766307A (zh) * | 2016-08-18 | 2018-03-06 | 阿里巴巴集团控股有限公司 | 一种表单元素联动的方法和设备 |
-
2018
- 2018-03-22 CN CN201810240677.0A patent/CN110297718B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001082065A2 (en) * | 2000-04-19 | 2001-11-01 | Koninklijke Philips Electronics N.V. | Method and apparatus for adapting a graphical user interface |
US20100162267A1 (en) * | 2008-12-24 | 2010-06-24 | International Business Machines Corporation | Remotely monitoring and scheduling a data integration job |
CN104239025A (zh) * | 2013-06-20 | 2014-12-24 | 深圳市华傲数据技术有限公司 | 一种表格固定前置处理方法和装置 |
CN103645901A (zh) * | 2013-12-16 | 2014-03-19 | 上海证券交易所 | 一种基于事件链的用户界面插件化交互方法 |
CN104133686A (zh) * | 2014-08-06 | 2014-11-05 | 浪潮通用软件有限公司 | 一种可快速模块化配置的web界面构建方法 |
WO2017097140A1 (zh) * | 2015-12-09 | 2017-06-15 | 阿里巴巴集团控股有限公司 | 一种界面元素属性值的设置方法、装置及智能设备 |
CN106855798A (zh) * | 2015-12-09 | 2017-06-16 | 阿里巴巴集团控股有限公司 | 一种界面元素属性值的设置方法、装置及智能设备 |
CN105528218A (zh) * | 2015-12-30 | 2016-04-27 | 城云科技(杭州)有限公司 | 数据图表级联方法及数据图表级联系统 |
WO2017172670A1 (en) * | 2016-03-31 | 2017-10-05 | Microsoft Technology Licensing, Llc | Universal notification pipeline |
CN106201532A (zh) * | 2016-07-15 | 2016-12-07 | 乐视控股(北京)有限公司 | 界面元素更换方法及装置 |
CN107766307A (zh) * | 2016-08-18 | 2018-03-06 | 阿里巴巴集团控股有限公司 | 一种表单元素联动的方法和设备 |
GB201616990D0 (en) * | 2016-10-06 | 2016-11-23 | Microsoft Technology Licensing Llc | User interface |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113297401A (zh) * | 2020-08-14 | 2021-08-24 | 躺平设计家(上海)科技有限公司 | 半边数据结构的生成方法、数据处理方法、装置及设备 |
CN113297401B (zh) * | 2020-08-14 | 2024-02-02 | 每平每屋(上海)科技有限公司 | 半边数据结构的生成方法、数据处理方法、装置及设备 |
CN112540820A (zh) * | 2020-12-09 | 2021-03-23 | 北京奇艺世纪科技有限公司 | 一种用户界面的更新方法、装置及电子设备 |
CN113609551A (zh) * | 2021-07-06 | 2021-11-05 | 中铁工程设计咨询集团有限公司 | 参数化单元联动的实现方法、装置、设备及可读存储介质 |
CN113609551B (zh) * | 2021-07-06 | 2024-03-19 | 中铁工程设计咨询集团有限公司 | 参数化单元联动的实现方法、装置、设备及可读存储介质 |
CN113792247A (zh) * | 2021-11-12 | 2021-12-14 | 中航金网(北京)电子商务有限公司 | 基于代码特征生成功能流程图的方法、装置、设备和介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110297718B (zh) | 2023-05-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110297718A (zh) | 界面元素联动处理方法、装置和设备 | |
US20170091317A1 (en) | Location correlation between query script and data flow | |
CN106502654B (zh) | 虚拟现实场景加载方法及设备 | |
CN109814884A (zh) | 一种根据游戏资源类型进行资源管理的方法及系统 | |
US20090319239A1 (en) | Topology modeling application that handles abstract entities through the realization of conceptual objects | |
CN107526645A (zh) | 一种通信优化方法及系统 | |
KR20180100276A (ko) | 머신 비전 시스템들을 위한 비주얼 프로그램을 제공하기 위한 장치들, 시스템들 및 방법들 | |
CA2732643A1 (en) | Configurable hierarchical tree view | |
CN109447276A (zh) | 一种机器学习方法、系统、设备及应用方法 | |
CN110535679A (zh) | 切片的管理方法、架构、网络切片销售平台和管理系统 | |
US9395960B2 (en) | Method and system for data plane abstraction to enable a dynamic creation of network applications | |
CN107193674A (zh) | 在线推送消息的处理方法及装置 | |
CN110633959A (zh) | 基于图结构的审批任务创建方法、装置、设备及介质 | |
CN107766307A (zh) | 一种表单元素联动的方法和设备 | |
CN115048254A (zh) | 数据分配策略的仿真测试方法、系统、设备和可读介质 | |
US20200319855A1 (en) | Parameter modification of virtual entities for client applications | |
CN112862934A (zh) | 用于处理动画的方法、装置、设备、介质和产品 | |
CN109669807A (zh) | 业务事件的校验方法及装置、处理器、存储介质 | |
CN110020070A (zh) | 网页圈选数据处理方法、装置及系统 | |
US10067775B2 (en) | Guided authoring of interactive content | |
CN109309858B (zh) | 一种互斥图标的显示方法、装置、设备及介质 | |
CN110022323A (zh) | 一种基于WebSocket与Redux的跨终端实时交互的方法和系统 | |
CN108762753A (zh) | 页面组件修改方法及设备 | |
CN106033456B (zh) | 校正商品的后台属性的属性值的方法和装置 | |
CN115002495A (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 |