CN113741898A - 表单生成方法、装置及设备 - Google Patents
表单生成方法、装置及设备 Download PDFInfo
- Publication number
- CN113741898A CN113741898A CN202111310587.2A CN202111310587A CN113741898A CN 113741898 A CN113741898 A CN 113741898A CN 202111310587 A CN202111310587 A CN 202111310587A CN 113741898 A CN113741898 A CN 113741898A
- Authority
- CN
- China
- Prior art keywords
- component
- attribute
- data
- rendering
- form generation
- 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
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/38—Creation or generation of source code for implementing user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/42—Syntactic analysis
- G06F8/427—Parsing
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种表单生成方法、装置及设备,属于计算机技术领域。本发明通过在接收到表单配置请求时,获取待配置表单的组件数据;调用预设解析函数,基于所述预设解析函数将所述组件数据进行解析,得到组件属性;基于所述组件属性对组件进行渲染,以使所述组件在页面进行显示;根据所述组件在页面的显示结果生成表单;通过预设解析函数对表单组件进行解析得到组件属性,根据组件属性对组件进行渲染,在页面进行显示,根据显示结果生成表单,生成表单周期短,效率高。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种表单生成方法、装置及设备。
背景技术
表单是一个用于查看和/或输入数据的窗口、对话框以及页面,表单在网页中主要负责数据采集功能,在计算机互联网飞速发展的今天,表单成为人们生活中越来越重要的部分。
在传统的前端表单开发中,一般是通过人工书写代码的方式将各个类型的表单组合在一起,然后统一进行格式验证,存在效率低下,开发测试时间周期长等问题。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供一种表单生成方法、装置及设备,旨在解决现有技术表单生成效率低的技术问题。
为实现上述目的,本发明提供了一种表单生成方法,所述方法包括以下步骤:
在接收到表单配置请求时,获取待配置表单的组件数据;
调用预设解析函数,基于所述预设解析函数将所述组件数据进行解析,得到组件属性;
基于所述组件属性对组件进行渲染,以使所述组件在页面进行显示;
根据所述组件在页面的显示结果生成表单。
可选地,所述基于所述组件属性对组件进行渲染,包括:
在所述组件属性为样式属性时,根据所述样式属性确定样式类型;
在所述样式类型为类的元素类名时,将所述元素类名设置到所述组件上,完成组件渲染;
在所述样式类型为自定义类型时,创建类型属性,根据所述类型属性完成组件渲染。
可选地,所述基于所述组件属性对组件进行渲染,包括:
在所述组件属性为布局属性时,获取组件的标识信息;
根据所述标识信息遍历dom元素数据,得到所述组件的位置关系,其中,所述dom元素数据包括位于dom文档上的层级结构;
根据所述位置关系完成组件渲染。
可选地,所述基于所述组件属性对组件进行渲染,包括:
在所述组件属性为校验格式属性时,获取校验函数;
在所述校验函数为预设校验函数时,根据所述预设校验函数完成组件渲染;
在所述校验函数为自定义校验函数时,基于所述自定义校验函数完成组件渲染。
可选地,所述基于所述组件属性对组件进行渲染,包括:
基于组件设置与所述组件对应的Mock数据,将所述组件与所述组件对应的Mock数据存储于映射关系表中;
在所述组件属性为Mock数据属性时,获取组件的名称;
基于所述名称查询所述映射关系表,得到与所述组件对应的Mock数据;基于所述Mock数据完成组件渲染。
可选地,所述根据所述组件在页面的显示结果生成表单之后,还包括:
在接收到用户的表单更新指令时,基于预设接口获取用户的更新数据;
根据所述更新数据获取更新的组件属性;
对所述更新的组件属性进行渲染,根据渲染结果得到更新的表单。
可选地,所述在接收到用户的表单更新指令时,基于预设接口获取用户的更新数据之后,还包括:
获取所述用户的每一次操作数据,并存储至全局栈中;
在接收到所述用户的撤回指令时,读取所述全局栈中最新的操作数据,将所述最新的操作数据作为当前操作数据。
可选地,所述获取待配置表单的组件数据之后,还包括:
获取所述组件数据的编辑状态;
在所述组件数据的编辑状态为可编辑时,执行所述调用预设解析函数,基于所述预设解析函数将所述组件数据进行解析,得到组件属性的步骤。
此外,为实现上述目的,本发明还提出一种表单生成装置,所述表单生成装置包括:
获取模块,用于在接收到表单配置请求时,获取待配置表单的组件数据;
解析模块,用于调用预设解析函数,基于所述预设解析函数将所述组件数据进行解析,得到组件属性;
渲染模块,用于基于所述组件属性对组件进行渲染,以使所述组件在页面进行显示;
生成模块,用于根据所述组件在页面的显示结果生成表单。
此外,为实现上述目的,本发明还提出一种表单生成设备,所述表单生成设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的表单生成程序,所述表单生成程序配置为实现如上文所述的表单生成方法的步骤。
本发明通过在接收到表单配置请求时,获取待配置表单的组件数据;调用预设解析函数,基于所述预设解析函数将所述组件数据进行解析,得到组件属性;基于所述组件属性对组件进行渲染,以使所述组件在页面进行显示;根据所述组件在页面的显示结果生成表单;通过预设解析函数对表单组件进行解析得到组件属性,根据组件属性对组件进行渲染,在页面进行显示,根据显示结果生成表单,生成表单周期短,效率高。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的表单生成设备的结构示意图;
图2为本发明表单生成方法第一实施例的流程示意图;
图3为本表单生成方法第一实施例的表单设计平台页面架构图;
图4本表单生成方法第一实施例的表单组成部分结构图;
图5为本发明表单生成方法第二实施例的流程示意图;
图6为本发明表单生成方法第三实施例的流程示意图;
图7为本发明表单生成方法第四实施例的流程示意图;
图8为本发明表单生成方法的组件解析以及渲染示意图;
图9为本发明表单生成方法第四实施例的组件属性渲染示意图;
图10为本发明表单生成方法第五实施例的流程示意图;
图11为本发明表单生成装置第一实施例的结构框图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的表单生成设备结构示意图。
如图1所示,该表单生成设备可以包括:处理器1001,例如中央处理器(CentralProcessing Unit,CPU),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(Wireless-Fidelity,Wi-Fi)接口)。存储器1005可以是高速的随机存取存储器(RandomAccess Memory,RAM)存储器,也可以是稳定的非易失性存储器(Non-Volatile Memory,NVM),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的结构并不构成对表单生成设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及表单生成程序。
在图1所示的表单生成设备中,网络接口1004主要用于与网络服务器进行数据通信;用户接口1003主要用于与用户进行数据交互;本发明表单生成设备中的处理器1001、存储器1005可以设置在表单生成设备中,所述表单生成设备通过处理器1001调用存储器1005中存储的表单生成程序,并执行本发明实施例提供的表单生成方法。
本发明实施例提供了一种表单生成方法,参照图2,图2为本发明一种表单生成方法第一实施例的流程示意图。
本实施例中,所述表单生成方法包括以下步骤:
步骤S10:在接收到表单配置请求时,获取待配置表单的组件数据。
需要说明的是,本实施例的执行主体可为后台服务器,也可为其他可实现表单生成方法的设备,本实施例对此不作限制。
在具体实施中,如图3所示,图3为本实施例中表单设计平台页面架构图。用户通过表单设计平台页面进行表单配置的选择,即通过表单设计平台的前端页面发送表单配置的请求至后台服务器,在后台服务器接收到用户的表单配置请求时,根据用户的表单配置请求查询预设组件库,获取待配置的表单的组件数据。预设组件库可为工作人员提前设置,包括组件的compontents(组成部分)信息以及HOC(高阶组件)等数据。预设组件库可根据用户的表单配置请求进行实时更新,当用户的表单配置请求中的组件数据不在预设组件库中,可进行反馈,后台工作人员将预设组件库进行更新。
应理解的是,组件数据指的是根据用户的表单配置请求提取的相关组件的信息,如图4所示,图4为本实施例中表单组件的组成部分结构图,组件包括index属性、action行为属性以及setting设置属性;其中index属性包括组件的基础功能以及组件入口,action行为属性包括组件的布局行为以及样式控制行为,setting设置属性包括内容格式校验。还可包括其他组成部分,本实施例对此不作限制。
进一步地,由于每个组件都需要能够进行拖拽,则在获取到组件数据后,步骤S10之后还包括:获取所述组件数据的编辑状态;在所述组件数据的编辑状态为可编辑时,执行所述调用预设解析函数,基于所述预设解析函数将所述组件数据进行解析,得到组件属性的步骤。
需要说明的是,在组件的状态为可编辑状态时,可对组件进行解析,得到组件的属性,组件的可编辑状态可通过将组件拖拽脱离出一个能力,应用于各个组件上,这样组件就能够接入各种能力,实现可编辑的功能。
步骤S20:调用预设解析函数,基于所述预设解析函数将所述组件数据进行解析,得到组件属性。
在具体实施中,预设解析函数包括parseComponents解析函数,可通过此解析函数对组件进行解析,组件属性可包括组件的布局属性、样式属性、校验格式属性、布局属性、mock属性以及自定义属性等,本实施例对此不加以限定。
应理解的是,当后台服务器根据预设组件库得到组件数据后,将组件数据发送至解析器进行解析,当解析器获取到组件后,将组件的布局属性、样式属性、校验格式属性以及自定义属性读取解析,得到组件属性,在解析器解析得到组件的属性后,会将解析后的组件属性转换为对应的渲染器所需要的格式,便于组件属性进行渲染。
步骤S30:基于所述组件属性对组件进行渲染,以使所述组件在页面进行显示。
在具体实施中,通过解析器对组件进行解析得到组件属性,后台服务器将组件属性传递给渲染器进行渲染,将组件属性专户为能够在终端页面进行显示的元素。终端页面可包括电脑、平板等可以进行显示的页面设备。
步骤S40:根据所述组件在页面的显示结果生成表单。
需要说明的是,在渲染器将组件属性进行渲染之后,渲染后的组件便可在浏览器页面进行显示生成的表单应用,可满足用户的表单配置需求。
在具体实施中,表单生成的步骤为可视化,用户可通过可视化操作快速地获取到需要生成的表单应用,操作简单。
本实施例通过在接收到表单配置请求时,获取待配置表单的组件数据;调用预设解析函数,基于所述预设解析函数将所述组件数据进行解析,得到组件属性;基于所述组件属性对组件进行渲染,以使所述组件在页面进行显示;根据所述组件在页面的显示结果生成表单;通过预设解析函数对表单组件进行解析得到组件属性,根据组件属性对组件进行渲染,在页面进行显示,根据显示结果生成表单,生成表单周期短,效率高。
参考图5,图5为本发明表单生成方法第二实施例的流程示意图。
基于上述第一实施例,本实施例表单生成方法所述步骤S30,具体包括:
步骤S301:在所述组件属性为样式属性时,根据所述样式属性确定样式类型。
应理解的是,组件的样式属性类型可包括类的元素名样式属性以及自定义样式属性,渲染器读取组件的属性,在读取到组件的属性为样式属性后,可进一步确定样式属性的样式类型。
步骤S302:在所述样式类型为类的元素类名时,将所述元素类名设置到所述组件上,完成组件渲染。
需要说明的是,类的元素类名可为class类名,在读取到组件的样式属性类型为class类名时,组件的渲染可包括:将class类名的样式属性直接设置到组件上,完成此次组件的样式属性渲染。
步骤S303:在所述样式类型为自定义类型时,创建类型属性,根据所述类型属性完成组件渲染。
应理解的是,自定义类型可为用户自行设置的样式属性,自定义的样式属性可包括:背景、字体等,本实施例对此不作限制。在读取到组件的样式属性为用户自定义类型时,则创建一个style,即自定义类型属性,并将用户自定义的样式属性设置到组件上,完成组件的样式属性渲染。
本实施例通过在所述组件属性为样式属性时,根据所述样式属性确定样式类型;在所述样式类型为类的元素类名时,将所述元素类名设置到所述组件上,完成组件渲染;在所述样式类型为自定义类型时,创建类型属性,根据所述类型属性完成组件渲染;通过识别组件的属性,在组件属性为样式属性时,根据组件的不同类型完成不同的组件样式属性的渲染,组件的样式类型可根据默认的浏览器样式类型进行渲染,也可以根据用户自定义设置的样式类型进行渲染,满足用户不同的组件样式显示需求。
参考图6,图6为本发明表单生成方法第三实施例的流程示意图。
基于第一实施例或第二实施例提出本发明表单生成方法第三实施例,在本实施例中,基于第一实施例进行说明,所述步骤S30,具体包括:
步骤304:在所述组件属性为布局属性时,获取组件的标识信息。
在具体实施中,布局属性在本实施例中不是样式上的布局,而是位于整个dom文档(文档对象类型)上的层级结构。在获取到组件的属性为布局属性时,需要根据组件的标识信息查找组件在dom文档上的位置,组件的标识信息可包括:pid或者cid,通过此表示信息进行遍历。
步骤305:根据所述标识信息遍历dom元素数据,得到所述组件的位置关系,其中,所述dom元素数据包括位于dom文档上的层级结构。
应理解的是,通过标识信息对dom元素数据进行遍历,找到组件的对应的位置关系,dom元素数据包括位于dom文档上的层级结构,可通过组件的上下级关系找到组件的父组件或者子组件,并根据对应的位置关系可获取组件的布局属性需要布局的位置。
步骤306:根据所述位置关系完成组件渲染。
在本实施例中,根据组件的位置关系对组件进行布局,完成此次组件的布局属性的渲染。
本实施例通过在所述组件属性为布局属性时,获取组件的标识信息;根据所述标识信息遍历dom元素数据,得到所述组件的位置关系,其中,所述dom元素数据包括位于dom文档上的层级结构;根据所述位置关系完成组件渲染;在识别到组件的属性为布局属性时,根据组件的标识信息查找组件的位置关系,得到组件的布局并完成组件渲染,可快速获取到组件的位置关系快速完成组件渲染。
参考图7,图7为本发明表单生成方法第四实施例的流程示意图。
基于第一实施例、第二实施例或第三实施例,提出本发明表单生成方法第四实施例,在本实施例中,基于第一实施例进行说明,所述步骤S30,具体包括:
步骤S307:在所述组件属性为校验格式属性时,获取校验函数。
需要说明的是,校验格式属性为校验用户输入的内容,例如判断用户输入的内容是否为邮箱、身份证号码等信息。在识别到组件属性为校验格式属性时,可通过布局校验函数对此校验格式属性进行校验。
步骤S308:在所述校验函数为预设校验函数时,根据所述预设校验函数完成组件渲染。
应理解的是,预设校验函数为渲染器中内置的常用的校验格式函数,可通过查询对应的函数名称,在获取到函数名称时,查询映射关系的函数表,此映射关系的函数表中有函数名称和函数内容之间的关系,通过函数名称可获取对应的函数内容,并将此函数内容设置到对应的组件上,完成组件渲染。
步骤S309:在所述校验函数为自定义校验函数时,基于所述自定义校验函数完成组件渲染。
在具体实施中,校验函数还可根据用户的需求自行设置,在获取到校验函数为自定义函数时,将自定义的校验函数内容布局到对应的组件上,完成组件渲染。
进一步地,由于后台服务器中内置了每个组件的mock模拟数据,在组件的属性为mock属性时,可通过布局mock数据对组件进行渲染。具体地,所述步骤S30包括:基于组件设置与所述组件对应的Mock数据,将所述组件与所述组件对应的Mock数据存储于映射关系表中;在所述组件属性为Mock数据属性时,获取组件的名称;基于所述名称查询所述映射关系表,得到与所述组件对应的Mock数据;基于所述Mock数据完成组件渲染。
应理解的是,后台服务器可根据每个组件设置与之对应的mock数据,即mock.js,并将mock.js和组件的对应关系存储至映射关系表中,当渲染器获取到组件的属性为mock属性时,获取组件的名称,基于组件的名称查询映射关系表,并根据映射关系表得到与组件对应的mock.js,并将此mock数据填充至对应的位置中,完成组件的渲染。
如图8所示,图8为本发明的组件解析以及渲染示意图,通过解析层的解析器解析组件的属性,并将组件的属性传递至处理层进行布局,设置为渲染器可进行渲染的格式,将布局后的组件属性发送至渲染层进行渲染并在浏览器进行显示,完成表单的生成。
需要说明的是,组件的属性还包括UI(User Interface,用户界面)属性,当渲染器获取到组件的属性为UI属性时,可获取全局的主题颜色,循环遍历整个dom元素数据,并传递新的样式属性进行解析,可完成渲染新的样式。如图9所示,图9为本实施例中组件属性渲染示意图。图中组件属性包括输入型组件,可选择单行文本、多行文本、密码、计数器以及编辑器的布局设置,组件属性还包括选择性组件,可将下拉选择、级联选择、单选框组、多选框组、开关、滑块、时间选择、时间范围、日期选择、日期范围、评分、颜色选择以及上传的渲染组件布局,组件属性还包括布局型组件,可对组件的行容器以及按钮等组件进行渲染设置。
本实施例通过在所述组件属性为校验格式属性时,获取校验函数;在所述校验函数为预设校验函数时,根据所述预设校验函数完成组件渲染;在所述校验函数为自定义校验函数时,基于所述自定义校验函数完成组件渲染;在获取到组件的属性为校验格式属性时,通过预设的校验函数或者用户自定义校验函数进行组件的渲染,设置灵活,并提供格式内筒校验,无需额外开发校验规则,组件渲染操作简单快速。
参照图10,图10为本发明表单生成方法第五实施例的流程示意图。
基于第一实施例,提出本发明表单生成方法第四实施例,在所述步骤S40之后,还包括:
步骤S41:在接收到用户的表单更新指令时,基于预设接口获取用户的更新数据。
应理解的是,在渲染器得到解析器传输的组件属性后,得到组件的属性值,根据组件属性值在编辑区对各个组件进行布局,并填充对应的数据,用户的表单更新指令可包括用户需要对组件数据进行修改,可包括删除组件以及增加组件,预设接口包括JavaScript,通过引用JavaScript可自动获取到用户修改的数据值,在接收到用户的表单更新指令时,可通过JavaScript获取用户更新的需要修改的组件数据。
进一步地,用户在修改组件数据时,可能出现修改错误的情况,这时需要有支持数据撤回的功能,则当用户修改时需要进行撤回操作时,获取所述用户的每一次操作数据,并存储至全局栈中;在接收到所述用户的撤回指令时,读取所述全局栈中最新的操作数据,将所述最新的操作数据作为当前操作数据。
需要说明的是,全局栈可为存储全局数据的数据堆,通过全局栈存储用户的每一次操作数据,将每次修改的数据保存至全局栈中,当用户需要进行撤回时,后台服务器接收到用户的撤回指令,则读取全局栈中最新一次保存的用户的操作数据,并将最新的用户的操作数据作为用户当前的操作数据,便可实现对用户的操作数据进行恢复。解析器通过最新的操作数据得到用户需要设置的最新的组件数据并进行解析得到最新的组件属性。
步骤S42:根据所述更新数据获取更新的组件属性。
在具体实施中,在获取到更新的组件数据后,根据更新的组件数据解析得到更新的组件属性,可根据更新的组件属性对组件进行渲染。
步骤S43:对所述更新的组件属性进行渲染,根据渲染结果得到更新的表单。
应理解的是,在得到更新的组件属性后,渲染器通过更新的组件属性对组件进行渲染,并根据渲染结果完成更新的表单布局,生成更新的表单。
本实施例通过在接收到用的表单更新指令时,基于预设接口获取用户的更新数据;根据所述更新数据获取更新的组件属性;对所述更新的组件属性进行渲染,根据渲染结果得到更新的表单;通过接收用户的更新指令,对组件进行修改并将更新后的组件进行解析,得到更新后的组件属性并基于更新的组件属性完成渲染,生成更新的表单。
参照图11,图11为本发明表单生成装置第一实施例的结构框图。
如图11所示,本发明实施例提出的表单生成装置包括:
获取模块10,用于在接收到表单配置请求时,获取待配置表单的组件数据。
解析模块20,用于调用预设解析函数,基于所述预设解析函数将所述组件数据进行解析,得到组件属性。
渲染模块30,用于基于所述组件属性对组件进行渲染,以使所述组件在页面进行显示。
生成模块40,用于根据所述组件在页面的显示结果生成表单。
本实施例通过在接收到表单配置请求时,获取待配置表单的组件数据;调用预设解析函数,基于所述预设解析函数将所述组件数据进行解析,得到组件属性;基于所述组件属性对组件进行渲染,以使所述组件在页面进行显示;根据所述组件在页面的显示结果生成表单;通过预设解析函数对表单组件进行解析得到组件属性,根据组件属性对组件进行渲染,在页面进行显示,根据显示结果生成表单,生成表单周期短,效率高。
在一实施例中,所述渲染模块30,还用于在所述组件属性为样式属性时,根据所述样式属性确定样式类型;在所述样式类型为类的元素类名时,将所述元素类名设置到所述组件上,完成组件渲染;在所述样式类型为自定义类型时,创建类型属性,根据所述类型属性完成组件渲染。
在一实施例中,所述渲染模块30,还用于在所述组件属性为布局属性时,获取组件的标识信息;根据所述标识信息遍历dom元素数据,得到所述组件的位置关系,其中,所述dom元素数据包括位于dom文档上的层级结构;根据所述位置关系完成组件渲染。
在一实施例中,所述渲染模块30,还用于在所述组件属性为校验格式属性时,获取校验函数;在所述校验函数为预设校验函数时,根据所述预设校验函数完成组件渲染;在所述校验函数为自定义校验函数时,基于所述自定义校验函数完成组件渲染。
在一实施例中,所述渲染模块30,还用于基于组件设置与所述组件对应的Mock数据,将所述组件与所述组件对应的Mock数据存储于映射关系表中;在所述组件属性为Mock数据属性时,获取组件的名称;基于所述名称查询所述映射关系表,得到与所述组件对应的Mock数据;基于所述Mock数据完成组件渲染。
在一实施例中,所述生成模块40,还用于在接收到用户的表单更新指令时,基于预设接口获取用户的更新数据;根据所述更新数据获取更新的组件属性;对所述更新的组件属性进行渲染,根据渲染结果得到更新的表单。
在一实施例中,所述生成模块40,还用于获取所述用户的每一次操作数据,并存储至全局栈中;在接收到所述用户的撤回指令时,读取所述全局栈中最新的操作数据,将所述最新的操作数据作为当前操作数据。
在一实施例中,所述获取模块10,还用于获取所述组件数据的编辑状态;在所述组件数据的编辑状态为可编辑时,执行所述调用预设解析函数,基于所述预设解析函数将所述组件数据进行解析,得到组件属性的步骤。
此外,为实现上述目的,本发明还提出一种表单生成设备,所述表单生成设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的表单生成程序,所述表单生成程序配置为实现如上文所述的表单生成方法的步骤。
由于本表单生成设备采用了上述所有实施例的全部技术方案,因此至少具有上述实施例的技术方案所带来的所有有益效果,在此不再一一赘述。
应当理解的是,以上仅为举例说明,对本发明的技术方案并不构成任何限定,在具体应用中,本领域的技术人员可以根据需要进行设置,本发明对此不做限制。
需要说明的是,以上所描述的工作流程仅仅是示意性的,并不对本发明的保护范围构成限定,在实际应用中,本领域的技术人员可以根据实际的需要选择其中的部分或者全部来实现本实施例方案的目的,此处不做限制。
另外,未在本实施例中详尽描述的技术细节,可参见本发明任意实施例所提供的表单生成方法,此处不再赘述。
此外,需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如只读存储器(Read Only Memory,ROM)/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种表单生成方法,其特征在于,所述表单生成方法包括:
在接收到表单配置请求时,获取待配置表单的组件数据;
调用预设解析函数,基于所述预设解析函数将所述组件数据进行解析,得到组件属性;
基于所述组件属性对组件进行渲染,以使所述组件在页面进行显示;
根据所述组件在页面的显示结果生成表单。
2.如权利要求1所述的表单生成方法,其特征在于,所述基于所述组件属性对组件进行渲染,包括:
在所述组件属性为样式属性时,根据所述样式属性确定样式类型;
在所述样式类型为类的元素类名时,将所述元素类名设置到所述组件上,完成组件渲染;
在所述样式类型为自定义类型时,创建类型属性,根据所述类型属性完成组件渲染。
3.如权利要求1所述的表单生成方法,其特征在于,所述基于所述组件属性对组件进行渲染,包括:
在所述组件属性为布局属性时,获取组件的标识信息;
根据所述标识信息遍历dom元素数据,得到所述组件的位置关系,其中,所述dom元素数据包括位于dom文档上的层级结构;
根据所述位置关系完成组件渲染。
4.如权利要求1所述的表单生成方法,其特征在于,所述基于所述组件属性对组件进行渲染,包括:
在所述组件属性为校验格式属性时,获取校验函数;
在所述校验函数为预设校验函数时,根据所述预设校验函数完成组件渲染;
在所述校验函数为自定义校验函数时,基于所述自定义校验函数完成组件渲染。
5.如权利要求1所述的表单生成方法,其特征在于,所述基于所述组件属性对组件进行渲染,包括:
基于组件设置与所述组件对应的Mock数据,将所述组件与所述组件对应的Mock数据存储于映射关系表中;
在所述组件属性为Mock数据属性时,获取组件的名称;
基于所述名称查询所述映射关系表,得到与所述组件对应的Mock数据;基于所述Mock数据完成组件渲染。
6.如权利要求1至5中任一项所述的表单生成方法,其特征在于,所述根据所述组件在页面的显示结果生成表单之后,还包括:
在接收到用户的表单更新指令时,基于预设接口获取用户的更新数据;
根据所述更新数据获取更新的组件属性;
对所述更新的组件属性进行渲染,根据渲染结果得到更新的表单。
7.如权利要求6所述的表单生成方法,其特征在于,所述在接收到用户的表单更新指令时,基于预设接口获取用户的更新数据之后,还包括:
获取所述用户的每一次操作数据,并存储至全局栈中;
在接收到所述用户的撤回指令时,读取所述全局栈中最新的操作数据,将所述最新的操作数据作为当前操作数据。
8.如权利要求1至5中任一项所述的表单生成方法,其特征在于,所述获取待配置表单的组件数据之后,还包括:
获取所述组件数据的编辑状态;
在所述组件数据的编辑状态为可编辑时,执行所述调用预设解析函数,基于所述预设解析函数将所述组件数据进行解析,得到组件属性的步骤。
9.一种表单生成装置,其特征在于,所述表单生成装置包括:
获取模块,用于在接收到表单配置请求时,获取待配置表单的组件数据;
解析模块,用于调用预设解析函数,基于所述预设解析函数将所述组件数据进行解析,得到组件属性;
渲染模块,用于基于所述组件属性对组件进行渲染,以使所述组件在页面进行显示;
生成模块,用于根据所述组件在页面的显示结果生成表单。
10.一种表单生成设备,其特征在于,所述表单生成设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的表单生成程序,所述表单生成程序配置为实现如权利要求1至8中任一项所述的表单生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111310587.2A CN113741898B (zh) | 2021-11-08 | 2021-11-08 | 表单生成方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111310587.2A CN113741898B (zh) | 2021-11-08 | 2021-11-08 | 表单生成方法、装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113741898A true CN113741898A (zh) | 2021-12-03 |
CN113741898B CN113741898B (zh) | 2022-02-25 |
Family
ID=78727706
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111310587.2A Active CN113741898B (zh) | 2021-11-08 | 2021-11-08 | 表单生成方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113741898B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114003220A (zh) * | 2021-12-30 | 2022-02-01 | 思创数码科技股份有限公司 | 工作流模型实现方法、系统、可读存储介质及计算机设备 |
CN114995719A (zh) * | 2022-06-10 | 2022-09-02 | 北京百度网讯科技有限公司 | 列表渲染方法、装置、设备以及存储介质 |
CN115145561A (zh) * | 2022-05-17 | 2022-10-04 | 三峡高科信息技术有限责任公司 | 一种可复用的工程管理业务组件库 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140181703A1 (en) * | 2012-12-22 | 2014-06-26 | Oracle International Corporation | Dynamically generated user interface |
US20170262164A1 (en) * | 2016-03-10 | 2017-09-14 | Vignet Incorporated | Dynamic user interfaces based on multiple data sources |
CN111178012A (zh) * | 2019-12-03 | 2020-05-19 | 腾讯云计算(北京)有限责任公司 | 一种表单渲染方法、装置、设备及存储介质 |
CN111708537A (zh) * | 2020-06-18 | 2020-09-25 | 深圳前海微众银行股份有限公司 | 基于组件模板的页面渲染方法、设备及可读存储介质 |
CN112286513A (zh) * | 2019-07-23 | 2021-01-29 | 北京京东尚科信息技术有限公司 | 基于组件元数据的可视化设计方法和装置 |
CN113407169A (zh) * | 2021-06-29 | 2021-09-17 | 北京字节跳动网络技术有限公司 | 一种软件开发方法及装置 |
CN113419801A (zh) * | 2021-06-16 | 2021-09-21 | 中移(杭州)信息技术有限公司 | 表单渲染方法、终端、装置和计算机可读存储介质 |
-
2021
- 2021-11-08 CN CN202111310587.2A patent/CN113741898B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140181703A1 (en) * | 2012-12-22 | 2014-06-26 | Oracle International Corporation | Dynamically generated user interface |
US20170262164A1 (en) * | 2016-03-10 | 2017-09-14 | Vignet Incorporated | Dynamic user interfaces based on multiple data sources |
CN112286513A (zh) * | 2019-07-23 | 2021-01-29 | 北京京东尚科信息技术有限公司 | 基于组件元数据的可视化设计方法和装置 |
CN111178012A (zh) * | 2019-12-03 | 2020-05-19 | 腾讯云计算(北京)有限责任公司 | 一种表单渲染方法、装置、设备及存储介质 |
CN111708537A (zh) * | 2020-06-18 | 2020-09-25 | 深圳前海微众银行股份有限公司 | 基于组件模板的页面渲染方法、设备及可读存储介质 |
CN113419801A (zh) * | 2021-06-16 | 2021-09-21 | 中移(杭州)信息技术有限公司 | 表单渲染方法、终端、装置和计算机可读存储介质 |
CN113407169A (zh) * | 2021-06-29 | 2021-09-17 | 北京字节跳动网络技术有限公司 | 一种软件开发方法及装置 |
Non-Patent Citations (3)
Title |
---|
BRUCE小鬼: "P14-Vue3后台管理系统-用户管理界面-form表单封装", 《HTTPS://BLOG.CSDN.NET/M0_38039437/ARTICLE/DETAILS/113833276》 * |
战仕霞: "基于React的信息管理系统前端自动化构建工具的设计与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
王若龙: "可配置化表单引擎系统的设计与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114003220A (zh) * | 2021-12-30 | 2022-02-01 | 思创数码科技股份有限公司 | 工作流模型实现方法、系统、可读存储介质及计算机设备 |
CN115145561A (zh) * | 2022-05-17 | 2022-10-04 | 三峡高科信息技术有限责任公司 | 一种可复用的工程管理业务组件库 |
CN114995719A (zh) * | 2022-06-10 | 2022-09-02 | 北京百度网讯科技有限公司 | 列表渲染方法、装置、设备以及存储介质 |
CN114995719B (zh) * | 2022-06-10 | 2023-08-01 | 北京百度网讯科技有限公司 | 列表渲染方法、装置、设备以及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113741898B (zh) | 2022-02-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113741898B (zh) | 表单生成方法、装置及设备 | |
CN109901834B (zh) | 文档页面生成方法、装置、计算机设备和存储介质 | |
CN109614424B (zh) | 页面布局生成方法、装置、计算设备和介质 | |
CN110221899B (zh) | 一种用户界面的调节方法、装置及系统 | |
CN111475161B (zh) | 一种访问组件的方法、装置及设备 | |
CN112597052A (zh) | 接口测试方法、装置及计算机可读存储介质 | |
CN110764680A (zh) | 生成模拟键盘的方法、装置、电子设备及计算机可读介质 | |
CN115543324B (zh) | 交互界面的生成方法、装置、设备及介质 | |
CN111460235A (zh) | 图谱数据的处理方法、装置、设备及存储介质 | |
US20190042549A1 (en) | Method and apparatus for building pages, apparatus and non-volatile computer storage medium | |
CN113377458B (zh) | 插件管理方法、装置、电子设备和存储介质 | |
CN115291887A (zh) | 代码生成方法、装置、设备及存储介质 | |
CN114780330A (zh) | 代码监控方法和装置 | |
CN114443022A (zh) | 生成页面搭建区块的方法及电子设备 | |
JP5791115B2 (ja) | 画像領域分割装置、その方法及びプログラム | |
CN113934959A (zh) | 一种程序预览方法、装置、计算机设备和存储介质 | |
CN113934412A (zh) | 程序生成方法、装置、设备及存储介质 | |
CN111507079A (zh) | 一种多语言文档生成方法及系统和设备 | |
CN112540747A (zh) | 平台开发方法、装置及计算机可读存储介质 | |
CN114817793B (zh) | 页面生成方法、装置、设备及存储介质 | |
CN116009863B (zh) | 前端页面渲染方法、设备及存储介质 | |
CN115617324B (zh) | 一种客户端网页的生成方法 | |
JP7216317B1 (ja) | 情報処理装置及びその制御方法、プログラム | |
KR100346983B1 (ko) | 무선 인터넷용 웹 에디터와 그 작동방법 | |
CN115080027B (zh) | web页面自动适配方法、装置、设备及存储介质 |
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 |