一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种动态生成视图组件的方法及装置与流程

2021-11-15 17:37:00 来源:中国专利 TAG:
1.本发明涉及web前端
技术领域
:,尤其涉及一种动态生成视图组件的方法及装置。
背景技术
::2.随着internet的快速发展,信息技术化的要求,企业需要具有快速开发能力的零代码平台来进行迅速的、高效的数字化转型,一个高效的零代码平台通常采用无代码开发,通过拖拽组件方式进行表单设计,普遍存在一个实现难点是大量内置组件的属性配置繁多,公共属性,特殊业务属性,相同属性但不同交互方式,需要实现大量视图组件和业务逻辑,在开发和后续维护问题上都有很大的成本损耗,不能满足现代企业多变的需求。3.目前开发零代码平台组件构建的常用方案是通过开发者实现一个个独立的组件视图去构建零代码平台的标准组件,每个组件都是数据和业务逻辑独立的模块,组件的属性配置,业务交互都强耦合,这种实现方式不能满足组件库快速更新以及灵活多变的各个属性配置的业务变更场景,每次新增组件都是全新开发,每次修改调整都需要独立去修改所有相关组件。4.然而,现有技术实现配置视图组件的方式是通过独立开发出每个组件的内容去实现的,组件的共性部分不能被很好的利用,而常规的模块封装方式又不能很好的使用业务变更部分的动态修改,导致重复工作量大,零代码平台在接入不同行业需要快速提供不同的业务组件以及在处理每个企业个性化需求的时候对组件高效开发快速迭代的诉求无法满足。技术实现要素:5.本发明目的在于,提供一种动态生成视图组件的方法,以解决组件开发效率低的问题。6.为实现上述目的,本发明提供一种动态生成视图组件的方法,包括:7.解析预设的描述文本,获取组件属性描述协议数组;8.遍历所述组件属性描述协议数组中的数组元素,根据最小粒度ui模块加载器加载对应所述数组元素的ui模块,将所述数组元素传入所述ui模块进行处理,获取组件信息对象;9.根据组件加载渲染器将所述组件信息对象加载出可视化视图。10.优选地,所述解析预设的描述文本,获取组件属性描述协议数组,包括:11.根据预设的业务组件清单,搭建快速拍照组件;12.根据预设的构造器引擎解析所述快速拍照组件中的一级属性名,获取组件属性描述协议数组。13.优选地,所述遍历所述组件属性描述协议数组中的数组元素,根据最小粒度ui模块加载器加载对应所述数组元素的ui模块,将所述数组元素传入所述ui模块进行处理,获取组件信息对象,包括:14.根据监测所述数组元素的一级属性名,更新组件协议对象的同名属性值,并加载所述数组元素中其他属性的逻辑处理模块。15.优选地,所述加载所述数组元素中其他属性的逻辑处理模块,包括:16.加载所述逻辑处理模块确定是否存在属性描述文本,若存在则进一步判断所述属性是否隐藏,若不隐藏则显示所述属性配置,解析属性配置的钩子函数,获取组件信息对象。17.本发明还提供一种动态生成视图组件的装置,包括:18.第一获取模块,用于解析预设的描述文本,获取组件属性描述协议数组;19.第二获取模块,用于遍历所述组件属性描述协议数组中的数组元素,根据最小粒度ui模块加载器加载对应所述数组元素的ui模块,将所述数组元素传入所述ui模块进行处理,获取组件信息对象;20.生成模块,用于根据组件加载渲染器将所述组件信息对象加载出可视化视图。21.优选地,所述第一获取模块,还用于:22.根据预设的业务组件清单,搭建快速拍照组件;23.根据预设的构造器引擎解析所述快速拍照组件中的一级属性名,获取组件属性描述协议数组。24.优选地,所述第二获取模块,还用于:25.根据监测所述数组元素的一级属性名,更新组件协议对象的同名属性值,并加载所述数组元素中其他属性的逻辑处理模块。26.优选地,所述生成模块,还用于:27.加载所述逻辑处理模块确定是否存在属性描述文本,若存在则进一步判断所述属性是否隐藏,若不隐藏则显示所述属性配置,解析属性配置的钩子函数,获取组件信息对象。28.本发明还提供一种计算机终端设备,包括一个或多个处理器和存储器。存储器与所述处理器耦接,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述任一实施例所述的动态生成视图组件的方法。29.本发明还提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如上述任一实施例所述的动态生成视图组件的方法。30.本发明解析预设的描述文本,获取组件属性描述协议数组,遍历组件属性描述协议数组中的数组元素,根据最小粒度ui模块加载器加载对应所述数组元素的ui模块,将数组元素传入ui模块进行处理,获取组件信息对象,根据组件加载渲染器将所述组件信息对象加载出可视化视图,提高构建组件的效率。附图说明31.为了更清楚地说明本发明的技术方案,下面将对实施方式中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。32.图1是本发明某一实施例提供的动态生成视图组件的方法的流程示意图;33.图2是本发明某一实施例提供的动态生成视图组件的装置的结构示意图。具体实施方式34.下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。35.应当理解,文中所使用的步骤编号仅是为了方便描述,不作为对步骤执行先后顺序的限定。36.应当理解,在本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。37.术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。38.术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。39.请参阅图1,本发明提供一种动态生成视图组件的方法,包括:40.s101、解析预设的描述文本,获取组件属性描述协议数组。41.具体的,定义描述文本(controldesc),描述文本的伪代码结构,如下:[0042][0043][0044]定义当前要快速搭建的业务组件清单(componentlist=[]),在业务组件清单的内部定义一个业务组件名:快速拍照组件fashphoto,为快速拍照组件(fashphoto)选择合适的碎片协议,组装为完整的描述协议fashphotoprotocolfashphotoprotocol:controldesc.ctrlattr={code,title,readonly,//依据需求,使用任意多个碎片化配置属性协议组合}。属性构造器遍历业务组件清单(componentlist),依赖遍历出的组件名称作为关键值(controlkey)来查找组件的完整描述协议,放入属性构造器引擎rendercontrolattr。属性构造器引擎rendercontrolattr解析fashphotoprotocol内部每个一级属性名(key),提取一级属性名描述协议组合为组件属性描述协议数组(attrs)。[0045]s102、遍历所述组件属性描述协议数组中的数组元素,根据最小粒度ui模块加载器加载对应所述数组元素的ui模块,将所述数组元素传入所述ui模块进行处理,获取组件信息对象。[0046]具体的,根据监测数组元素的一级属性名,更新组件协议对象的同名属性值,并加载数组元素中其他属性的逻辑处理模块。[0047]遍历组件属性描述协议数组(attrs),对每个数组元素(attr),检查attr.type的值,通过最小粒度ui模块加载器loadcomponents加载对应attr.type类型的ui模块,把attr作为数据传入ui模块,每个最小粒度ui模块内部监测attr的一级属性名key,通过getter/setter监测赋值,取值钩子状态用于更新组件协议对象(protocol)内同名属性值,并加载attr的其他属性的逻辑处理模块。[0048]逻辑模块一:attr.label作为属性描述文本,该值存在则渲染出属性描述文本。[0049]逻辑模块二:attr.ishid判断该属性是否隐藏,该值为faluse,即不显示该属性作为配置。[0050]逻辑模块三:attr.initfn作为首次渲染执行的钩子方法,参数为组件协议对象(protocol),组件属性描述协议数组(attrs),initfn具体内容在描述文本fashphotoprotocol中定义,比如,通过editable内initfn定义,如果editable初始值就是true(即可编辑状态),该组件的必填属性(required)的ishide值设置为editable的相反值(即设置ishide=false),组件的必填属性(required)将会隐藏不提供配置,各个钩子函数的作用是针对一些特殊业务进行精准控制。[0051]逻辑模块四:attr.onvaluechangefn作为ui模块内部值改变执行的钩子方法(与initfn钩子方法相同提供特殊业务的精准控制,只是触发时机不同)。[0052]逻辑模块五:attr.index控制属性展示顺序。[0053]其他描述协议属性可以自由定义逻辑处理模块,从而抽象出不同业务控制能力的描述文本。重复以上处理的过程,直到处理所有attr内容,得到完整的组件信息对象(fashphotoprotocolobj)。[0054]s103、根据组件加载渲染器将所述组件信息对象加载出可视化视图。[0055]具体的,将组件信息对象(fashphotoprotocolobj)提供给组件加载器进行视图渲染为用户可见视图。[0056]本发明通过处理描述文本来加载小粒度的ui模块自由组合完整的组件视图模块,这样不依赖于强耦合的业务方法方式,只要基于相同描述文本就可以复用同样的处理逻辑,同时钩子函数还能支持差异化定义,开发的难度和成本都大幅度减低,满足了企业对零代码平台用较低成本去进行组件创建和快速迭代的诉求,提高组件构造的效率,为企业带来更大优势。[0057]请参阅图2,本发明提供一种动态生成视图组件的装置,包括:[0058]第一获取模块11,用于解析预设的描述文本,获取组件属性描述协议数组。[0059]第二获取模块12,用于遍历所述组件属性描述协议数组中的数组元素,根据最小粒度ui模块加载器加载对应所述数组元素的ui模块,将所述数组元素传入所述ui模块进行处理,获取组件信息对象。[0060]生成模块13,用于根据组件加载渲染器将所述组件信息对象加载出可视化视图。[0061]关于动态生成视图组件的装置的具体限定可以参见上文中对于的限定,在此不再赘述。上述动态生成视图组件的装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。[0062]本发明提供一种计算机终端设备,包括一个或多个处理器和存储器。存储器与所述处理器耦接,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述任意一个实施例中的动态生成视图组件的方法。[0063]处理器用于控制该计算机终端设备的整体操作,以完成上述的动态生成视图组件的方法的全部或部分步骤。存储器用于存储各种类型的数据以支持在该计算机终端设备的操作,这些数据例如可以包括用于在该计算机终端设备上操作的任何应用程序或方法的指令,以及应用程序相关的数据。该存储器可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(staticrandomaccessmemory,简称sram),电可擦除可编程只读存储器(electricallyerasableprogrammableread‑onlymemory,简称eeprom),可擦除可编程只读存储器(erasableprogrammableread‑onlymemory,简称eprom),可编程只读存储器(programmableread‑onlymemory,简称prom),只读存储器(read‑onlymemory,简称rom),磁存储器,快闪存储器,磁盘或光盘。[0064]在一示例性实施例中,计算机终端设备可以被一个或多个应用专用集成电路(applicationspecific1ntegratedcircuit,简称as1c)、数字信号处理器(digitalsignalprocessor,简称dsp)、数字信号处理设备(digitalsignalprocessingdevice,简称dspd)、可编程逻辑器件(programmablelogicdevice,简称pld)、现场可编程门阵列(fieldprogrammablegatearray,简称fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的动态生成视图组件的方法,并达到如上述方法一致的技术效果。[0065]在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述任意一个实施例中的动态生成视图组件的方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器,上述程序指令可由计算机终端设备的处理器执行以完成上述的动态生成视图组件的方法,并达到如上述方法一致的技术效果。[0066]以上所述是本发明的优选实施方式,应当指出,对于本
技术领域
:的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。当前第1页12当前第1页12
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献