[发明专利]基于DSL布局引擎的动态表单生成方法在审
申请号: | 202011232987.1 | 申请日: | 2020-11-06 |
公开(公告)号: | CN112199626A | 公开(公告)日: | 2021-01-08 |
发明(设计)人: | 吴志雄;洪乐兴;林磊 | 申请(专利权)人: | 南威软件股份有限公司;福建南威软件有限公司 |
主分类号: | G06F16/958 | 分类号: | G06F16/958 |
代理公司: | 福州元创专利商标代理有限公司 35100 | 代理人: | 丘鸿超;蔡学俊 |
地址: | 362000 福建省*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 dsl 布局 引擎 动态 表单 生成 方法 | ||
本发明提出一种基于DSL布局引擎的动态表单生成方法,包括以下步骤:步骤S1:为每个组件定义组件元数据,所述组件元数据包括渲染组件所需要的所有属性;步骤S2:由所有组件元数据的集合构成表单元数据;所述表单元数据为可被持久化,保存至数据库中的结构化数据;步骤S3:通过数据解析渲染引擎将表单元数据转化为HTML表单。其运用DSL动态布局引擎,可高效的配置生成样式统一的表单,节省了很大一部分开发时间与经费,对于庞大的政务生态系统非常适用。
技术领域
本发明涉及信息科学、大数据处理、互联网技术领域,尤其涉及一种基于DSL布局引擎的动态表单生成方法,以及基于JSX在VUE前端框架上根据元数据动态渲染表单的解决方案。
背景技术
目前,公知的主流表单渲染方案是研发原生的HTML5页面,加上javascript脚本与css样式的控制,或使用当下主流的前端技术框架(例如Bootstrap、Angular、Backbone、React),研发得到一个可见可用的表单。这样的开发过程费时费力,有很大一部分的工作量属于机械劳动,并且两个或以上团队开发的表单样式极可能不一致,对于集成一套完整的政务生态系统,效果不是很理想。
发明内容
为了解决现有技术存在的缺陷和不足的问题,为了解决目前研发政务表单效率不高,样式不统一的现状,本发明提出一种基于DSL布局引擎的动态表单生成方法,其提供了一种可动态渲染表单的布局引擎,该引擎实现将表单内元素数据化、组件化,根据给定的JSON数据集合有序的渲染表单,基于此引擎,还可支持一些简单的计算、逻辑校验、外部接口数据获取和多终端数据同步。该方案的核心在于如何定义元数据和如何去循环遍历渲染表单组件。
具体采用以下技术方案:
一种基于DSL布局引擎的动态表单生成方法,其特征在于,包括以下步骤:
步骤S1:为每个组件定义组件元数据,所述组件元数据包括渲染组件所需要的所有属性;
步骤S2:由所有组件元数据的集合构成表单元数据;所述表单元数据为可被持久化,保存至数据库中的结构化数据;
步骤S3:通过数据解析渲染引擎将表单元数据转化为HTML表单。
优选地,还包括步骤S4:将HTML表单经过三端CSS样式的适配,得到可供多终端填报的定制表单。
优选地,步骤S3具体包括以下过程:
步骤S31:从配置好的组件元数据集合中,读取约定好的固定字段,循环遍历Dom字典,遍历所有设计数据;
步骤S32:用字符串匹配去判断每个节点的key与值,指引Dom去匹配相关组件模块的代码,匹配出input就创建单行文本,匹配出image就创建文件附件。
优选地,当匹配到的是带有子节点的组件时,相同于步骤S31和步骤S32的操作,循环遍历子节点,再读取约定好的固定字段,再匹配到对应模块的子组件,最后渲染得到带子节点的组件。
优选地,所述三端CSS样式包括:标准样式、WEB样式和APP样式。
优选地,所述渲染组件所需要的所有属性包括:组件标题、组件类型、组件编码、是否必填、默认值、描述、排列方式、是否隐藏、是否可编辑、是否联动、联动规则、扩展属性、填报值、是否子表单、子表单ID。
优选地,所述组件元数据为JSON格式。
本发明及其优选方案运用DSL动态布局引擎,可高效的配置生成样式统一的表单,节省了很大一部分开发时间与经费,对于庞大的政务生态系统非常适用。
附图说明
下面结合附图和具体实施方式对本发明进一步详细的说明:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南威软件股份有限公司;福建南威软件有限公司,未经南威软件股份有限公司;福建南威软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011232987.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种分隔组件的定位放置结构
- 下一篇:灰砂砖吊运用搬移器