CN108334387A - 动态界面渲染方法及装置 - Google Patents
动态界面渲染方法及装置 Download PDFInfo
- Publication number
- CN108334387A CN108334387A CN201710042719.5A CN201710042719A CN108334387A CN 108334387 A CN108334387 A CN 108334387A CN 201710042719 A CN201710042719 A CN 201710042719A CN 108334387 A CN108334387 A CN 108334387A
- Authority
- CN
- China
- Prior art keywords
- component
- interface
- data
- configuration information
- module
- 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
Landscapes
- Stored Programmes (AREA)
- Document Processing Apparatus (AREA)
Abstract
本申请实施例公开了动态界面渲染方法及装置,其中,所述方法包括:服务端保存目标界面类的组件配置信息以及各组件之间的叠加结构关系配置信息;按照界面所需展示内容在业务含义维度上的不同,将界面所需展示内容划分为至少一个组件,所述组件的内容以及交互方式通过数据的方式进行定义,并具有预置的数据格式;在接收到对目标界面类进行实例化渲染的请求时,获得业务数据;将所述业务数据映射为组件所需的数据,生成组件数据集合;调用组件实现代码进行组件渲染,并根据组件渲染结果以及所述组件间的叠加结构关系配置信息,对所述目标界面类进行实例化渲染。通过本申请实施例,能够提高界面更新效率以及界面资源利用率。
Description
技术领域
本申请涉及动态界面渲染技术领域,特别是涉及动态界面渲染方法及装置。
背景技术
随着用户界面所承载的业务和功能越来越庞大,界面内的内容会不断增加、内容的堆叠形式会越发的复杂和多样化。并且,很多界面是动态的形式实现。所谓动态界面,是与静态界面相对的一种网页编程技术。静态网页,随着页面代码的生成,页面的内容和显示效果就基本上不会发生变化了,除非修改页面代码。而动态网页则不然,页面代码虽然没有变,但是显示的内容却是可以随着时间、环境或者数据库操作的结果而发生改变的。
以电商的确认订单业务场景而言,需要为用户呈现:用户的地址、用户购买商品所属的不同店铺、店铺优惠、店铺内购买的商品、商品图片、商品名称、商品数量、商品单价、商品优惠、物流配送信息、抵扣券等非常多的内容。由于每个用户的地址等信息不同,用户购买商品的顺序不同,同一个店铺内不同商品的展现顺序是不一致的,而用户可能购买任意多个商品,界面内的商品内容数量也是不一致的,这就导致了界面内容结构的堆叠形式多样化。
在复杂界面中,如果要增加任何内容,都需要对新增的部分进行设计、研发、测试和发布工作,需要非常大的人力投入成本。而随着界面编码的不断庞大,代码质量难以保证,每次新增内容时需要对旧内容进行测试,以保障功能不相互影响,后期的维护成本巨大。
总之,在现有技术中,构建动态界面时,在界面展现的内容的顺序、数量等可变时,需要大量的人力针对每种展现状态下的界面进行编写工作,而导致巨大人力等资源的投入。
发明内容
本申请提供了动态界面渲染方法及装置,能够提高界面更新效率以及界面资源利用率。
本申请提供了如下方案:
一种界面配置信息处理方法,包括:
服务端接收第一客户端为目标界面类提交的组件配置信息,其中,按照界面所需展示内容在业务含义维度上的不同,将界面内容划分为至少一个组件,所述组件的内容以及交互方式通过数据的方式进行定义,并具有预置的数据格式;
接收各组件之间的叠加结构关系配置信息;
保存所述组件配置信息以及所述叠加结构关系配置信息,所述组件配置信息以及所述叠加结构关系配置信息用于对所述界面类进行实例化渲染。
一种界面配置信息处理方法,包括:
第一客户端为目标界面类提交组件配置信息,其中,按照界面所需展示内容在业务含义维度上的不同,将界面内容划分为至少一个组件,所述组件的内容以及交互方式通过数据的方式进行定义,并具有预置的数据格式;
提交各组件之间的叠加结构关系配置信息,由服务端保存所述组件配置信息以及所述叠加结构关系配置信息,所述组件配置信息以及所述叠加结构关系配置信息用于对所述界面类进行实例化渲染。
一种动态界面渲染方法,包括:
服务端保存目标界面类的组件配置信息以及各组件之间的叠加结构关系配置信息;其中,按照界面所需展示内容在业务含义维度上的不同,将界面所需展示内容划分为至少一个组件,所述组件的内容以及交互方式通过数据的方式进行定义,并具有预置的数据格式;
在接收到对目标界面类进行实例化渲染的请求时,获得业务数据;
将所述业务数据映射为组件所需的数据,生成组件数据集合;
调用组件实现代码,并传入所述组件数据集合,进行组件渲染,并根据组件渲染结果以及所述组件间的叠加结构关系配置信息,对所述目标界面类进行实例化渲染。
一种界面配置信息处理装置,应用于服务端,包括:
组件配置信息接收单元,用于接收第一客户端为目标界面类提交的组件配置信息,其中,按照界面所需展示内容在业务含义维度上的不同,将界面内容划分为至少一个组件,所述组件的内容以及交互方式通过数据的方式进行定义,并具有预置的数据格式;
叠加结构配置信息接收单元,用于接收各组件之间的叠加结构关系配置信息;
保存单元,用于保存所述组件配置信息以及所述叠加结构关系配置信息,所述组件配置信息以及所述叠加结构关系配置信息用于对所述界面类进行实例化渲染。
一种界面配置信息处理装置,应用于第一客户端,包括:
组件配置信息提交单元,用于为目标界面类提交组件配置信息,其中,按照界面所需展示内容在业务含义维度上的不同,将界面内容划分为至少一个组件,所述组件的内容以及交互方式通过数据的方式进行定义,并具有预置的数据格式;
叠加结构配置信息提交单元,用于提交各组件之间的叠加结构关系配置信息,由服务端保存所述组件配置信息以及所述叠加结构关系配置信息,所述组件配置信息以及所述叠加结构关系配置信息用于对所述界面类进行实例化渲染。
一种动态界面渲染装置,应用于服务端,包括:
保存单元,用于保存目标界面类的组件配置信息以及各组件之间的叠加结构关系配置信息;其中,按照界面所需展示内容在业务含义维度上的不同,将界面所需展示内容划分为至少一个组件,所述组件的内容以及交互方式通过数据的方式进行定义,并具有预置的数据格式;
业务数据获得单元,用于在接收到对目标界面类进行实例化渲染的请求时,获得业务数据;
组件数据集合生成单元,用于将所述业务数据映射为组件所需的数据,生成组件数据集合;
渲染单元,用于调用组件实现代码,并传入所述组件数据集合,进行组件渲染,并根据组件渲染结果以及所述组件间的叠加结构关系配置信息,对所述目标界面类进行实例化渲染。
根据本申请提供的具体实施例,本申请公开了以下技术效果:
通过本申请实施例,可以提供组件数据结构规范,这样,业务方可以按照界面所需展示内容在业务含义维度上的不同,将界面内容划分为至少一个组件,并且,还可以对各组件之间的叠加结构关系进行配置。后续在对界面类进行实例化渲染时,就可以根据实际的业务数据转化为组件所需数据,并进行组件的渲染,并最终完成整个页面的渲染。也就是说,本申请实施例以数据的模式描述了组件,这样就可以将界面的交互抽象成数据的交互,将内容与结构进行了分离,并且,由于内容、结构都使用数据描述,因而可以动态的赋值以构建动态界面。在界面展现的内容的顺序、数量等发生变化,可以以组件为单位进行更新,而不需要对整个界面进行更新。并且,不再需要大量的人力针对每种展现状态下的界面进行编写工作,而是直接更新对应的组件所需数据即可,因此,可以提高界面资源的利用率。
当然,实施本申请的任一产品并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的组件叠加结构关系树状结构示意图;
图2是本申请实施例提供的系统架构示意图;
图3是本申请实施例提供的第一方法的流程图;
图4是本申请实施例提供的第二方法的流程图;
图5是本申请实施例提供的第三方法的流程图;
图6是本申请实施例提供的第一装置的示意图;
图7是本申请实施例提供的第二装置的示意图;
图8是本申请实施例提供的第三装置的示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本申请保护的范围。
在本申请实施例中,可以通过组件化的方式对动态界面进行构建,并且,这种组件可以通过数据的方式来进行描述,每个组件可以单独渲染或者更新,并最终组装成一个完整的界面。其中,可以按照界面所需展示内容在业务含义维度上的不同,将界面内容划分为至少一个组件,也就是说,一个界面中包括哪些组件可以是根据界面的具体情况而定,在不同的界面中,由于所需展示内容不同,因此,可以划分成不同的组件。另外,同一界面中,也可以根据实际需要的不同,采用不同的组件划分方式,可以简单的划分为几个组件,或者,还可以划分成更多的组件,等等,具体都可以根据实际的业务需求而定。本申请实施例所需要做的事情是,定义出一整套的组件数据结构的规范,业务方在需要开发界面时,可以按照该规范进行组件创建,然后,再指定组件之间的叠加结构关系,这样,就可以建立起一种界面的框架。
需要说明的是,通过本申请实施例提供的方式实现的界面框架属于一种抽象出的界面类,也就是说,并不是具体某个界面,因为还没有关联需要展现的业务数据,在获取到具体的业务数据后,可以将业务数据映射到这种界面类框架的组件中,以此实现对界面类的实例化,并对实例化的界面进行渲染展现。
例如,“订单确认界面”就可以是一种界面类,这类界面中包含的展示内容在业务含义上,可以分为地址内容,订单列表内容,以及用于执行提交等操作的按钮内容,因此,就可以将该界面划分为三个组件,分别为地址组件、订单列表组件以及按钮组件。当然,在具体实现时,由于一个订单列表中通常可能会包括多个数据对象,并且,多个数据对象还可能会被拆分成多个子订单等等,因此,为了便于进行数据的映射以及人机交互过程中的界面更新处理,关于订单列表内容,订单列表组件可以包括两个子组件,其中一个为订单子组件,另一个为数据对象子组件,等等。在通过上述方式将订单确认界面划分成上述组件后,可以实现对该界面类框架的创建,但是该界面类实际上并不会与某个具体用户的实际数据进行绑定,而是在向各个用户展示订单确认界面时,虽然每个用户实际需要下单的数据对象内容以及各自的地址等内容并不相同,但是,都可以使用该界面类框架,进行界面的渲染。例如,当某用户将一些数据对象加入到“购物车”后,通过点击“去结算”等按钮,可以流转到订单确认界面,此时,在向该用户展示订单确认界面时,就可以根据其加入到“购物车”中的数据对象的信息,以及预先配置的收货地址等信息,映射到订单确认类界面的框架中包含的组件中,然后,分别对各个组件进行渲染,再根据组件之间的叠加架构关系,生成整个实例化界面的渲染树,进而就可以基于这种渲染树实现对界面的展现。
下面对具体的实现方式进行详细介绍。
首先,本申请实施例提供了一套用以定义组件数据结构的规范,具体可以包括组件数据交互规范和组件构建所需字段规范。其中数据交互规范为:所有的人机交互行为都以数据的变化作为承载、界面的变化导致组件数据变化、组件数据变化触发界面展现的变化、与服务端通信时以组件为最小数据交互颗粒度、组件数据相互隔离不能跨组件取值赋值。
组件构建字段规范可以如下:
i.组件id:组件实例独一无二的id。在根据组件结构渲染界面时,读取节点所对应的具体组件的值,将该值传递给组件实现代码以渲染组件。
ii.组件fields:组件渲染界面内容时所需的数据,通常组件所需数据可以包括多个多个字段,对于界面开发者而言,在创建一个组件时,主要需要做的工作,就可以是对该fields字段进行配置。例如,对于某地址组件,业务数据中与地址相关的字段包括:收货人姓名、电话、详细地址等,因此,可以将地址组件的fields字段配置为:收货人姓名、电话、详细地址等。需要说明的是,在配置组件的fields字段时,各字段的名称可以与在业务数据中的字段名称一致,这样,可以通过字段名称,实现从业务数据到组件所需数据的映射。
iii.组件validate:组件渲染所用数据的校验规则集合。标记组件fields内的具体字段的值,在人机交互中用户更改时,使用怎样的校验逻辑来判断用户的更改值是否满足业务上的要求。该字段可以是对于部分组件而设定,如果某组件不需要进行规则校验,则该字段可以为空。例如,某优惠规则组件,要求总价格大于某阈值时,才可以享受某优惠,则可以将该规则写入该validate字段,这样,在组件在进行渲染时,就可以利用该规则进行校验。
iv.组件type:标示当前组件数据是否按照通用的组件进行渲染,传递通用组件的名称,以达到组件复用的目的。不同的界面类,都可以利用本申请实施例中的方式来进行组件创建,再用组件组合成界面框架。这意味着,随着搭建的界面类不断增加,系统中的组件数量也在不断增加,然后,对于搭建系统而言,组件数量过多可能会耗费巨大的系统资源,不利于系统维护。而本申请发明人在实现本申请的过程中发现,不同的界面类之间,可能会存在一些组件,虽然在具体的业务含义上有所不同,但是,从人机交互角度而言,实际上是具有相同的功能。例如,界面A中某组件是用于实现用户留言功能,界面B中某组件是用于输入用户电话号码,从业务含义上而言,这是两个不同的组件;但是,从人机交互角度而言,这两个组件实际上都是一种实现输入功能的组件。因此,就可以将这种组件抽象成“输入组件”。假设界面A的开发者(可以称为业务方甲)首先创建了这种用于实现用户留言功能的组件,则可以将该组件的“type”字段设置为“输入”,这样,后续界面B的开发者(可以称为业务方乙)在对其界面进行组件配置时,对于用于输入用户电话号码的组件,就可以直接使用业务方甲创建的这种类型为“输入”的组件,从而实现组件的服用,减少系统中的组件数量。
需要说明的是,由于不同业务方的业务数据在字段名称方面可能是不同的,因此,在组件复用的过程中,业务方除了指定引用的组件的类型,还可以建立业务数据字段与组件数据字段之间的映射关系。其中,具体的组件数据字段可以是由组件的创建者在创建组件时配置的,也即前文所述的为fields字段配置的信息。例如,假设某组件的组件数据字段包括:name、telephone、address,某业务方在某界面类中引用该组件时,可以根据业务数据的字段名称,与上述组件数据字段名称之间建立映射关系,例如,业务数据的字段名称包括:name、tel、add,则映射关系可以包括:name->name,tel->telephone,add->address,等等。
具体实现时,可以将业务数据字段与组件数据字段的转换映射行为与整体方案流程解除耦合,抽离出组件化管理平台。该平台提供业务数据字段转换为组件数据的配置,还可以提供组件动态叠加方案的配置,完成组件返回时由组件数据指定具体类处理的转换回收规则。并且,这些内容可以作为二方包的形式被服务端加载和使用,以此可极大的提高组件转换工作的效率。
v.组件tag:组件在业务上的名称。当组件数据更新需要发送服务端请求时,发送给服务端的组件数据应当使用服务端的哪个具体的业务类进行数据处理。也就是说,组件的type字段可以看作是该组件在人机交互意义上的名称,而tag字段可以看作是该组件在业务含义上的名称。例如,某界面在进行组件配置时,从已有的组件中选择了type为“输入”的组件,此时,还可以根据该组件在当前界面中的业务含义,为其配置tag字段上的名称,例如,可以为“留言”,等等。这样,如果同一个界面中引用了多个同一type的组件,则可以通过tag字段,对不同的组件进行区分。
需要说明的是,上述组件数据字段规范只是一种具体实现方式,在实际应用中,还可以包括其中的组件数据字段,或者,仅包含上述各字段中的一部分,等等,这里不进行限定。
总之,在本申请实施例中,可以使用数据来描述组件,当界面需要变更时只需要变更组件数据,而无需重新编撰组件。另外,还可以提供组件数据字段校验的动态方案,如果对其内部输入值的校验规范不一致,也能够通过动态的配置来支持。组件渲染模式的标记字段type,实现了组件的复用提高研发效率降低系统开销。动态的传递tag字段能够动态的指定组件数据被哪个服务所处理,解除了服务与展现的耦合。
在提供了组件数据结构规范之后,业务方可以按照这种规范来创建组件,或者对已有组件进行引用,组合成界面框架。由于一个界面由多个组件组合而成,因此,除了配置界面中包括哪些组件,还可以配置各组件之间的叠加结构关系。为了便于进行组件间叠加结构关系的配置,在本申请实施例中,还可以提供叠加结构树的规范,并提供该规范下结构树的生成方式。
具体的,叠加结构树的规范可以包括:
i.root节点:整棵界面结构树的根节点。
ii.structure对象:以key-value键值对的形式,将具体key节点下的子节点以数组的形式存储在value内。因数组的有序性,实现了对子节点顺序的描述。如图1所示,根节点id为root_1,其在structure内对应的key为root_1,key对应的value为数组[block_1,block_2],同理key为block_1对应的value为[text_1,toggle_1,toogle_2],依次类推存储整个结构树。
界面的具体结构由当前界面的业务所决定,服务端可以按照规范动态的构建该界面的结构数据,因而达到了界面内容的堆叠和排列动态化。其中,各节点以组件的tag名称进行描述,例如,input1、input2、input3、input4对应的组件类型可能都是input,也就是说,通过同一个组件来进行渲染,但是,界面中各组件的tag名称是不同的。由于实际进行组件渲染或者界面更新时,都是以具有具体业务含义的组件为单位进行,因此,在叠加结构树中,使用组件的tag名称来对组件进行标记,而不是利用type名称进行标记。
通过以上组件配置信息以及组件间的叠加结构配置信息,即可在获得具体的业务数据后,利用组件配置信息,将业务数据字段映射到组件数据字段,生成组件数据集,然后,调用具体的组件实现代码,传入组件数据集,进行组件的渲染,再根据组件间的叠加结构配置信息,将各个组件的渲染结果组合成整个界面的渲染树,进而即可以利用该渲染树实现界面的展现。
通过以上所述可见,在本申请实施例中,可以为界面开发者提供界面配置平台,参见图2,该平台可以分为客户端以及服务端两部分。其中,客户端可以分为第一客户端和第二客户端两种,第一客户端是为界面开发者提供的客户端,例如,平台中的后台技术人员等,界面开发者可以通过其第一客户端提交具体的配置数据,包括组件配置数据、组件间的叠加结构关系配置数据等等,服务端接收配置数据并保存,以此生成界面类的框架,其中包括多个组件;进而后续在根据第二客户端(例如,为消费者用户、买家用户的客户端等)的请求,对界面进行实例化渲染时,就可以利用这种框架结合具体的业务数据,渲染出具体的实例化界面。下面对具体的实现方式进行详细介绍。
实施例一
在该实施例一中首先提供了一种界面配置信息处理方法,在该方法中,参见图3,具体可以包括以下步骤:
S301:服务端接收第一客户端为目标界面类提交的组件配置信息,其中,按照界面所需展示内容在业务含义维度上的不同,将界面内容划分为至少一个组件,所述组件的内容以及交互方式通过数据的方式进行定义,并具有预置的数据格式;
其中,第一客户端即可是指为界面开发者提供的客户端,可以通过界面化的方式,为开发者提供信息配置入口。具体的,如前文所述,界面开发者可以根据界面中所需展示内容在业务含义维度上的不同,将界面内容划分为至少一个组件,然后,可以直接按照服务端提供的组件数据规范,进行组件的创建。或者,由于在人机交互含义上具有相同功能的组件还可以实现复用,因此,在创建组件之前,还可以首先将系统中已有的组件列表提供给当前界面开发方,开发方可以根据需求从组件列表中选择组件,如果不存在自己所需的组件,则再根据组件数据规范,进行组件的创建操作。
也就是说,具体为了能够接收第一客户端为目标界面类提交的组件配置信息,可以提供用于定义组件的第一操作选项,此时,具体可以通过所述第一操作选项接收所述第一客户端提交的组件数据字段配置信息,然后,根据所述组件数据字段配置信息以及预置的组件数据结构格式生成组件实现代码,将该生成的组件确定为用以组合成界面的组件。
在通过创建的方式确定组件的情况下,还可以提供用于指定组件类型的第二操作选项,所述组件类型与所述组件在人机交互维度上的功能相关,然后通过所述第二操作选项接收第一客户端提交的组件的类型配置信息并保存。这样,可以将当前创建的组件及其类型信息进行保存,后续再有其他开发者需要进行界面开发时,可以对该创建的组件进行复用。
再者,还可以提供用于指定组件名称的第三操作选项,所述组件名称与所述组件在业务系统中的功能相关,通过所述第三操作选项接收第一客户端提交的组件的名称配置信息并保存。通过这种方式,可以对组件在具体业务应用场景中的名称进行记录,后续在进行界面与服务端之间的交互,并对界面进行更新时,都可以利用这种具有具体业务含义的组件名称,对具体需要更新的组件进行标记,并与服务端进行交互。
另外,由于有些组件可能存在一些校验规则,因此,还可以提供用于指定组件数据校验规则的第四操作选项,通过所述第四操作选项接收组件数据的校验规则信息并保存。
当然,在具体实现时,服务端还可以为当前创建的组件生成唯一性标识信息,例如,组件id等。
如前文所述,在本申请实施例中,还可以实现组件的复用,因此,在配置界面中还可以提供用于从已有组件中进行选择的第五操作选项,并提供各已有组件的类型信息,这样,可以通过所述第五操作选项接收所述第一客户端选定的目标组件,将该目标组件确定为用以组合成界面的组件。
其中,已有组件即为其他的界面开发者创建的组件,并且,其他界面开发者在创建组件时,也是按照服务端提供的组件数据结构规范进行创建。当前界面开发者在根据当前界面的具体业务内容划分成多个组件后,具体需要何种类型的组件已经是确定的,这样,可以首先在已有的组件中判断是否具有相同类型的组件,如果有,则直接对该已有组件进行引用即可,否则,再通过前述第一操作选项,进行具体的组件创建操作。例如,当前界面开发者需要在界面中添加输入类型的组件,如果已有组件列表中包括输入类型的组件,则可以直接引用该组件即可,不需要再重新创建组件。
在通过组件复用的方式选择了已有组件的情况下,同样可以提供用于指定组件名称的第三操作选项,所述组件名称与所述组件在业务系统中的功能相关,进而,可以通过所述第三操作选项接收组件的名称配置信息并保存。也就是说,在选择了某类型的组件后,当前界面开发者还可以对组件的tag名称进行配置,具体的名称可以根据组件在业务系统中的实际功能相关。例如,在选择了输入类型的组件后,如果需要通过该组件在当前界面中实现用户留言功能,则可以将该组件的tag名称配置为“用户留言”等等。
另外,由于已有组件中的组件数据字段名称通常是由组件创建者配置的,因此,当前开发者在引用该组件时,还可以对具体业务数据字段与该组件数据字段之间的映射关系进行配置。具体的,可以提供用于建立字段映射关系的第六操作选项,然后,通过所述第六操作选项接收第一客户端提交的业务数据字段名称与所述已有组件中定义的组件数据字段名称之间的映射关系并保存。
S302:接收各组件之间的叠加结构关系配置信息;
在对界面中的各个组件进行创建或者选择完毕后,还可以对组件之间的叠加结构关系进行配置。具体的,可以接收第一客户端通过结构树的方式提交的所述叠加结构关系配置信息,然后,以键值对的形式保存各组件在所述结构树中的父子节点关系,其中,父节点的组件名称为键,子节点的组件名称为值,当同一父节点的子节点为多个时,多个子节点的组件名称以有序数组的形式保存在值中。具体的叠加结构关系的例子可以参见前文以及图1的记载,这里不再赘述。
S303:保存所述组件配置信息以及所述叠加结构关系配置信息,所述组件配置信息以及所述叠加结构关系配置信息用于对所述界面类进行实例化渲染。
在接收到组件配置信息以及组件间的叠加结构关系配置信息后,就可以进行保存,以此生成该界面类的框架结构,后续在对该界面类进行实例化渲染时,就可以利用这些保存的配置信息以及实际接收到的业务数据,生成渲染树,并最终由客户端对实例化界面进行展现。
通过以上方式,可以实现基于组件的界面类框架的搭建,并且,组件是通过数据的方式进行描述,当界面需要变更时只需要变更组件数据,而无需重新编撰组件实现代码,因此,可以更高效的实现动态界面的渲染及展示,节省系统资源。
在具体实现时,界面中展示的内容庞大后,提供给用户的人机交互方案也相应的变得庞大,而每次人机交互都要对界面内的内容进行更新操作,以响应用户交互行为,该操作对系统开销巨大。同样以电商确认订单业务场景为例,当用户更改某个商品的购买数量时,可能导致:用户能享受的优惠数据变化、订单的总价变化、运费变化、抵扣券的使用额度变化等。一次交互就可能涉及到界面内大量相关内容的变化,如果是全量更新展现界面的话,该更新请求需要服务端与界面进行庞大的数据交换,并在界面内,全部重新渲染大量的内容。无论对服务器还是用户访问界面的设备都是较大的负担。特别的是,如何存储界面中,用户当前输入的内容和输入状态,并在界面更新时还原这些输入值和输入状态,非常困难。
而在本申请实施例中,由于是通过组件的形式进行界面类的搭建,并且,组件又是通过数据的方式进行描述,因此,在界面配置时,还可以接收组件数据人机交互行为配置信息并保存。具体的,从人机交互行为导致的结果来看,大致可以分为两种情况,一种是导致界面中的数据发生更新,例如,在订单确认界面中删除了一个数据对象,或者修改了某数据对象的数量,等等;另一种是导致界面发生流转,例如,在“购物车”界面中执行“去结算”等操作,则可以流转到订单确认界面,等等。在各种人机交互过程中,可以以组件为单位,进行界面的更新。
具体的,可以确定由于所述人际交互行为而发生数据变更的组件,然后,以组件为单位对所述界面中的展示内容进行局部更新。在以组件为单位进行局部更新的过程中,有些组件可能需要与服务端进行交互,因此,在进行人机交互方式配置时,还可以提供组件数据人机交互行为配置信息,所述组件数据人机交互行为配置信息包括第一列表,所述第一列表中记录有第一组件集合,所述第一组件集合中的各组件在人机交互产生数据变更时,进行服务端的请求,且以服务端返回的数据状态作为组件的新的数据状态以更新页面。例如,该第一列表可以称为request列表,假设某组件在发生数据变更时,需要进行服务端的请求,且以服务端返回的数据状态作为组件的新的数据状态以更新页面,则可以将该组件的ID等标识加入到request列表中。例如,某数据对象组件,在数据对象数量发生变化时,通常需要将该组件的相关信息以及变化后的数量信息提交到服务端,由服务端确定是否享受某优惠,等等,因此,就可以将该数据对象组件添加到request列表中。
另外,在人机交互行为导致界面流转的情况下,可能有些组件可以从原界面流转到新的界面中进行展示,此时,可以根据所述需要流转到另一界面中进行展示的组件,进行所述另一界面的展示。并且,有些组件在进行界面间数据流转时,可能需要将组件信息提交到服务端,因此,还可以配置一第二列表,第二列表中记录有第二组件集合,其中,所述第二组件集合中的各组件在进行界面间数据流转时,将组件信息提交到服务端。例如,第二列表可以称为submit列表,等等。例如,某用户向“购物车”中添加了多个数据对象,在“购物车”页面中可以对一些数据对象进行勾选,或者全选,然后在出发“去结算”等操作选项后,可以直接将被勾选的数据对象信息流转到订单确认界面中。此时,就可以将这种数据对象组件添加到submit列表中。
通过动态的设置request和submit列表,可以解除用户的交互行为与业务数据需求的耦合,具体的用户操作是只影响界面展现(对应的组件不在request列表内)还是影响业务所需数据的变更(在request列表内),能够通过配置式完成,避免业务数据需求变更后需要重新编写组件的问题。
此外,传统开发模式中,将界面局部更新的更新规则固定的写死,则更新规则变更后需要重新进行代码开发,特别是APP发布后必须重新编写代码、集成测试、发布到用户下载后才能生效,其成本巨大。并且,在普通的用户界面开发模式中,无论是Web技术使用的HTML还是APP使用的XML,界面内的内容之间的空间排列,都是静态的固定结构。以电商确认订单业务为例,界面从上到下的内容排列是:地址选择、订单展示、抵扣券。如果期望在特定场景下将排列顺序更改为:从上到下是抵扣券、订单展示和地址选择,那么不得不重新编写一个界面,即便两个界面中展现的内容是一致的。这就导致不仅仅是重复的人力投入成本,而且特别对APP而言,必须重新发布新版本,进而导致版本更新频繁、用户更新率低下、界面更迭的周期过长等一系列问题。
而在本申请实施例中,如果所述人机交互行为导致不同的组件数据集合之间的顺序发生变化时,则可以通过调整组件数据集合在结构树中的排列顺序,进行界面展示内容的更新。
实施例二
该实施例二是与实施例一相对应的,从第一客户端的角度进行介绍,具体的,该第一客户端可以是指为界面开发者等用户提供的客户端。具体的,参见图4,该实施例二提供了一种界面配置信息处理方法,该方法具体可以包括以下步骤:
S401:第一客户端为目标界面类提交组件配置信息,其中,按照界面所需展示内容在业务含义维度上的不同,将界面内容划分为至少一个组件,所述组件的内容以及交互方式通过数据的方式进行定义,并具有预置的数据格式;
S402:提交各组件之间的叠加结构关系配置信息,由服务端保存所述组件配置信息以及所述叠加结构关系配置信息,所述组件配置信息以及所述叠加结构关系配置信息用于对所述界面类进行实例化渲染。
通过前述实施例一以及实施例二可见,在实际应用中,在进行具体的界面开发时,可以通过以下流程进行:
1.进行界面开发时,先将界面内,业务关系、交互行为互相隔离的内容抽取成组件。组件的数据按照方案所设定的数据格式进行定义。
2.相同的业务、交互行为类似的组件在组件配置模块内,转换为同一个组件实现的实例。尽可能的复用已有组件,如无现成内容,重新在编写组件实现的代码。
3.将组件数据与业务数据(主要可以是指服务端业务实现的类)进行映射,以用于在进行界面实例化渲染时,将业务类的数据转换为组件需要的数据。
4.根据业务需求,如果组件在人机交互时的数据变更是否需要提交到服务端,则可以将组件id动态写入request列表;如果组件在页面数据流转时需要提交给服务端,则可以将组件id动态写入submit列表;如果组件字段需要进行变更时的值的逻辑校验,则可以为组件编写validate字段。
5.根据界面实例化展现的需要,组件作为界面的内容承载体,可以动态的生产组件的结构。具体的,可以指定结构中的根节点,将父子节点以key-value形式一维的存储在structure对象内,同父级下的子节点以有序数组存储。
通过上述信息的配置,在具体进行界面的实例化展现时,就可以由界面的展现层从服务端获取组件数据集和结构、交互行为配置数据集等。根据具体组件渲染时的需要,加载组件的实现代码。遍历界面结构,在结构中的具体节点,调用组件的实现代码,传入组件数据,渲染出组件,将结构树渲染成展现所需的渲染树。后续还可以监听数据的变更,将数据的变更与界面内容的变更进行绑定,最后将渲染树展现给用户。
实施例三
前述实施例一以及实施例二对界面类框架的搭建过程进行了详细介绍,而在搭建起界面类的框架后,就可以与具体的业务数据结合,进行界面的实例化渲染以及展现,该实施例三中主要对界面渲染的方式进行详细介绍。
参见图5,该实施例三提供了一种动态界面渲染方法,该方法具体可以包括以下步骤:
S501:服务端保存目标界面类的组件配置信息以及各组件之间的叠加结构关系配置信息;其中,按照界面所需展示内容在业务含义维度上的不同,将界面所需展示内容划分为至少一个组件,所述组件的内容以及交互方式通过数据的方式进行定义,并具有预置的数据格式;
服务端具体对各种配置信息的保存方式等相关实现,可以参见前述实施例一、二中的记载,当然,在具体实现时,除了实施例一、二中的实现方式,还可以有其他的实现方式,例如,可以有服务端的技术人员为各个界面类配置组件,等等,这里不再一一详述。
S502:在接收到对目标界面类进行实例化渲染的请求时,获得业务数据;
具体的,在前端消费者用户等访问具体的界面时,就可以对对应的界面类进行实例化渲染。例如,某用户向“购物车”中添加了一些数据对象(主要可以是指商品对象),之后通过“去结算”等操作选项发出访问订单确认界面的请求,此时,服务端就会接收到对订单确认界面类的实例化渲染请求。进而,就可以确定出当前的请求相关的业务数据,例如,可以包括收件人姓名、联系方式、地址等信息,还可以包括已经加入到“购物车”的数据对象等信息。需要说明的是,在实际应用中,用户加入到“购物车”的数据对象可能会有多件,并且,该多件数据对象可能属于不同的“店铺”(商家等第一用户在销售平台中开设的线上店铺)。此时,还可以通过预置的逻辑进行订单拆分等处理,例如,通常,同一个店铺的数据对象可以对应一个子订单,这样,不同店铺的数据对象将会被拆分到不同的子订单中。在这种情况下,服务端获得的业务数据,可以是进行订单拆分后的相关数据,也即,具体包括几个子订单,每个子订单关联的数据对象列表,等等。
S503:将所述业务数据映射为组件所需的数据,生成组件数据集合;
在获得具体的业务数据后,可以映射为组件所需的数据,组件实现代码就可以利用这种数据进行组件渲染。其中,具体实现时,组件所需的数据通常包括多个字段,因此具体的映射过程可以为:将所述业务数据映射为组件在各字段上所需的数据。具体实现时,在组件创建或者被引用时,可以建立业务数据字段与组件数据字段之间的映射关系,因此,可以根据这种映射关系,将所述业务数据字段映射为组件数据字段,并确定所述对应组件在各字段上所需的数据。
S504:调用组件实现代码,并传入所述组件数据集合,进行组件渲染,并根据组件渲染结果以及所述组件间的叠加结构关系配置信息,对所述目标界面类进行实例化渲染。
在确定出组件数据集合后,就可以调用组件的实现代码,向组件实现代码中传入组件数据集合,这样就可以渲染出组件,并将根据组件之间的叠加结构关系,渲染成展现所需的渲染树。
具体实现时,所述组件配置信息中还可以包括组件数据校验规则信息,此时,还可以利用所述数据校验规则对组件数据进行校验。
其中,所述各组件之间的叠加结构关系配置信息通过结构树的方式进行保存,此时,可以遍历所述结构树中的各节点,分别调用各节点对应组件的实现代码,并传入相应的组件所需数据,以分别对各节点的组件进行渲染,生成界面的渲染树,以用于根据所述渲染树进行界面的展示。
在根据所述实例化渲染结果进行界面展示后,还可以检测界面中的人机交互行为,并确定所述人际交互行为所涉及的组件,然后,以组件为单位对所述界面中的展示内容进行更新。其中,当用户对界面进行人机交互时,因为界面全部由组件叠加而成,用户的操作会直接对应到具体组件的操作。由于组件全部使用数据进行标示,因此,当组件被操作时,会作用到组件数据的变更上
具体的,如果人机交互行为引起组件数据发生变化,则可以首先确定由于所述人际交互行为而发生数据变更的组件,然后,以组件为单位对所述界面中的展示内容进行局部更新。
其中,所述组件配置信息中还可以包括组件数据人机交互行为配置信息,所述组件数据人机交互行为配置信息包括第一列表,所述第一列表中记录有第一组件集合,所述第一组件集合中的各组件在人机交互产生数据变更时,进行服务端的请求,且以服务端返回的数据状态作为组件的新的数据状态以更新页面。则具体在述以组件为单位对所述界面中的展示内容进行局部更新时,可以通过以下方式进行:如果所述发生数据变更的组件未出现在所述第一列表中,则证明无需与服务端交互,因此,可以直接更新该组件用以渲染界面的数据,并将数据的变更作用到界面更新上。否则,将所述发生数据变更的组件的标识信息(通常可以为组件的tag名称,也即在具体业务上的名称)以及数据提交到所述服务端,由所述服务端识别用于对该组件进行处理的类并进行业务逻辑处理,生成变更后的组件数据集合,以及变更后的组件数据集合的叠加结构,利用所述变更后的组件数据集合,以及变更后的组件数据集合的叠加结构对应相应的组件进行重新渲染。
其中,在一些情况下,所述服务端在生成变更后的组件数据集合,以及变更后的组件数据集合的叠加结构时,还可以生成变更后的人机交互行为配置信息。例如,某用户执行了修改收货地址的操作,由之前的国内某地址,修改为国外的某收货地址,此时,如果某数据对象在国外不可售,则关于该数据对象的数量等信息,应该在订单确认界面中置为不可操作状态,也就是说,用户不能再对该数据对象的数量进行修改了,此时,如果用户对该组件执行了人机交互操作,也不必再向服务端请求相关的数据,因此,可以将该数据对象组件从request列表中删除。这种对request列表执行的删除操作,会引起人机交互配置信息发生更新,因此,服务端在返回更新后的组件数据集合、叠加结构等信息时,还可以提供更新后的人机交互行为配置信息。
在另一种情况下,人机交互行为可能会使得当前界面流转到另一界面,此时,可以确定由于人机交互行为而需要流转到另一界面中进行展示的组件。此时,具体在以组件为单位对所述界面中的展示内容进行更新时,可以根据所述需要流转到另一界面中进行展示的组件,进行所述另一界面的展示。
其中,所述组件配置信息中还保存有第二列表,第二列表中记录有第二组件集合,其中,所述第二组件集合中的各组件在进行界面间数据流转时,将组件信息提交到服务端。此时,如果所述需要流转到另一界面中进行展示的组件位于所述第二列表中,则将可以该组件的信息提交到所述服务端。
另外,所述人机交互行为还可能导致不同的组件数据集合之间的顺序发生变化,此时,可以通过调整组件数据集合在结构树中的排列顺序,进行界面展示内容的更新。例如,假设订单确认界面中在第一状态下包括3个数据对象,此时,在人机交互操作中,将其中某个数据对象删除了,使得订单确认界面成为第二状态,也即,只包括两个数据对象。之后,用户又将之前删除的数据对象重新添加到订单确认界面中,使得界面成为第三状态。此时,第三状态与第一状态相比,只是数据对象顺序发生了变化,其他信息不变,因此,可以直接在第一状态的基础上,调整数据对象组件在结构树中的排列顺序即可,而不必再进行重新的组件渲染等操作,从而可以进一步提高实现效率,节省资源。
关于该实施例三更为具体的实现,可以参见实施例一中的相关记载,这里不再赘述。
总之,通过本实施例三,在动态界面构建完成后,内容动态变化而需要进行界面更新时,不需要更新整个界面,而是可以以组件为单位进行更新。在需要与服务端交互的情况下,服务端逻辑处理完成后,可以将界面上需要变更的所有组件以初始化构建界面类似的逻辑,合并成组件数据集合;将变更后的组件数据集合的空间堆叠结构、组件的人机交互行为配置等信息作为另外的集合。将各个集合的数据返回给渲染层。如果组件数据的集合内新增、更改了组件,只需要返回新增组件的数据的集合;如果组件数据的集合内删除了已有组件,只需要标识该组件被删除。组件的结构和配置信息每次异步操作都可以全量的返回最新的数据。渲染层将新返回的组件、叠加结构和人机交互行为配置与当前展现所使用的组件数据进行合并更新,生成最新的组件数据集合和渲染树,局部更新界面上所受影响的组件的展现,而无需全量更新界面。此行为保障了最精简的数据传递,无需每次与服务端交互时全量的返回界面展现所需的所有数据。另外,使用数据描述了界面的变化,建立了界面与数据的关联,因而解决了界面更新到数据更新需要固定写死的问题。而且,由于用数据描述界面,数据更新时进行了合并操作,保留了旧界面的数据,从而解决了页面更新时旧数据丢失的或难以还原界面的问题。
与实施例一相对应,本申请实施例还提供了一种界面配置信息处理装置,参见图6,该装置应用于服务端,包括:
组件配置信息接收单元601,用于接收第一客户端为目标界面类提交的组件配置信息,其中,按照界面所需展示内容在业务含义维度上的不同,将界面内容划分为至少一个组件,所述组件的内容以及交互方式通过数据的方式进行定义,并具有预置的数据格式;
叠加结构配置信息接收单元602,用于接收各组件之间的叠加结构关系配置信息;
保存单元603,用于保存所述组件配置信息以及所述叠加结构关系配置信息,所述组件配置信息以及所述叠加结构关系配置信息用于对所述界面类进行实例化渲染。
具体实现时,组件配置信息接收单元可以包括:
第一操作选项提供子单元,用于提供用于定义组件的第一操作选项;
第一接收子单元,用于通过所述第一操作选项接收所述第一客户端提交的组件数据字段配置信息;
组件生成子单元,用于根据所述组件数据字段配置信息以及预置的组件数据结构格式生成组件实现代码,将该生成的组件确定为用以组合成界面的组件。
具体实现时,组件配置信息接收单元还可以包括:
第二操作选项提供子单元,用于提供用于指定组件类型的第二操作选项,所述组件类型与所述组件在人机交互维度上的功能相关;
第二接收子单元,用于通过所述第二操作选项接收第一客户端提交的组件的类型配置信息并保存。
具体实现时,组件配置信息接收单元还可以包括:
第三操作选项提供子单元,用于提供用于指定组件名称的第三操作选项,所述组件名称与所述组件在业务系统中的功能相关;
第三接收子单元,用于通过所述第三操作选项接收第一客户端提交的组件的名称配置信息并保存。
再者,组件配置信息接收单元还可以包括:
第四操作选项提供子单元,用于提供用于指定组件数据校验规则的第四操作选项;
第四接收子单元,用于通过所述第四操作选项接收组件数据的校验规则信息并保存。
另外,该装置还可以包括:
组件标识生成单元,用于为所述组件生成唯一性标识信息。
另一种实现方式下,组件配置信息接收单元具体可以包括:
第五操作选项提供子单元,用于提供用于从已有组件中进行选择的第五操作选项,并提供各已有组件的类型信息;
第五接收子单元,用于通过所述第五操作选项接收所述第一客户端选定的目标组件,将该目标组件确定为用以组合成界面的组件。
此时,该装置也还可以包括:
第三操作选项提供子单元,用于提供用于指定组件名称的第三操作选项,所述组件名称与所述组件在业务系统中的功能相关;
第三接收子单元,用于通过所述第三操作选项接收组件的名称配置信息并保存。
另外,该装置还可以包括:
第六操作选项提供单元,用于提供用于建立字段映射关系的第六操作选项;
映射关系接收单元,用于通过所述第六操作选项接收第一客户端提交的业务数据字段名称与所述已有组件中定义的组件数据字段名称之间的映射关系并保存。
另外,叠加结构配置信息接收单元具体可以包括:
结构树信息接收子单元,用于接收第一客户端通过结构树的方式提交的所述叠加结构关系配置信息;
节点保存子单元,用于以键值对的形式保存各组件在所述结构树中的父子节点关系,其中,父节点的组件名称为键,子节点的组件名称为值,当同一父节点的子节点为多个时,多个子节点的组件名称以有序数组的形式保存在值中。
另外,还包括:
人机交互行为配置信息接收单元,用于接收组件数据人机交互行为配置信息并保存。
具体实现时,所述人机交互行为配置信息接收单元具体可以用于:
接收第一列表,所述第一列表中记录有第一组件集合,所述第一组件集合中的各组件在人机交互产生数据变更时,进行服务端的请求,且以服务端返回的数据状态作为组件的新的数据状态以更新页面。
或者,人机交互行为配置信息接收单元也可以用于:
接收第二列表,所述第二列表中记录有第二组件集合,所述第二组件集合中的各组件在进行界面间数据流转时,将组件信息提交到所述服务端。
与实施例二相对应,本申请实施例还提供了一种界面配置信息处理装置,参见图7,该装置应用于第一客户端,包括:
组件配置信息提交单元701,用于为目标界面类提交组件配置信息,其中,按照界面所需展示内容在业务含义维度上的不同,将界面内容划分为至少一个组件,所述组件的内容以及交互方式通过数据的方式进行定义,并具有预置的数据格式;
叠加结构配置信息提交单元702,用于提交各组件之间的叠加结构关系配置信息,由服务端保存所述组件配置信息以及所述叠加结构关系配置信息,所述组件配置信息以及所述叠加结构关系配置信息用于对所述界面类进行实例化渲染。
与实施例三相对应,本申请实施例还提供了一种动态界面渲染装置,参见图8,该装置应用于服务端,包括:
保存单元801,用于保存目标界面类的组件配置信息以及各组件之间的叠加结构关系配置信息;其中,按照界面所需展示内容在业务含义维度上的不同,将界面所需展示内容划分为至少一个组件,所述组件的内容以及交互方式通过数据的方式进行定义,并具有预置的数据格式;
业务数据获得单元802,用于在接收到对目标界面类进行实例化渲染的请求时,获得业务数据;
组件数据集合生成单元803,用于将所述业务数据映射为组件所需的数据,生成组件数据集合;
渲染单元804,用于调用组件实现代码,并传入所述组件数据集合,进行组件渲染,并根据组件渲染结果以及所述组件间的叠加结构关系配置信息,对所述目标界面类进行实例化渲染。
具体实现时,所述组件所需的数据通过多个组件数据字段表示;
所述组件数据集合生成单元具体可以用于:
将所述业务数据映射为组件在各字段上所需的数据。
其中,所述组件配置信息中还包括:业务数据字段与组件数据字段之间的映射关系;
此时,所述组件数据集合生成单元具体可以用于:
根据所述映射关系,将所述业务数据字段映射为组件数据字段,并确定所述对应组件在各字段上所需的数据。
另外,所述组件配置信息中还包括组件数据校验规则信息,所述装置还包括:
校验单元,用于利用所述数据校验规则对组件数据进行校验。
其中,所述各组件之间的叠加结构关系配置信息通过结构树的方式进行保存,所述渲染单元具体可以用于:
遍历所述结构树中的各节点,分别调用各节点对应组件的实现代码,并传入相应的组件所需数据,以分别对各节点的组件进行渲染,生成界面的渲染树,以用于根据所述渲染树进行界面的展示。
另外,该装置还可以包括:
人机交互行为检测单元,用于在根据所述实例化渲染结果进行界面展示后,检测界面中的人机交互行为,并确定所述人际交互行为所涉及的组件;
更新单元,用于以组件为单位对所述界面中的展示内容进行更新。
其中,所述人机交互行为检测单元具体可以用于:
确定由于所述人际交互行为而发生数据变更的组件;
所述更新单元具体可以用于:
以组件为单位对所述界面中的展示内容进行局部更新。
或者,在其中一种具体的实现方式下,所述组件配置信息中还包括组件数据人机交互行为配置信息,所述组件数据人机交互行为配置信息包括第一列表,所述第一列表中记录有第一组件集合,所述第一组件集合中的各组件在人机交互产生数据变更时,进行服务端的请求,且以服务端返回的数据状态作为组件的新的数据状态以更新页面;
所述更新单元具体可以用于:
如果所述发生数据变更的组件未出现在所述第一列表中,则更新该组件用以渲染界面的数据,并将数据的变更作用到界面更新上;
否则,将所述发生数据变更的组件的标识信息以及数据提交到所述服务端,由所述服务端识别用于对该组件进行处理的类并进行业务逻辑处理,生成变更后的组件数据集合,以及变更后的组件数据集合的叠加结构,利用所述变更后的组件数据集合,以及变更后的组件数据集合的叠加结构对应相应的组件进行重新渲染。
其中,所述服务端在生成变更后的组件数据集合,以及变更后的组件数据集合的叠加结构时,还生成变更后的人机交互行为配置信息。
在另一种实现方式下,所述人机交互行为检测单元具体可以用于::
确定由于人机交互行为而需要流转到另一界面中进行展示的组件;
所述更新单元具体可以用于:
根据所述需要流转到另一界面中进行展示的组件,进行所述另一界面的展示。
其中,所述组件配置信息中还保存有第二列表,第二列表中记录有第二组件集合,其中,所述第二组件集合中的各组件在进行界面间数据流转时,将组件信息提交到服务端;
所述更新单元具体可以用于:
如果所述需要流转到另一界面中进行展示的组件位于所述第二列表中,则将该组件的信息提交到所述服务端。
再者,所述更新单元具体可以用于:
如果所述人机交互行为导致不同的组件数据集合之间的顺序发生变化时,通过调整组件数据集合在结构树中的排列顺序,进行界面展示内容的更新。
通过本申请实施例,可以提供组件数据结构规范,这样,业务方可以按照界面所需展示内容在业务含义维度上的不同,将界面内容划分为至少一个组件,并且,还可以对各组件之间的叠加结构关系进行配置。后续在对界面类进行实例化渲染时,就可以根据实际的业务数据转化为组件所需数据,并进行组件的渲染,并最终完成整个页面的渲染。也就是说,本申请实施例以数据的模式描述了组件,这样就可以将界面的交互抽象成数据的交互,将内容与结构进行了分离,并且,由于内容、结构都使用数据描述,因而可以动态的赋值以构建动态界面。在界面展现的内容的顺序、数量等发生变化,可以以组件为单位进行更新,而不需要对整个界面进行更新。并且,不再需要大量的人力针对每种展现状态下的界面进行编写工作,而是直接更新对应的组件所需数据即可,因此,可以提高界面资源的利用率。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上对本申请所提供的动态界面渲染方法及装置,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本申请的限制。
Claims (29)
1.一种界面配置信息处理方法,其特征在于,包括:
服务端接收第一客户端为目标界面类提交的组件配置信息,其中,按照界面所需展示内容在业务含义维度上的不同,将界面内容划分为至少一个组件,所述组件的内容以及交互方式通过数据的方式进行定义,并具有预置的数据格式;
接收各组件之间的叠加结构关系配置信息;
保存所述组件配置信息以及所述叠加结构关系配置信息,所述组件配置信息以及所述叠加结构关系配置信息用于对所述界面类进行实例化渲染。
2.根据权利要求1所述的方法,其特征在于,所述接收第一客户端为目标界面类提交的组件配置信息,包括:
提供用于定义组件的第一操作选项;
通过所述第一操作选项接收所述第一客户端提交的组件数据字段配置信息;
根据所述组件数据字段配置信息以及预置的组件数据结构格式生成组件实现代码,将该生成的组件确定为用以组合成界面的组件。
3.根据权利要求2所述的方法,其特征在于,还包括:
提供用于指定组件类型的第二操作选项,所述组件类型与所述组件在人机交互维度上的功能相关;
通过所述第二操作选项接收第一客户端提交的组件的类型配置信息并保存。
4.根据权利要求2或3所述的方法,其特征在于,还包括:
提供用于指定组件名称的第三操作选项,所述组件名称与所述组件在业务系统中的功能相关;
通过所述第三操作选项接收第一客户端提交的组件的名称配置信息并保存。
5.根据权利要求2所述的方法,其特征在于,还包括:
提供用于指定组件数据校验规则的第四操作选项;
通过所述第四操作选项接收组件数据的校验规则信息并保存。
6.根据权利要求2所述的方法,其特征在于,还包括:
为所述组件生成唯一性标识信息。
7.根据权利要求1所述的方法,其特征在于,所述接收第一客户端为目标界面类提交的组件配置信息,包括:
提供用于从已有组件中进行选择的第五操作选项,并提供各已有组件的类型信息;
通过所述第五操作选项接收所述第一客户端选定的目标组件,将该目标组件确定为用以组合成界面的组件。
8.根据权利要求7所述的方法,其特征在于,还包括:
提供用于指定组件名称的第三操作选项,所述组件名称与所述组件在业务系统中的功能相关;
通过所述第三操作选项接收组件的名称配置信息并保存。
9.根据权利要求7所述的方法,其特征在于,还包括:
提供用于建立字段映射关系的第六操作选项;
通过所述第六操作选项接收第一客户端提交的业务数据字段名称与所述已有组件中定义的组件数据字段名称之间的映射关系并保存。
10.根据权利要求1所述的方法,其特征在于,所述接收各组件之间的叠加结构关系配置信息,包括:
接收第一客户端通过结构树的方式提交的所述叠加结构关系配置信息;
以键值对的形式保存各组件在所述结构树中的父子节点关系,其中,父节点的组件名称为键,子节点的组件名称为值,当同一父节点的子节点为多个时,多个子节点的组件名称以有序数组的形式保存在值中。
11.根据权利要求1至10任一项所述的方法,其特征在于,还包括:
接收组件数据人机交互行为配置信息并保存。
12.根据权利要求11所述的方法,其特征在于,所述接收组件数据人机交互行为配置信息,包括:
接收第一列表,所述第一列表中记录有第一组件集合,所述第一组件集合中的各组件在人机交互产生数据变更时,进行服务端的请求,且以服务端返回的数据状态作为组件的新的数据状态以更新页面。
13.根据权利要求11所述的方法,其特征在于,所述接收组件数据交互行为配置信息,包括:
接收第二列表,所述第二列表中记录有第二组件集合,所述第二组件集合中的各组件在进行界面间数据流转时,将组件信息提交到所述服务端。
14.一种界面配置信息处理方法,其特征在于,包括:
第一客户端为目标界面类提交组件配置信息,其中,按照界面所需展示内容在业务含义维度上的不同,将界面内容划分为至少一个组件,所述组件的内容以及交互方式通过数据的方式进行定义,并具有预置的数据格式;
提交各组件之间的叠加结构关系配置信息,由服务端保存所述组件配置信息以及所述叠加结构关系配置信息,所述组件配置信息以及所述叠加结构关系配置信息用于对所述界面类进行实例化渲染。
15.一种动态界面渲染方法,其特征在于,包括:
服务端保存目标界面类的组件配置信息以及各组件之间的叠加结构关系配置信息;其中,按照界面所需展示内容在业务含义维度上的不同,将界面所需展示内容划分为至少一个组件,所述组件的内容以及交互方式通过数据的方式进行定义,并具有预置的数据格式;
在接收到对目标界面类进行实例化渲染的请求时,获得业务数据;
将所述业务数据映射为组件所需的数据,生成组件数据集合;
调用组件实现代码,并传入所述组件数据集合,进行组件渲染,并根据组件渲染结果以及所述组件间的叠加结构关系配置信息,对所述目标界面类进行实例化渲染。
16.根据权利要求15所述的方法,其特征在于,所述组件所需的数据通过多个组件数据字段表示;
所述将所述业务数据映射为组件所需的数据,包括:
将所述业务数据映射为组件在各字段上所需的数据。
17.根据权利要求16所述的方法,其特征在于,所述组件配置信息中还包括:业务数据字段与组件数据字段之间的映射关系;
所述将所述业务数据映射为组件在各字段上所需的数据,包括:
根据所述映射关系,将所述业务数据字段映射为组件数据字段,并确定所述对应组件在各字段上所需的数据。
18.根据权利要求15所述的方法,其特征在于,所述组件配置信息中还包括组件数据校验规则信息,所述方法还包括:
利用所述数据校验规则对组件数据进行校验。
19.根据权利要求15所述的方法,其特征在于,所述各组件之间的叠加结构关系配置信息通过结构树的方式进行保存,所述调用组件实现代码,包括:
遍历所述结构树中的各节点,分别调用各节点对应组件的实现代码,并传入相应的组件所需数据,以分别对各节点的组件进行渲染,生成界面的渲染树,以用于根据所述渲染树进行界面的展示。
20.根据权利要求15所述的方法,其特征在于,还包括:
在根据所述实例化渲染结果进行界面展示后,检测界面中的人机交互行为,并确定所述人际交互行为所涉及的组件;
以组件为单位对所述界面中的展示内容进行更新。
21.根据权利要求20所述的方法,其特征在于,所述确定所述人际交互行为所涉及的组件,包括:
确定由于所述人际交互行为而发生数据变更的组件;
所述以组件为单位对所述界面中的展示内容进行更新,包括:
以组件为单位对所述界面中的展示内容进行局部更新。
22.根据权利要求21所述的方法,其特征在于,所述组件配置信息中还包括组件数据人机交互行为配置信息,所述组件数据人机交互行为配置信息包括第一列表,所述第一列表中记录有第一组件集合,所述第一组件集合中的各组件在人机交互产生数据变更时,进行服务端的请求,且以服务端返回的数据状态作为组件的新的数据状态以更新页面;
所述以组件为单位对所述界面中的展示内容进行局部更新,包括:
如果所述发生数据变更的组件未出现在所述第一列表中,则更新该组件用以渲染界面的数据,并将数据的变更作用到界面更新上;
否则,将所述发生数据变更的组件的标识信息以及数据提交到所述服务端,由所述服务端识别用于对该组件进行处理的类并进行业务逻辑处理,生成变更后的组件数据集合,以及变更后的组件数据集合的叠加结构,利用所述变更后的组件数据集合,以及变更后的组件数据集合的叠加结构对应相应的组件进行重新渲染。
23.根据权利要求22所述的方法,其特征在于,所述服务端在生成变更后的组件数据集合,以及变更后的组件数据集合的叠加结构时,还生成变更后的人机交互行为配置信息。
24.根据权利要求20所述的方法,其特征在于,所述确定所述人际交互行为所涉及的组件,包括:
确定由于人机交互行为而需要流转到另一界面中进行展示的组件;
所述以组件为单位对所述界面中的展示内容进行更新,包括:
根据所述需要流转到另一界面中进行展示的组件,进行所述另一界面的展示。
25.根据权利要求24所述的方法,其特征在于,所述组件配置信息中还保存有第二列表,第二列表中记录有第二组件集合,其中,所述第二组件集合中的各组件在进行界面间数据流转时,将组件信息提交到服务端;
所述根据所述需要流转到另一界面中进行展示的组件,进行所述另一界面的展示,包括:
如果所述需要流转到另一界面中进行展示的组件位于所述第二列表中,则将该组件的信息提交到所述服务端。
26.根据权利要求20所述的方法,其特征在于,所述以组件为单位对所述界面中的展示内容进行更新,包括:
如果所述人机交互行为导致不同的组件数据集合之间的顺序发生变化时,通过调整组件数据集合在结构树中的排列顺序,进行界面展示内容的更新。
27.一种界面配置信息处理装置,其特征在于,应用于服务端,包括:
组件配置信息接收单元,用于接收第一客户端为目标界面类提交的组件配置信息,其中,按照界面所需展示内容在业务含义维度上的不同,将界面内容划分为至少一个组件,所述组件的内容以及交互方式通过数据的方式进行定义,并具有预置的数据格式;
叠加结构配置信息接收单元,用于接收各组件之间的叠加结构关系配置信息;
保存单元,用于保存所述组件配置信息以及所述叠加结构关系配置信息,所述组件配置信息以及所述叠加结构关系配置信息用于对所述界面类进行实例化渲染。
28.一种界面配置信息处理装置,其特征在于,应用于第一客户端,包括:
组件配置信息提交单元,用于为目标界面类提交组件配置信息,其中,按照界面所需展示内容在业务含义维度上的不同,将界面内容划分为至少一个组件,所述组件的内容以及交互方式通过数据的方式进行定义,并具有预置的数据格式;
叠加结构配置信息提交单元,用于提交各组件之间的叠加结构关系配置信息,由服务端保存所述组件配置信息以及所述叠加结构关系配置信息,所述组件配置信息以及所述叠加结构关系配置信息用于对所述界面类进行实例化渲染。
29.一种动态界面渲染装置,其特征在于,应用于服务端,包括:
保存单元,用于保存目标界面类的组件配置信息以及各组件之间的叠加结构关系配置信息;其中,按照界面所需展示内容在业务含义维度上的不同,将界面所需展示内容划分为至少一个组件,所述组件的内容以及交互方式通过数据的方式进行定义,并具有预置的数据格式;
业务数据获得单元,用于在接收到对目标界面类进行实例化渲染的请求时,获得业务数据;
组件数据集合生成单元,用于将所述业务数据映射为组件所需的数据,生成组件数据集合;
渲染单元,用于调用组件实现代码,并传入所述组件数据集合,进行组件渲染,并根据组件渲染结果以及所述组件间的叠加结构关系配置信息,对所述目标界面类进行实例化渲染。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710042719.5A CN108334387B (zh) | 2017-01-20 | 2017-01-20 | 动态界面渲染方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710042719.5A CN108334387B (zh) | 2017-01-20 | 2017-01-20 | 动态界面渲染方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108334387A true CN108334387A (zh) | 2018-07-27 |
CN108334387B CN108334387B (zh) | 2021-03-16 |
Family
ID=62922107
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710042719.5A Active CN108334387B (zh) | 2017-01-20 | 2017-01-20 | 动态界面渲染方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108334387B (zh) |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109582411A (zh) * | 2018-10-17 | 2019-04-05 | 深圳壹账通智能科技有限公司 | 图形用户界面生成方法、装置、计算机设备及存储介质 |
CN109614100A (zh) * | 2018-10-26 | 2019-04-12 | 阿里巴巴集团控股有限公司 | 页面展示方法、装置、服务器、前端及存储介质 |
CN109683939A (zh) * | 2018-12-29 | 2019-04-26 | 北京小米移动软件有限公司 | 组件对象更新方法、装置以及存储介质 |
CN109947425A (zh) * | 2019-03-04 | 2019-06-28 | 腾讯科技(深圳)有限公司 | 一种信息流处理方法及装置 |
CN110007924A (zh) * | 2019-03-29 | 2019-07-12 | 烽火通信科技股份有限公司 | Yang模型配置界面的自动化构建方法及系统 |
CN110221889A (zh) * | 2019-05-05 | 2019-09-10 | 北京三快在线科技有限公司 | 一种页面展示方法、装置、电子设备及存储介质 |
CN110910189A (zh) * | 2018-09-14 | 2020-03-24 | 阿里巴巴集团控股有限公司 | 数据处理系统、方法、装置及电子设备 |
CN111460339A (zh) * | 2020-04-01 | 2020-07-28 | 上海携程商务有限公司 | 将自由行租车资源添加至购物车的方法及相关设备 |
CN111459565A (zh) * | 2020-02-27 | 2020-07-28 | 上海钧正网络科技有限公司 | 一种客户端页面渲染的方法、装置及移动终端 |
CN111611031A (zh) * | 2019-02-26 | 2020-09-01 | 华为技术有限公司 | 一种图形绘制方法和电子设备 |
CN112099697A (zh) * | 2020-09-28 | 2020-12-18 | 四川长虹电器股份有限公司 | 基于vue的级联面板组件动态切换展示数据的方法 |
CN112579082A (zh) * | 2019-09-30 | 2021-03-30 | 北京国双科技有限公司 | 交互状态数据的建立方法、装置、存储介质及电子设备 |
CN113181657A (zh) * | 2021-04-30 | 2021-07-30 | 北京读我网络技术有限公司 | 一种跨平台渲染方法及装置 |
CN113312045A (zh) * | 2021-06-10 | 2021-08-27 | 车智互联(北京)科技有限公司 | 一种数据处理方法、系统及计算设备 |
CN113641358A (zh) * | 2021-07-14 | 2021-11-12 | 北京三快在线科技有限公司 | 一种页面生成以及页面显示方法、装置 |
CN113765868A (zh) * | 2020-08-17 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 一种业务处理方法和装置 |
CN114116108A (zh) * | 2021-11-30 | 2022-03-01 | 平安科技(深圳)有限公司 | 动态渲染方法、装置、设备及存储介质 |
CN116302294A (zh) * | 2023-05-18 | 2023-06-23 | 安元科技股份有限公司 | 一种界面化自动识别组件属性的方法及系统 |
CN116991506A (zh) * | 2023-09-28 | 2023-11-03 | 腾讯科技(深圳)有限公司 | 一种网页渲染方法、装置、终端和存储介质 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040019662A1 (en) * | 2002-07-25 | 2004-01-29 | Sridatta Viswanath | Dynamic administration framework for server systems |
CN101685393A (zh) * | 2008-08-20 | 2010-03-31 | 大唐软件技术股份有限公司 | 一种实现界面动态定制和生成的方法及系统 |
US8468492B1 (en) * | 2009-03-30 | 2013-06-18 | Pegasystems, Inc. | System and method for creation and modification of software applications |
CN103607414A (zh) * | 2013-12-05 | 2014-02-26 | 用友软件股份有限公司 | 移动前段业务展现系统和移动前段业务展现方法 |
CN104216691A (zh) * | 2013-05-31 | 2014-12-17 | 华为技术有限公司 | 一种创建应用的方法及装置 |
US20150020004A1 (en) * | 2013-07-10 | 2015-01-15 | Internet Brands, Inc. | Simplified website creation, configuration, and customization system |
US20160004515A1 (en) * | 2013-01-22 | 2016-01-07 | Nexdigm Co., Ltd. | Method for providing application development environment and device |
CN105354013A (zh) * | 2014-08-18 | 2016-02-24 | 阿里巴巴集团控股有限公司 | 应用界面渲染方法及装置 |
US20160070434A1 (en) * | 2014-09-04 | 2016-03-10 | Home Box Office, Inc. | View virtualization |
CN105760149A (zh) * | 2014-12-18 | 2016-07-13 | 阿里巴巴集团控股有限公司 | 客户端界面动态显示方法及其系统 |
CN106155661A (zh) * | 2015-04-14 | 2016-11-23 | 阿里巴巴集团控股有限公司 | 一种控件接入方法及装置 |
CN106155639A (zh) * | 2015-03-24 | 2016-11-23 | 阿里巴巴集团控股有限公司 | 一种操作界面的加载方法及装置 |
CN106155686A (zh) * | 2016-06-30 | 2016-11-23 | 华为技术有限公司 | 界面生成方法、装置和系统 |
CN106202096A (zh) * | 2015-05-05 | 2016-12-07 | 阿里巴巴集团控股有限公司 | 客户端页面渲染方法及装置 |
-
2017
- 2017-01-20 CN CN201710042719.5A patent/CN108334387B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040019662A1 (en) * | 2002-07-25 | 2004-01-29 | Sridatta Viswanath | Dynamic administration framework for server systems |
CN101685393A (zh) * | 2008-08-20 | 2010-03-31 | 大唐软件技术股份有限公司 | 一种实现界面动态定制和生成的方法及系统 |
US8468492B1 (en) * | 2009-03-30 | 2013-06-18 | Pegasystems, Inc. | System and method for creation and modification of software applications |
US20160004515A1 (en) * | 2013-01-22 | 2016-01-07 | Nexdigm Co., Ltd. | Method for providing application development environment and device |
CN104216691A (zh) * | 2013-05-31 | 2014-12-17 | 华为技术有限公司 | 一种创建应用的方法及装置 |
US20150020004A1 (en) * | 2013-07-10 | 2015-01-15 | Internet Brands, Inc. | Simplified website creation, configuration, and customization system |
CN103607414A (zh) * | 2013-12-05 | 2014-02-26 | 用友软件股份有限公司 | 移动前段业务展现系统和移动前段业务展现方法 |
CN105354013A (zh) * | 2014-08-18 | 2016-02-24 | 阿里巴巴集团控股有限公司 | 应用界面渲染方法及装置 |
US20160070434A1 (en) * | 2014-09-04 | 2016-03-10 | Home Box Office, Inc. | View virtualization |
CN105760149A (zh) * | 2014-12-18 | 2016-07-13 | 阿里巴巴集团控股有限公司 | 客户端界面动态显示方法及其系统 |
CN106155639A (zh) * | 2015-03-24 | 2016-11-23 | 阿里巴巴集团控股有限公司 | 一种操作界面的加载方法及装置 |
CN106155661A (zh) * | 2015-04-14 | 2016-11-23 | 阿里巴巴集团控股有限公司 | 一种控件接入方法及装置 |
CN106202096A (zh) * | 2015-05-05 | 2016-12-07 | 阿里巴巴集团控股有限公司 | 客户端页面渲染方法及装置 |
CN106155686A (zh) * | 2016-06-30 | 2016-11-23 | 华为技术有限公司 | 界面生成方法、装置和系统 |
Cited By (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110910189A (zh) * | 2018-09-14 | 2020-03-24 | 阿里巴巴集团控股有限公司 | 数据处理系统、方法、装置及电子设备 |
CN110910189B (zh) * | 2018-09-14 | 2023-04-28 | 阿里巴巴集团控股有限公司 | 数据处理系统、方法、装置及电子设备 |
CN109582411A (zh) * | 2018-10-17 | 2019-04-05 | 深圳壹账通智能科技有限公司 | 图形用户界面生成方法、装置、计算机设备及存储介质 |
CN109614100A (zh) * | 2018-10-26 | 2019-04-12 | 阿里巴巴集团控股有限公司 | 页面展示方法、装置、服务器、前端及存储介质 |
CN109614100B (zh) * | 2018-10-26 | 2022-02-01 | 创新先进技术有限公司 | 页面展示方法、装置、服务器、前端及存储介质 |
CN109683939A (zh) * | 2018-12-29 | 2019-04-26 | 北京小米移动软件有限公司 | 组件对象更新方法、装置以及存储介质 |
CN111611031A (zh) * | 2019-02-26 | 2020-09-01 | 华为技术有限公司 | 一种图形绘制方法和电子设备 |
CN109947425B (zh) * | 2019-03-04 | 2023-10-17 | 深圳市雅阅科技有限公司 | 一种信息流处理方法及装置 |
CN109947425A (zh) * | 2019-03-04 | 2019-06-28 | 腾讯科技(深圳)有限公司 | 一种信息流处理方法及装置 |
CN110007924A (zh) * | 2019-03-29 | 2019-07-12 | 烽火通信科技股份有限公司 | Yang模型配置界面的自动化构建方法及系统 |
CN110221889A (zh) * | 2019-05-05 | 2019-09-10 | 北京三快在线科技有限公司 | 一种页面展示方法、装置、电子设备及存储介质 |
CN112579082A (zh) * | 2019-09-30 | 2021-03-30 | 北京国双科技有限公司 | 交互状态数据的建立方法、装置、存储介质及电子设备 |
CN111459565A (zh) * | 2020-02-27 | 2020-07-28 | 上海钧正网络科技有限公司 | 一种客户端页面渲染的方法、装置及移动终端 |
CN111459565B (zh) * | 2020-02-27 | 2023-08-18 | 上海钧正网络科技有限公司 | 一种客户端页面渲染的方法、装置及移动终端 |
CN111460339A (zh) * | 2020-04-01 | 2020-07-28 | 上海携程商务有限公司 | 将自由行租车资源添加至购物车的方法及相关设备 |
CN111460339B (zh) * | 2020-04-01 | 2024-03-05 | 上海携程商务有限公司 | 将自由行租车资源添加至购物车的方法及相关设备 |
CN113765868A (zh) * | 2020-08-17 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 一种业务处理方法和装置 |
CN113765868B (zh) * | 2020-08-17 | 2023-08-08 | 北京沃东天骏信息技术有限公司 | 一种业务处理方法和装置 |
CN112099697A (zh) * | 2020-09-28 | 2020-12-18 | 四川长虹电器股份有限公司 | 基于vue的级联面板组件动态切换展示数据的方法 |
CN113181657A (zh) * | 2021-04-30 | 2021-07-30 | 北京读我网络技术有限公司 | 一种跨平台渲染方法及装置 |
CN113181657B (zh) * | 2021-04-30 | 2024-04-05 | 北京读我网络技术有限公司 | 一种跨平台渲染方法及装置 |
CN113312045A (zh) * | 2021-06-10 | 2021-08-27 | 车智互联(北京)科技有限公司 | 一种数据处理方法、系统及计算设备 |
CN113312045B (zh) * | 2021-06-10 | 2024-04-16 | 车智互联(北京)科技有限公司 | 一种数据处理方法、系统及计算设备 |
CN113641358A (zh) * | 2021-07-14 | 2021-11-12 | 北京三快在线科技有限公司 | 一种页面生成以及页面显示方法、装置 |
CN114116108A (zh) * | 2021-11-30 | 2022-03-01 | 平安科技(深圳)有限公司 | 动态渲染方法、装置、设备及存储介质 |
CN116302294B (zh) * | 2023-05-18 | 2023-09-01 | 安元科技股份有限公司 | 一种界面化自动识别组件属性的方法及系统 |
CN116302294A (zh) * | 2023-05-18 | 2023-06-23 | 安元科技股份有限公司 | 一种界面化自动识别组件属性的方法及系统 |
CN116991506A (zh) * | 2023-09-28 | 2023-11-03 | 腾讯科技(深圳)有限公司 | 一种网页渲染方法、装置、终端和存储介质 |
CN116991506B (zh) * | 2023-09-28 | 2024-04-30 | 腾讯科技(深圳)有限公司 | 一种网页渲染方法、装置、终端和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN108334387B (zh) | 2021-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108334387A (zh) | 动态界面渲染方法及装置 | |
Li et al. | Blockchain-enabled workflow operating system for logistics resources sharing in E-commerce logistics real estate service | |
CN104216912B (zh) | 一种无侵入式的业务表单工作流化的实现方法与装置 | |
CN108153788A (zh) | 页面信息个性化处理方法、装置及系统 | |
CN111104635B (zh) | 一种表格网页的生成方法和装置 | |
CN102710793B (zh) | 一种基于云计算的网络印刷系统以及用于该系统中的数据存储方法 | |
CN110414635A (zh) | 一种基于rfid的产品防伪及追溯系统 | |
CN110019754A (zh) | 一种知识库的建立方法、装置及设备 | |
CN109002470A (zh) | 知识图谱构建方法及装置、客户端 | |
CN107391119A (zh) | 一种横竖屏实现方法及装置 | |
CN113010255A (zh) | 基于捆绑会话组的交互方法、装置和计算机设备 | |
CN104182226B (zh) | 一种通用移动信息系统适配方法与装置 | |
CN115186643A (zh) | 签报模板的自定义配置方法、装置、设备和存储介质 | |
KR101787010B1 (ko) | 웹사이트 빌더에서 데이터베이스를 위지윅으로 구축하는 방법 및 시스템 | |
CN108153465A (zh) | 基于企业SaaS应用的标签设置方法及装置 | |
EP1275062A1 (en) | Electronic catalogue | |
CN111258567A (zh) | 服务代码开发处理方法及装置 | |
CN108550062A (zh) | 一种基于微信平台的装修评测营销系统 | |
CN107220044A (zh) | 基于元模型驱动业务对象的方法和装置 | |
CN106844467A (zh) | 数据展示方法和装置 | |
US20130152039A1 (en) | Project specific software delivery planning | |
CN110796425A (zh) | 知识产权转移转化管理方法、系统及存储介质 | |
CN114756207A (zh) | 业务系统开发方法、PaaS平台及相关设备 | |
CN110069499A (zh) | 数据管理方法、装置、系统及存储介质 | |
WO1998019232A1 (fr) | Procede de production de logiciel, procede de traitement et support d'enregistrement |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1258494 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |