CN114489619A - 一种界面视图显示方法及终端设备、计算机可读存储介质 - Google Patents
一种界面视图显示方法及终端设备、计算机可读存储介质 Download PDFInfo
- Publication number
- CN114489619A CN114489619A CN202210094310.9A CN202210094310A CN114489619A CN 114489619 A CN114489619 A CN 114489619A CN 202210094310 A CN202210094310 A CN 202210094310A CN 114489619 A CN114489619 A CN 114489619A
- Authority
- CN
- China
- Prior art keywords
- node
- interface view
- tree
- display method
- runtime
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/34—Graphical or visual programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing 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/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本申请公开了一种界面视图显示方法及其终端设备、计算机可读存储介质,该方法包括:获取配置信息,基于所述配置信息生成节点树;基于所述节点树创建运行时树,将用户数据与所述运行时树进行绑定;按照所述运行时树中的每一个节点及其绑定的用户数据渲染界面视图元素,由多个界面视图元素生成所述界面视图。本申请的界面视图显示方法能够在获取到配置信息后,基于配置信息生成节点树,并进一步创建运行时树,同时结合用户提供的数据进行渲染展示界面视图。该方法无需预先内置界面视图的样式,提高了界面视图显示个性化方案的适用范围,进而简化了界面视图显示需求开发和维护的过程。
Description
技术领域
本申请涉及计算机技术领域,更具体地说,涉及一种界面视图显示方法及其终端设备、计算机可读存储介质。
背景技术
现有技术中,在面向多个客户定制开发App时,常存在业务逻辑功能相同,但是界面视图展示差异很大的情况,即同一个功能需要开发多套页面界面的需求,也即UI(UserInterface,用户界面)个性化需求。
针对UI个性化需求,现有的通用方案为:预先内置样式,通过控制排列组合的方式实现UI的个性化定制。具体的,开发时需要预先确定定制化的UI元素以及样式,然后在应用程序内预先内置这些样式,并将其关联到一个配置变量上,进而通过更改配置变量的值去控制UI展示哪一种样式。由于现有技术方案是对业务UI样式可变属性的描述,所以当需求迭代变得越来越复杂时,同样需要同步增加相应的内置逻辑去支持,进而导致了UI展示中需求开发以及维护越来越困难。
发明内容
有鉴于此,本申请的目的是提供一种界面视图显示方法,无需预先内置样式,通过获取配置信息后,基于配置信息生成节点树,并进一步创建运行时树,同时结合用户提供的数据进行渲染展示界面视图,提高了界面视图显示个性化方案的适用范围,进而简化了界面视图显示需求开发和维护的过程。
为解决上述技术问题,本申请提供的第一个技术方案为:提供一种界面视图显示方法,所述界面视图显示方法,包括:
获取配置信息,基于所述配置信息生成节点树;
基于所述节点树创建运行时树,将用户数据与所述运行时树进行绑定;
按照所述运行时树中的每一个节点及其绑定的用户数据渲染界面视图元素,由多个界面视图元素生成所述界面视图。
其中,所述基于所述配置信息生成节点树,包括:
从所述配置信息中获取第一节点描述信息;
基于所述第一节点描述信息中的第一节点语义名称确定第一节点类型;
按照所述第一节点类型创建第一节点;
基于所述第一节点生成所述节点树。
其中,所述按照所述第一节点类型创建第一节点之后,所述界面视图显示方法还包括:
检测所述第一节点描述信息是否存在第二节点描述信息;
若是,基于所述第二节点描述信息中的第二节点语义名称确定第二节点类型;
按照所述第二节点类型创建第二节点;
基于所述第一节点、所述第二节点,以及所述第一节点与所述第二节点的父子节点关系创建所述节点树。
其中,所述基于所述节点树创建运行时树,包括:
检测所述节点树中每一个节点的元素数量;
按照所述每一个节点的元素数量将节点划分为多个运行时节点;
基于所述运行时节点创建所述运行时树。
其中,所述将用户数据与所述运行时树进行绑定,包括:
将所述用户数据按照预设规则生成抽象语法树;
对所述抽象语法树执行深度优先遍历,依次执行所述抽象语法树中每一节点的操作,从而与所述运行时树进行绑定。
其中,所述界面视图显示方法,还包括:
基于行为事件分发信号更新所述用户数据后,将更新后的用户数据与所述运行时树进行绑定;
按照所述运行时树中的每一个节点及其绑定的更新后的用户数据渲染更新界面视图元素,由多个更新界面视图元素对原来的界面视图进行刷新。
其中,所述按照所述运行时树中的每一个节点及其绑定的用户数据渲染界面视图元素之后,所述界面视图显示方法还包括:
对渲染的所述界面视图元素进行装饰处理;
其中,装饰处理至少包括以下其中一种操作:创建关联事件、元素数据调整。
其中,所述获取配置信息,包括:
获取构建用户界面工具包提供的界面视图基础元素;
对所述界面视图基础元素进行语义化处理,以得到所述配置信息。
为解决上述技术问题,本申请提供的第二个技术方案为:提供一种终端设备,所述终端设备包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如上述的界面视图显示方法。
为解决上述技术问题,本申请提供的第三个技术方案为:提供一种计算机可读存储介质,所述程序被处理器执行时实现如上述的界面视图显示方法。
本申请的有益效果是:本申请的界面视图显示方法能够在获取到配置信息后,基于配置信息生成节点树,并进一步创建运行时树,同时结合用户提供的数据进行渲染展示界面视图。该方法无需预先内置界面视图的样式,提高了界面视图显示个性化方案的适用范围,进而简化了界面视图显示需求开发和维护的过程。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。其中:
图1是本申请提供的界面视图显示方法一实施例的流程示意图;
图2是步骤S11的具体实施步骤流程图;
图3是本申请提供的界面视图显示方法第一场景的流程示意图;
图4是本申请提供的界面视图显示方法第二场景的流程示意图;
图5是本申请提供的界面视图显示方法第三场景的流程示意图;
图6是本申请提供的界面视图显示方法第四场景的流程示意图;
图7是本申请提供的界面视图显示方法一工作流程示意图;
图8是本申请提供的终端设备一实施例的结构示意图;
图9是本申请提供的计算机可读存储介质的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的核心是提供一种界面视图显示方法,用以解决界面视图显示设计中由于预先内置样式而导致的需求开发以及维护越来越困难的问题。
下面结合附图和实施例对本申请进行详细的说明。
请参见图1,图1是本申请提供一种界面视图显示方法一实施例的流程示意图。其中,本申请实施例所述的界面视图显示方法应用于一种终端设备,其中,本申请的终端设备可以为服务器,也可以为由服务器和本地终端相互配合的系统。相应地,本申请的终端设备包括的各个部分,例如各个单元、子单元、模块、子模块可以全部设置于服务器中,也可以分别设置于服务器和本地终端中。
进一步地,上述服务器可以是硬件,也可以是软件。当服务器为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当服务器为软件时,可以实现成多个软件或软件模块,例如用来提供分布式服务器的软件或软件模块,也可以实现成单个软件或软件模块,在此不做具体限定。在一些可能的实现方式中,本申请实施例的界面视图显示方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
如图1所示,本申请实施例的界面视图显示方法的具体步骤如下:
步骤S11:获取配置信息,基于配置信息生成节点树。
在本申请实施例中,终端设备能够获取到界面视图的配置信息,并基于该配置信息生成节点树。其中,该配置信息包括但不限于界面视图的元素名称、属性、样式、数据绑定表达式以及事件分发表达式等,本申请实施例对此不作限制。
优选的,为了使终端设备能够获取到界面视图的配置信息,终端设备可获取构建用户界面工具包提供的界面视图基础元素,并将其预置到界面视图引擎内,以使界面视图引擎能够通过语义化描述工具对界面视图基础元素进行语义化处理,从而创建终端设备可识别的界面视图基础元素,进而使终端设备能够获取到其可识别的界面视图基础元素,也即配置信息。
需要说明的是,本申请对于构建用户界面工具包的类型不做限定,例如可以为Flutter、Hybrid、Weex、React Native等,本申请实施例以Flutter为例进行说明。
Flutter是Google开源的构建用户界面视图工具包,帮助开发者通过一套代码库高效构建多平台精美应用,能够支持移动、Web、桌面和嵌入式平台。因此,终端设备可选择Flutter进行提供界面视图基础元素,以实现多端渲染和引擎复用,减少多端差异。
本申请对于上述的语义化描述工具不做限定,例如可以是Json(JavaScriptObject Notation,JS对象简谱)、xml(Extensible Markup Language,可扩展置标语言)以及Protocol Buffers等,本申请以Json为例进行说明。界面视图引擎能够通过Json对Flutter提供的界面视图基础元素进行处理,进而创建包含终端设备可识别的界面视图基础元素的Json文件,以使终端设备能够通过解析该Json文件获取到对应的配置信息。
进一步的,终端设备能够基于上述配置信息生成节点树,具体请参阅图2,图2是步骤S11的具体实施步骤流程图。
步骤S111:从配置信息中获取第一节点描述信息。
在本申请实施中,终端设备可通过配置信息获取到第一节点的描述信息,也即根节点的描述信息。其中,该第一节点的描述信息包括但不限于第一节点的名称、类型、属性、样式、数据绑定表达式以及事件分发表达式等,本申请实施例对此不作限制。
步骤S112:基于第一节点描述信息中的第一节点语义名称确定第一节点类型。
在本申请实施中,终端设备可根据第一节点描述信息中包含的第一节点语义名称确定该第一节点的类型。其中,该类型包括但不限于布局类型和组件类型等,本申请实施例对此不作限制。
步骤S113:按照第一节点类型创建第一节点。
在本申请实施例中,终端设备在确定该第一节点的类型后,可按照该第一节点的类型创建该类型对应的第一节点。本申请以第一节点的类型为布局类型为例进行说明,终端设备在确定该第一节点的类型为布局类型后,可进一步的创建该布局类型对应的第一节点。
步骤S114:基于第一节点生成节点树。
在申请实施例中,终端设备在创建第一节点后,可基于该第一节点生成节点树,也即该节点树由多个第一节点构成。
优选的,在其他实施例中,终端设备创建第一节点完毕之后,还可以继续检测上述第一节点的描述信息中是否存在第二节点描述信息。
进一步的,终端设备可基于上述第二节点描述信息中的第二节点语义名称确定第二节点类型,并按照第二节点的类型创建第二节点。具体请参阅步骤S112以及步骤S113,这里不加以赘述。
由于上述第一节点和/或第二节点下可能存在子节点,因此,为了使节点树的创建更加完整,优选的,在本申请实施例中,终端设备还可以进一步判断该第一节点和/或第二节点下是否存在子节点;若存在,继续创建第三节点、第四节点等,直至所有节点的描述信息中均不存在子节点的描述信息。最终,终端设备基于上述第一节点、第二节点,以及第一节点与第二节点的父子节点关系创建节点树。
请继续参阅图3,图3是本申请提供的界面视图显示方法第一场景的流程示意图。在本申请实施例中,终端设备解析Json文件进而获取到配置信息,并基于该配置信息得到根节点的描述信息。终端设备基于该根节点的描述信息中包含的语义名称确定该根节点的类型为布局类型还是组件类型,并基于其类型创建该类型对应的节点。
此外,当终端设备基于上述配置信息读取根用户得到根节点的描述信息时,还可以进一步基于该根节点的描述信息中包含的语义名称确定其是否具有子节点。若有,则进一步基于该子节点的语义名称确定该子节点的类型为布局类型还是组件类型,并基于该子节点不同的类型创建该类型对应的节点,直至所有节点都创建完毕。
在本申请实施例中,终端设备可在获取到界面视图的配置信息后,基于该配置信息生成节点树,以用于后续创建运行时树,进而使用户数据与运行时树进行绑定。
步骤S12:基于节点树创建运行时树,将用户数据与运行时树进行绑定。
在本申请实施例中,终端设备可基于节点树创建运行时树,并创建运行时环境,进而将用户数据与运行时树进行绑定。
其中,本申请对于创建运行时树的具体实施步骤不做限定,只要能创建运行时树成功即可。
优选的,请参阅图4,图4是本申请提供的界面视图显示方法第二场景的流程示意图。其中,终端设备可检测上述节点树中每一个节点的元素数量,并按照每一个节点的元素数量将节点划分为多个运行时节点,最后基于该运行时节点创建运行时树。
具体请参阅图4和5,图5是本申请提供的界面视图显示方法第三场景的流程示意图。如图4和5所示,终端设备在创建节点树后,可以进一步的对节点树进行节点裂变操作,以实现运行时节点树的创建。
在本申请实施例中,通过节点裂变操作,节点树的一个节点会裂变成多个UI元素,终端设备能够按照每一个节点的元素数量将节点划分为多个运行时节点,最后基于该运行时节点创建运行时树。例如若节点树的某一节点裂变为两个元素,则终端设备会基于这两个元素生成对应的运行时树节点,进而生成运行时树。
优选的,终端设备还可以将节点树的节点类型进行分类,进而根据节点树节点的类型创建对应的运行时树节点。进一步的,终端设备还可使用v-for指令、v-if指令对该裂变后的节点进行遍历和渲染操作。
需要说明的是,v-if指令的作用是控制元素的显示与隐藏,v-if指令后面的变量或表达式为真时元素显示,否则元素隐藏。v-for指令的作用是可根据表达式的真假来添加或删除元素。
进一步的,终端设备在实现生成运行时树后,可将用户数据与运行时树进行绑定。如图5所示,终端设备可将用户提供的数据与运行时树绑定。其中,用户提供的数据包括但不下限于value值、style样式、ID(Identity document,身份识别号)等,本申请对此不加以限定。
需要说明的是,本申请对于上述用户数据与运行时树进行绑定的具体实施步骤不做限定,只要能实现绑定操作即可。
优选的,请参阅图6,图6是本申请提供的界面视图显示方法第四场景的流程示意图。如图6所示,终端设备在创建运行时树完毕后,可以使用数据绑定语法解析工具将用户数据按照预设规则生成抽象语法树。进而对抽象语法树执行深度优先遍历,依次执行抽象语法树中每一节点的操作,从而与运行时树进行绑定。其中,本申请对于预设规则不做限定,例如可以为四则运算、取值运算、三元运算等。
具体的,终端设备获取到$Root.num/2+$Root.name这一数据绑定表达式,通过四则运算,将$Root.num/2+$Root.name这一数据绑定表达式进行拆分,进而生成抽象语法树。其中$Root为读取用户输入的名为Root的数据。终端设备在获取到用户的数据后,选择将用户的数据对上述抽象语法树执行深度优先遍历,依次执行抽象语法树中每一节点的操作,从而与运行时树进行绑定。
需要说明的是,抽象语法树(AbstractSyntaxTree,AST),或简称语法树(Syntaxtree),是源代码语法结构的一种抽象表示。它以树状的形式表现编程语言的语法结构,树上的每个节点都表示源代码中的一种结构。之所以说语法是"抽象"的,是因为这里的语法并不会表示出真实语法中出现的每个细节。比如,嵌套括号被隐含在树的结构中,并没有以节点的形式呈现;而类似于if-condition-then这样的条件跳转语句,可以使用带有两个分支的节点来表示。
进一步的,本申请对上述数据绑定语法解析工具的类型不做限定,例如可以为antlr、APG、Coco/R、GOLD等,本申请实施例以antlr为例进行说明。
antlr是指可以根据输入自动生成语法树并可视化的显示出来的开源语法分析器,其前身是PCCTS,它为包括Java,C++,C#在内的语言提供了一个通过语法描述来自动构造自定义语言的识别器(recognizer),编译器(parser)和解释器(translator)的框架。antlr可以通过断言(Predicate)解决识别冲突,支持动作(Action)和返回值(ReturnValue),还可以根据输入自动生成语法树并可视化的显示出来。
步骤S13:按照运行时树中的每一个节点及其绑定的用户数据渲染界面视图元素,由多个界面视图元素生成界面视图。
在生成运行时树后,终端设备还可以按照运行时树中的每一个节点以及其绑定的用户数据对界面视图元素进行渲染,以实现由多个界面视图元素生成界面视图。
优选的,为了使终端设备能够对界面视图元素进行渲染,进而生成界面视图。在上述实施例的基础上,如图4以及图5所示,终端设备还可以基于运行时树生成界面展示树,以实现界面视图在终端设备上的显示。
具体的,终端设备能够对生成的运行时树的每个节点进行解析并与用户数据绑定,以将运行时树的每个节点转化为界面展示树节点,也即界面视图元素。进而由界面展示树节点生成界面展示树,实现界面视图在终端设备上的显示。
优选的,终端设备还可基于运行时树节点的类型分别进行解析,并生成该类型对应的界面展示节点,进而生成界面展示树。其中,运行时树节点的类型包括但不限于布局类型、组件类型等。
在其它实施例中,终端设备还能够基于行为事件分发信号更新用户数据,进而将更新后的用户数据与运行时树进行绑定,并按照运行时树中的每一个节点及其绑定的更新后的用户数据渲染更新生成的界面展示树节点,由多个界面展示树节点对原来的界面展示树进行刷新,也即对原来的界面视图进行刷新。
在上述实施例的基础上,终端设备在对界面视图元素进行渲染,并生成界面视图后,还可以进一步的对渲染的界面视图元素进行装饰处理,以生成装饰后的界面视图。
需要说明的是,本申请实施例的装饰处理可由用户自定义设置,例如可以为创建关联事件、元素数据调整的一个或多个。其中,创建关联事件即为将界面视图元素与关联事件绑定,用以实现界面视图元素向关联事件的跳转;元素数据调整包括但不限于透明度处理、亮度处理以及清晰度处理等,本申请实施例对此不加以限定。
请继续参阅图7,图7是本申请提供的界面视图显示方法一工作流程示意图。如图7所示,终端设备通过页面加载文件读取Json文件以获取到配置信息,并基于该配置信息生成节点树,进而生成运行时树。运行时树结合用户数据,按照运行时树中的每一个节点对界面视图元素进行渲染,以实现由多个界面视图元素生成界面视图。界面视图触发操作行为事件,终端设备分发到业务逻辑,并基于行为事件分发信号更新用户数据,用以将更新后的用户数据与运行时树进行绑定,实现渲染更新界面视图元素,进而由对原来的界面视图进行刷新。
本申请提供的界面视图显示方法,能够通过获取到配置信息后,基于配置信息生成节点树,并进一步创建运行时树,同时结合用户提供的数据进行渲染展示界面视图,无需预先内置界面视图的样式,同时该方法能够实现界面视图和逻辑分离,提高了界面视图显示个性化方案的适用范围,降低了界面视图定制的复杂度。
请继续参见图8,图8是本申请提供的终端设备一实施例的结构示意图。终端设备包括相互连接的存储器41和处理器42。
存储器41用于存储实现上述的界面视图显示方法。
处理器42用于执行存储器41存储的程序指令。
其中,处理器42还可以称为CPU(Central Processing Unit,中央处理单元)。处理器42可能是一种集成电路芯片,具有信令的处理能力。处理器42还可以是通用处理器、数字信令处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器41可以为内存条、TF卡等,可以存储终端设备中全部信息,包括输入的原始数据、计算机程序、中间运行结果和最终运行结果都保存在存储器中。它根据控制器指定的位置存入和取出信息。有了存储器,终端设备才有记忆功能,才能保证正常工作。终端设备的存储器按用途存储器可分为主存储器(内存)和辅助存储器(外存),也有分为外部存储器和内部存储器的分类方法。外存通常是磁性介质或光盘等,能长期保存信息。内存指主板上的存储部件,用来存放当前正在执行的数据和程序,但仅用于暂时存放程序和数据,关闭电源或断电,数据会丢失。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法和装置,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个终端设备,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,系统服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式方法的全部或部分步骤。
请参阅图9,为本申请提供的一种计算机可读存储介质的结构示意图。本申请的存储介质存储有能够实现上述所有界面视图显示方法的程序文件51,其中,该程序文件51可以以软件产品的形式存储在上述存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式方法的全部或部分步骤。而前述的存储装置包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质,或者是计算机、服务器、手机、平板等装置。
以上仅为本申请的实施方式,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (10)
1.一种界面视图显示方法,其特征在于,所述界面视图显示方法包括:
获取配置信息,基于所述配置信息生成节点树;
基于所述节点树创建运行时树,将用户数据与所述运行时树进行绑定;
按照所述运行时树中的每一个节点及其绑定的用户数据渲染界面视图元素,由多个界面视图元素生成所述界面视图。
2.根据权利要求1所述的界面视图显示方法,其特征在于,
所述基于所述配置信息生成节点树,包括:
从所述配置信息中获取第一节点描述信息;
基于所述第一节点描述信息中的第一节点语义名称确定第一节点类型;
按照所述第一节点类型创建第一节点;
基于所述第一节点生成所述节点树。
3.根据权利要求2所述的界面视图显示方法,其特征在于,
所述按照所述第一节点类型创建第一节点之后,所述界面视图显示方法还包括:
检测所述第一节点描述信息是否存在第二节点描述信息;
若是,基于所述第二节点描述信息中的第二节点语义名称确定第二节点类型;
按照所述第二节点类型创建第二节点;
基于所述第一节点、所述第二节点,以及所述第一节点与所述第二节点的父子节点关系创建所述节点树。
4.根据权利要求1所述的界面视图显示方法,其特征在于,
所述基于所述节点树创建运行时树,包括:
检测所述节点树中每一个节点的元素数量;
按照所述每一个节点的元素数量将节点划分为多个运行时节点;
基于所述运行时节点创建所述运行时树。
5.根据权利要求1或4所述的界面视图显示方法,其特征在于,
所述将用户数据与所述运行时树进行绑定,包括:
将所述用户数据按照预设规则生成抽象语法树;
对所述抽象语法树执行深度优先遍历,依次执行所述抽象语法树中每一节点的操作,从而与所述运行时树进行绑定。
6.根据权利要求5所述的界面视图显示方法,其特征在于,
所述界面视图显示方法,还包括:
基于行为事件分发信号更新所述用户数据后,将更新后的用户数据与所述运行时树进行绑定;
按照所述运行时树中的每一个节点及其绑定的更新后的用户数据渲染更新界面视图元素,由多个更新界面视图元素对原来的界面视图进行刷新。
7.根据权利要求1所述的界面视图显示方法,其特征在于,
所述按照所述运行时树中的每一个节点及其绑定的用户数据渲染界面视图元素之后,所述界面视图显示方法还包括:
对渲染的所述界面视图元素进行装饰处理;
其中,装饰处理至少包括以下其中一种操作:创建关联事件、元素数据调整。
8.根据权利要求1所述的界面视图显示方法,其特征在于,
所述获取配置信息,包括:
获取构建用户界面工具包提供的界面视图基础元素;
对所述界面视图基础元素进行语义化处理,以得到所述配置信息。
9.一种终端设备,其特征在于,所述终端设备包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如权利要求1至8任一项所述的界面视图显示方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现权利要求1-8中任一所述的界面视图显示方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210094310.9A CN114489619A (zh) | 2022-01-26 | 2022-01-26 | 一种界面视图显示方法及终端设备、计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210094310.9A CN114489619A (zh) | 2022-01-26 | 2022-01-26 | 一种界面视图显示方法及终端设备、计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114489619A true CN114489619A (zh) | 2022-05-13 |
Family
ID=81476122
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210094310.9A Pending CN114489619A (zh) | 2022-01-26 | 2022-01-26 | 一种界面视图显示方法及终端设备、计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114489619A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114706571A (zh) * | 2022-06-02 | 2022-07-05 | 杭州比智科技有限公司 | 一种基于dsl的声明式可视化图表开发方法及系统 |
-
2022
- 2022-01-26 CN CN202210094310.9A patent/CN114489619A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114706571A (zh) * | 2022-06-02 | 2022-07-05 | 杭州比智科技有限公司 | 一种基于dsl的声明式可视化图表开发方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110806863A (zh) | 接口文档生成方法及装置、电子设备、存储介质 | |
CN109597661B (zh) | 一种业务功能配置方法及装置 | |
CN110825362A (zh) | 低代码应用软件开发系统及方法 | |
KR101331260B1 (ko) | 메타데이터를 이용하여 사용자 인터페이스를 렌더링하기위한 장치, 사용자 인터페이스를 생성하는 방법, 및 컴퓨터판독 가능 매체 | |
AU2012203071B2 (en) | Computer-implemented method, system and computer program product for displaying a user interface component | |
TWI394051B (zh) | 網頁呈現優先次序機制 | |
KR20050039551A (ko) | 컴퓨터 플랫폼용 프로그래밍 인터페이스 | |
CN110727429B (zh) | 一种前端页面的生成方法、装置及设备 | |
CN111880813B (zh) | 实现安卓卡片ui的方法、存储介质 | |
CA3142770A1 (en) | Component linkage configuration method, device, computer equipment and storage medium | |
CN112685025A (zh) | 快速搭建前端页面的方法及系统 | |
CN115080016A (zh) | 基于ue编辑器的扩展功能实现方法、装置、设备及介质 | |
CN112799670B (zh) | 一种统一多端逻辑开发的方法及系统 | |
CN114489619A (zh) | 一种界面视图显示方法及终端设备、计算机可读存储介质 | |
CN112783494A (zh) | 一种骨架屏自动生成方法、应用程序页面更新方法及装置 | |
CN110312990A (zh) | 配置方法及系统 | |
CN114911541A (zh) | 配置信息的处理方法、装置、电子设备及存储介质 | |
CN115994517A (zh) | 信息处理方法、装置、存储介质、设备及程序产品 | |
CN115469881A (zh) | 一种低代码平台业务功能的配置发布与调用方法及系统 | |
CN114637937A (zh) | 页面显示方法、装置、电子设备及计算机可读存储介质 | |
CN112988136B (zh) | 一种用户界面编辑方法及装置 | |
CN112486378A (zh) | 图形生成方法、装置、终端及存储介质 | |
Sunderaraman | Practical Ext JS 4 | |
RU2799988C2 (ru) | Система и способ динамической визуализации элементов программного обеспечения | |
CN111694723B (zh) | 产品在h5下运行时对节点及组件编辑的方法、存储介质 |
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 |