CN109460546A - 表单生成方法、装置及电子设备 - Google Patents
表单生成方法、装置及电子设备 Download PDFInfo
- Publication number
- CN109460546A CN109460546A CN201811333436.7A CN201811333436A CN109460546A CN 109460546 A CN109460546 A CN 109460546A CN 201811333436 A CN201811333436 A CN 201811333436A CN 109460546 A CN109460546 A CN 109460546A
- Authority
- CN
- China
- Prior art keywords
- list
- item
- code
- element attribute
- form element
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/177—Editing, e.g. inserting or deleting of tables; using ruled lines
- G06F40/18—Editing, e.g. inserting or deleting of tables; using ruled lines of spreadsheets
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Artificial Intelligence (AREA)
- Human Computer Interaction (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供了一种表单生成方法、装置及电子设备,当需要开发人员开发界面中的某表单(记为目标表单)时,本发明将直接在预先构建的表单项组件中,设置该目标表单具有的表单元素属性,调用与该表单元素属性对应的表单项代码,以及与目标表单的布局对应的布局样式代码,从而快速生成目标表单,无需开发人员手动编写程序代码,大大提高了开发效率。
Description
技术领域
本发明主要涉及前端技术领域,更具体地说是涉及一种用户界面处理方法、装置及电子设备。
背景技术
在网页中主要负责数据采集的功能,是软件应用系统的重要元素,且在用户浏览网页过程中,界面中的表单还能够为用户起到指引作用,以使用户能够在表单的表单域(包含文本框、密码框、复选框、下拉选择框、文件上传框等表单元素)中准确填写格式正确的信息,非常方便。
在实际应用中,表单通常是由表单标签、表单域和表单按钮三部分组成,在不同网页或不同应用版本的网页中,对表单的布局要求往往会不同,通常需要开发人员针对各表单布局,编写对应的程序代码,效率非常低。
发明内容
有鉴于此,本实施例提供了一种表单方法、装置及电子设备,利用预先构建的表单项组件,确定目标表单涉及到的表单元素属性后,直接调用相匹配的表单项代码及布局样式,即可生成目标表单,无需开发人员手动编写代码,提高了开发效率。
为了实现上述目的,本实施例公开了以下技术方案:
本实施例提供了一种表单生成方法,所述方法包括:
获取目标表单具有的表单元素属性;
从已构建的表单项组件中,调用与获取的所述表单元素属性对应的表单项代码;
获取所述目标表单中各表单项的布局样式代码;
基于所述表单项代码和所述布局样式代码,生成所述目标表单。
本实施例提供了一种表单生成装置,所述装置包括:
第一获取模块,用于获取目标表单具有的表单元素属性;
表单项代码调用模块,用于从已构建的表单项组件中,调用与获取的所述表单元素属性对应的表单项代码;
布局样式代码获取模块,用于获取所述目标表单中各表单项的布局样式代码;
表单生成模块,用于基于所述表单项代码和所述布局样式代码,生成所述目标表单。
本实施例提供了一种电子设备,所述电子设备包括:
通信接口;显示器;
存储器,用于存储实现如上所述的表单生成方法的程序;
处理器,用于加载并执行所述存储器存储的程序,所述程序用于:
获取目标表单具有的表单元素属性;
从已构建的表单项组件中,调用与获取的所述表单元素属性对应的表单项代码;
获取所述目标表单中各表单项的布局样式代码;
基于所述表单项代码和所述布局样式代码,生成所述目标表单。
由此可见,与现有技术相比,本发明提供了一种表单生成方法、装置及电子设备,当需要开发人员开发界面中的某表单(记为目标表单)时,本发明将直接在预先构建的表单项组件中,设置该目标表单具有的表单元素属性,调用与该表单元素属性对应的表单项代码,以及与目标表单的布局对应的布局样式代码,从而快速生成目标表单,无需开发人员手动编写程序代码,大大提高了开发效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的实现表单生成方法的系统结构示意图;
图2为本发明实施例提供一种表单生成方法的流程示意图;
图3为本发明实施例提供不同形态下的表单设计图;
图4为本发明实施例提供表单项组件的应用示意图;
图5a为一种登录表单的横向布局样式;
图5b为一种登录表单的纵向布局样式;
图5c为另一种登录表单的横向布局样式;
图5d为另一种登录表单的纵向布局样式;
图6为本发明实施例提供另一种表单生成方法的流程示意图;
图7为本发明实施例提供又一种表单生成方法的流程示意图;
图8为本发明实施例提供又一种表单生成方法的流程示意图;
图9为本发明实施例提供一种表单生成装置的结构示意图;
图10为本发明实施例提供另一种表单生成装置的结构示意图;
图11为本发明实施例提供又一种表单生成装置的结构示意图;
图12为本发明实施例提供一种电子设备的硬件结构示意图。
具体实施方式
下面将结合本实施例中的附图,对本实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
参照图1,为实现本发明提供的表单生成方法的系统结构示意图,如图1所示,该系统可以包括:电子设备100和数据服务器200,其中:
电子设备100可以是电脑等终端,本实施例主要是指开发人员进行软件开发所使用的设备,通常具有较强的数据处理能力,本实施例对该电子设备100的具体组成部分不做限定,如通信接口、显示器、存储器及处理器等,该电子设备的硬件结构可以参照下文相应电子设备实施例的描述,本实施例在此不做详述。
在实际应用中,开发人员可以使用该电子设备100完成表单设计中所涉及到的程序代码的编写,以生成网页界面中的表单,即得到该输出满足要求(如样式要求、组成元素要求等)的表单的程序代码,因此,该电子设备100通常可以安装编程所需的工具,本实施例对此不做限定。
另外,为了提高各种布局的表单生成效率及准确性,本实施例提出获取网页界面通常使用的各种表单对应的程序代码,如具有不同表单标签的表单项分别对应的程序代码,具有相同表单标签的不同布局显示样式的各表单项对应的程序代码等等,本发明在此不再一一列举。
之后,利用已有的这些表单项及其包含的各表单元素属性,基于React或Vue,封装成一个表单项组件,以供开发人员直接从中选择当前需要开发的目标表单具有的表单元素属性,直接调用已有的相应程序代码(如表单项的逻辑代码及表单布局的布局样式代码等)即可,不需要开发人员针对当前开发的表单,编写完整的程序代码,提高了开发效率。
其中,React是一个为数据提供渲染为HTML(HyperText Markup Language,超级文本标记语言)视图的前端开源JavaScript框架,Vue是一套用于构建用户界面的渐进式JavaScript框架,本实施例对这两种JavaScript框架的使用方法不做详述。
数据服务器200可以是设置在云端的数据存储设备,本实施例可以用来存储开发人员预先编写的各种表单项对应的程序代码。在实际应用中,不同开发人员都可以从中调用(即下载)所需的程序代码,且开发人员设计或优化的表单程序代码,也可以上传到该数据服务器,以供其他开发人员在进行表单开发时下载使用。
需要说明,本实施例对该数据服务器200对其存储内容,及其存储的各种表单对应的程序代码的存储方式不做限定。
参照图1所示的系统结构,本发明实施例提供的一种表单生成方法,如图2所示,为该表单生成方法的流程图,该方法可以应用于电子设备,如开发人员所使用的电子设备,具体实现步骤可以包括:
步骤S11,获取目标表单具有的表单元素属性;
在本实施例中,目标表单可以是当前网页界面要展示的表单,具体可以是网页界面设计人员确定的该网页界面涉及到的表单设计图,其包含了该网页界面展示的该表单包含的各表单元素属性及布局样式等信息,表单代码开发人员可以基于该表单设计图,来编写对应的程序代码,以生成该表单。
参照图3所示的一种表单设计图,由该表单设计图可知,在每个表单项中,其包含了表单元素,表单元素属性(如说明文字、后缀、校验文字等)及表单标签label等几部分组成。若将表单看成一个包含表单元素的区域,表单元素可以是允许用户在表单中(如文本框、密码框、复选框、下拉选择框、文件上传框等)输入信息的元素,在网页中用于与用户交互,表单标签label(如用户名、邮箱、密码等)可以用来定义表单,且可以用来说明该表单元素是什么。
以图3所示的表单设计图为例,可以将“用户名label、文本输入框、先生/女士”作为一个表单项,“邮箱label、文本输入框、用于邮箱验证”作为一个表单项等,即将每一个表单元素及其对应的表单元素属性组成一个表单项,所以说,对于开发的表单通常会包含至少一个表单项,具体包含的表单项类型及内容,可以根据实际开发需要确定,且需要说明,关于目标表单的设计图并不局限于图3所示的结构。
可选的,表单开发人员得知目标表单的设计图后,可以根据目标表单设计图内容,确定其包含哪些表单项,每一个表单项采用什么布局样式,都有什么表单元素属性等等。之后,在开发工具的开发界面中,选择或输入该目标表单具有的各表单元素属性。
因此,上述步骤S11具体可以为接收开发人员基于目标表单设计图输入的表单元素属性,此时,开发人员可以直接在开发界面输入目标表单具有的各表单元素属性,也可以在开发界面输出的大量表单元素属性中,选择出目标表单具有的表单元素属性。
在另一可选实施例中,上述步骤S11还可以为:获取目标表单设计图,并对该目标表单设计图进行分析,得到目标表单具有的表单元素属性。也就是说,开发人员的电子设备接收到目标表单设计图后,由于该设计图包含了开发目标表单的组成元素,因此,本实施例可以对其进行图像分析,得到目标表单包含的哪些表单项,及哪些表单元素属性,具体图像分析过程不做详述。
仍以上图3所示的目标表单设计图为例,按照这种方方式获取的目标表单的表单元素属性有:label标签、输入框类型type、输入框名字name、输入框内灰色提示文字placeholder、后缀suffix、提示文字des、检验信息checkMsg等。
需要说明,对于不同目标表单设计,获取的表单元素属性可以不同,也可以相同,本实施例对此不作限定。
步骤S12,从已构建的表单项组件中,调用与获取的表单元素属性对应的表单项代码;
在本实施例实际应用中,可以针对常用的表单项,预先编写具有不同表单元素属性的各表单项的表单项代码,具体编写方式及内容不作限定。之后,利用常用的表单项的表单项代码,封装成一个表单项组件,并将其嵌套在表单组件中,以便后续使用表单组件生成目标表单时,直接利用该表单项组件快速生成。
基于此,本实施例中由于表单项组件已封装好,使得各表单项包含的元素结构比较清晰明了,以登录表单为例,简单说明采用本发明方式得到的表单项代码,与现有技术编写的表单的逻辑代码之间的区别,其中,本发明实施例构建的表单项组件包含的表单项代码可以如下:
<Form>
<FormItem label=“用户名”type=“text”name=“username”>
<FormItem label=“邮箱”type=“email”name=“email”>
</Form>
需要说明,关于本实施例预先构建的表单项组件的内容,并不局限于上文列举的表单项代码。
仍以上文所述的登录表单为例进行,现有技术中,通常是由开发人员针对目标表单包含的各表单项,编写对应的逻辑代码,该逻辑代码大概如下:
通过将现有的逻辑代码,与本实施例上文表单项组件中的表单项代码进行比对,很明显,采用本实施例提供的方式得到的登录表单的表单项代码更加清晰明了。
可选的,对于各表单项代码所涉及到的表单元素属性的代码,可以从云端的数据服务器获取,且本实施例可以采用条件判断的方式,来表示相应表单项的表单元素属性,即对于该表单项具有的表单元素属性,条件判断结果可以是显示;对于该该表单项不具有的表单元素属性,条件判断结果可以是不显示。
基于此,在确定目标表单具有的表单元素属性后,本实施例不再由开发人员直接编写相应的逻辑代码,而是将其作为输入参数输入预先构建的表单项组件,以使该表单项组件查找与输入参数相匹配的表单项,直接调用该表单项的表单项代码,即直接利用表单项组件,从数据服务器调用生成目标表单所需的各组成部分对应的逻辑代码,以提高开发效率。
其中,对于上述步骤S13调用的表单项代码,参照图4,可以在对应表单项的下方区域进行展示,以供开发人员核对调用的表单项代码是否正确,但并不局限于这种展示方式。
需要说明,本实施例从表单项组件获取的表单项代码,如<FormItem label=“用户名”type=“text”name=“username”placeholder=“英文、数字、特殊符号”suffix=“先生/女士”/>这个表单项代码,其对应图4中的第一表单项,该表单项代码表明了该表单项的各组成部分,至于该组成部分如表单元素属性如何实现,即各表单元素属性的逻辑代码,可以从数据服务器下载,无需开发人员编写,
因此,本实施例按照上述方式调用目标表单所需的各表单项代码后,最终得到的用于生成目标表单的各表单项的逻辑代码如下,但并不局限于下文列举的代码内容:
步骤S13,获取与该目标表单中各表单项的布局样式代码;
其中,表单布局可以是指表单元素在网页中显示形式,如横向排列或纵向排列等。
在实际应用中,对于同一表单项,往往会有多种布局样式,如图5a和图5d所示的横向布局样式,或图5b和图5c所示的纵向布局样式,且随着其包含的表单元素属性的不同,还可以进一步丰富同一表单元素对应的表单布局样式,比对图5a和图5d所示的表单布局样式,以及图5b和图5c所示的表单布局样式,虽然大体布局格式相同,但因所包含的表单元素属性不同,所得到的表单布局样式也会有所差异。
本实施例可以通过统计各网页界面设计中,常用的表单布局样式,来预先编辑各表单布局样式对应的样式代码,这样,在得知目标表单的布局样式后,可以直接获取预先编辑的与该布局样式对应的样式代码,不需要开发人员对目标表单的布局样式手动编写样式代码,提高了开发效率。
其中,仍以用户登录表单为例,本实施例针对登录表单,预先编写的局部样式代码可以如下,但并不局限于该代码:
参照图3所示的目标表单设计图,并结合上文给出的表单项代码及布局样式代码内容可知,对于表单项的表单元素属性还可以包括表单校验、实时校验等属性,其中,表单校验主要是判断用户输入的信息是否符合规定,如不符合则输出报错提示等;实时校验主要是监测到用户输入的值发生变化,即刻校验其是否符合规定。
步骤S14,基于表单项代码及布局样式代码,生成目标表单。
在实际应用中,可以通过对获得的表单项代码和布局样式代码进行简单编译,可以得到目标表单,具体实现过程本实施例不作详述。
综上,对于需要生成的任一表单,记为目标表单,本实施例不需要开发人员手动编写该目标表单所需的所有代码,只需要在得知目标表单的布局如效果图后,从预先构建的表单项组件中,确定出该目标表单所涉及到的表单元素属性,及该目标表单的布局样式,即可直接从数据库中调用相匹配的表单项代码及样式代码,快速且准确生成该目标表单,极大提高了开发效率,且保证了生成的负责表单的可靠性,另外,也为后期的维护升级提供了便利。
可选的,在上述实施例的基础上,参照图6,为本发明实施例提供另一种表单生成方法的流程示意图,该方法仍然由电子设备执行,如图6所示,该方法可以包括以下步骤:
步骤S21,接收开发人员基于目标表单设计图输入的表单元素属性;
步骤S22,检测已构建的表单项组件是否包含获取的表单元素属性,如果否,进入步骤S23;如果是,执行步骤S25;
步骤S23,输出编码提示信息;
步骤S24,接收开发人员输入的逻辑代码,生成目标表单;
其中,该编码提示信息可以用于提醒开发人员编写该表单元素属性的表单项代码,本实施例对该编码提示信息的输出方式及其包含的内容不作限定。
在这种情况下,说明目标表单可能是一种新的表单形式,无法直接从现有的表单中,获取其所需的逻辑代码,此时,需要开发人员针对该目标表单,编写相应的逻辑代码,具体编码方式不作限定。
步骤S25,调用与该表单元素属性对应的表单项代码;
可选的,在实际应用中,可以通过向数据服务器发送代码获取请求,来接收数据服务器反馈的该表单元素属性对应的表单项代码,此时,该代码获取请求可以携带有该表单元素属性或表元素属性的元素标识。本实施例对步骤S25的具体实现方法不作限定。
作为本发明另一可选实施例,本实施例也可以从已构建的表单项组件中,确定与获取的表单元素属性对应的至少一个表单项,再调用与确定的各表单项对应的表单项代码。
其中,本实施例可以将获取的属于同一表单项的表单元素属性,与已构建的表单项组件中各表单项的表单元素属性进行对比,从而基于比对结果,确定表单项组件中与获取的表单元素属性对应的至少一个表单项,但并不局限于这一种在表单项组件中确定目标表单的表单项方式。
步骤S26,获取目标表单中各表单项的布局样式代码;
关于布局样式代码的内容及其获取过程,可以参照上述实施例步骤S13的描述。
步骤S27,利用该表单项代码和布局样式代码,生成目标表单。
综上,在开发人员得到目标表单的设计图后,将确定该目标表单具有的表单元素属性,并检测表单元素组件中是否具有与该表单元素属性对应的表单项代码,如果不具有,才需要输出编码提示信息,通知开发人员人工编写该目标表单的程序代码;如果具有,本实施例将直接调用该表单项代码,以及目标表单中各表单项的布局样式代码,来生成目标表单,无需开发人员手动编写程序代码,提高了开发效率,且便于后期代码维护。
对于上述各实施例中表单项组件的构建过程,可以参照图7所示的流程示意图,如图7所示,该构建过程可以包括但并不局限于以下步骤:
步骤S31,从第三方获取现有表单的表单元素属性;
其中,第三方可以是任意网站服务器或其他计算机设备,本实施例对获取现有界面表单的表单元素属性的方法不做限定。
步骤S32,将现有表单的表单元素属性对应的表单项代码上传至数据服务器存储;
对于现有表单的表单元素属性对应的表单项代码,可以是本开发人员编写的,也可以是其他开发人员编写的,本实施例在此主要说明由本开发人员编写的处理方式,对于其他开发人员编写的处理方式,本实施例步骤S31获取表单元素属性后,可以向数据服务器发起查询请求,来查询数据服务器中是否存在相应的表单项代码,如果存在,直接执行步骤S33;如果不存在,可以由本开发人员编写相应的表单项代码。可见,这与传统表单生成方案相比,不需要本开发人员编写用于生成表单的所有程序代码,提高了开发效率,降低了人工成本。
步骤S33,利用现有表单的表单元素属性,按照现有表单包含的各表单项的组成结构,封装得到表单项组件。其中,现有表单包含的各表单项的组成结构可以指表单项的表单标签、表单元素及表单元素属性之间的关系。
需要说明,本实施例对如何封装得到表单项组件的实现方法不作限定,如上述分析,可以基于React或Vue实现,具体实现过程本实施例不作详述。
由此可见,本实施例通过将现有的各表单的相关元素结构封装成一个表单项组件,这样,直接对该表单项组件设置不同的表单元素属性,即可完成不同表单信息的展示及布局切换,也就是说,直接从该表单项组件中选出目标表单所需的表单元素属性,从已有的程序代码中,调用与该表单项元素属性对应的表单项代码,以及该目标表单所需的布局样式代码,即可快速且准确生成所需的目标表单,提高了开发效率及表单布局的灵活性。
所以说,本实施例提出的表单生成方法综合考虑了各种表单布局的切换及复杂情况的处理,使开发人员只需要根据不同情况传入不同的参数,即目标表单所需的表单元素属性,即可完成所需要的表单效果显示,非常方便,极大减少了开发人员的工作量,提高了开发效率。
结合上述各实施例的描述,仍以开发登录表单场景为例,对本发明提出的表单生成方案进行说明,参照图8所示的场景流程示意图,登录表单的生成过程如下,但并不局限于下文描述的生成步骤,可以结合上文分析,根据需要进行适应性调整,本发明不再一一详述。
在表单的开发应用中,各表单开发人员会将开发或优化后的程序代码上传到云端的数据服务器,以供其他开发人员调用,因此,对于常用的登录表单,数据服务器中通常会存储有登录表单需要的各组成部分的代码,登录表单的开发人员可以从数据服务器中直接下载使用,不需要重新编写。
具体的,如图8所示,开发人员可以将现有各表单的表单元素属性等信息,封装成一个表单项组件,这样,在得到登录表单设计图后,获取该登录表单具有的表单元素数据后,可以输入该表单项组件,以使该表单项组件得知当前需要生成的登录表单所需的是哪些表单元素属性,并确定登录表单具有的是什么样的表单项,之后,直接从数据服务器调用该表单项对应的表单项代码,并获取登录表单的布局样式对应的布局样式代码,从而生成该登录表单,这样,当网页界面需要输出该登录表单时,直接执行获取的表单项代码和布局样式代码,即可保证输出的登录表单达到设计的显示效果。
可选的,当需要调整登录表单的布局样式是,可以从数据服务器中获取新的布局样式对应的布局样式代码,来替换原有的布局样式代码,可以更改登录表单的布局样式;同理,当需要调整该登录表单的表单元素属性时,可以按照上述处理方式,获取新的表单元素属性对应的新的表单项,获取新的表单项代码替换原有表单项代码,即可展示满足要求的新的表单,灵活且方便,无需用户针对每一种表单都手动编写完整的程序代码,提高了表单开发效率,以及后期维护效率。
基于此,在上述各实施例的基础上,本发明提供的表单生成方法还可以在接收到针对所述目标表单的更新请求后,通过解析该更新请求,得到更新后的表单元素属性和/或更新后的布局样式,从数据服务器中,调用与更新后的表单元素属性对应的表单项代码,和/或与更新后的布局样式对应的布局样式代码,更新目标表单(如上述登录表单),本实施例对目标表单的更新过程不作详述,可以参照上段描述的实现方法,但并不局限于此。
参照图9,为本发明实施例提供的一种表单生成装置的结构示意图,该装置应用于电子设备,如图9所示,该装置可以包括:
第一获取模块11,用于获取目标表单具有的表单元素属性;
可选的,该第一获取模块11可以包括:
第一接收单元,用于接收开发人员基于目标表单设计图输入的表单元素属性;或者,
图像分析单元,用于获取目标表单设计图,并对所述目标表单设计图进行分析,得到目标表单具有的表单元素属性。
表单项代码调用模块12,用于从已构建的表单项组件中,调用与获取的所述表单元素属性对应的表单项代码;
可选的,如图10所示,该表单项代码调用模块12可以包括:
检测单元121,用于检测已构建的表单项组件是否包含获取的表单元素属性;
第一调用单元122,用于在检测单元的检测结果为是,调用与该表单元素属性对应的表单项代码;
在本实施例中,该调用单元122可以包括:
请求发送子单元,用于向数据服务器发送代码获取请求,该代码获取请求携带有该表单元素属性或所述表元素属性的元素标识;
代码接收子单元,用于接收所述数据服务器反馈的该表单元素属性对应的表单项代码。
提示单元123,用于在检测单元的检测结果为是,输出编码提示信息,所述编码提示信息用于提醒开发人员编写该表单元素属性的表单项代码。
作为本发明另一可选实施例,上述表单项代码调用模块12可以包括:
表单项确定单元,用于从已构建的表单项组件中,确定与获取的所述表单元素属性对应的至少一个表单项;
具体的,该表单项确定单元可以包括:
比对子单元,用于将获取的属于同一表单项的表单元素属性,与已构建的表单项组件中各表单项的表单元素属性进行对比;
确定子单元,用于基于比对结果,确定所述表单项组件中与获取的表单元素属性对应的至少一个表单项。
第二调用单元,用于调用与确定的各表单项对应的表单项代码。
需要说明,关于对表单项代码的调用实现过程,可以按照上述方法实施例相应部分的描述,本实施例在此不再赘述。
布局样式代码获取模块13,用于获取所述目标表单中各表单项的布局样式代码;
表单生成模块14,用于基于所述表单项代码和所述布局样式代码,生成所述目标表单。
可选的,为了实现对表单项组件的构建,如图11所示,上述装置还可以包括:
第二获取模块15,用于从第三方获取现有表单的表单元素属性;
数据传输模块16,用于将所述现有表单的表单元素属性对应的表单项代码上传至数据服务器存储;
封装模块17,用于利用所述现有表单的表单元素属性,按照所述现有表单包含的各表单项的组成结构,封装得到表单项组件。
在上述各实施例的基础上,该装置还可以包括:
更新请求接收模块,用于接收到针对所述目标表单的更新请求;
解析模块,用于解析所述更新请求,得到更新后的表单元素属性和/或更新后的布局样式;
代码调用模块,用于调用与所述更新后的表单元素属性对应的表单项代码,和/或与更新后的布局样式对应的布局样式代码,更新所述目标表单。
综上所述,本实施例在生成目标表单时,直接在预先构建的表单项组件中,设置该目标表单具有的表单元素属性,调用与该表单元素属性对应的表单项代码,以及与目标表单的布局对应的布局样式代码,从而快速生成目标表单,无需开发人员手动编写程序代码,大大提高了开发效率。
本发明实施例还提供了一种存储介质,其上存储有计算机程序,该计算机程序由处理器执行实现上述表单生成方法的各个步骤。
本实施例还提供了一种处理器,用于执行实现上述表单生成方法的计算机程序。
参照图12,为本发明实施例提供的一种电子设备的硬件结构示意图,该电子设备可以是台式电脑、笔记本电脑等用户设备,以供开发人员使用该电子设备进行表单开发,如图12所示,该电子设备可以包括:
通信接口21;
其中,该通信接口可以是无线或有线通信接口,用来接收内部其他部件传输的数据,或外部设备发送的数据等等,本实施例对该通信接口21的类型不作限定。
在本实施例实际应用中,该通信接口21可以用来向数据服务器200上传程序代码,也可以从该数据服务器200中下载所需的程序代码,如表单项代码、布局样式代码等。
另外,该通信接口21还可以接收其他设备发送的数据,如用户使用键盘等输入设备,输入的目标表单具有的表单元素属性等等,本实施例对该通信接口在不同场景下的应用不再一一详述,其中,在不同应用场景下,进行数据通信所使用的通信接口类型可以不同,所以说,电子设备中的通信接口的数量可以是多个,且多个通信接口可以包括不同类型的通信接口。
显示器22,用于显示获取的表单项代码及布局样式代码,以供本开发人员进行检查。
本实施例中,该显示器22可以是触摸显示器,也可以是非触摸显示器,本实施例对该显示器22的结构不做限定。
存储器23,用于存储实现如上述的表单生成方法的程序;
如上所述,该存储器23可以用来存储实现上述实施例描述的表单生成方法的程序代码,以及表单生成过程中产生的各种中间数据、结果数据,如获取的表单项代码及布局样式代码等。
处理器24,用于加载并执行存储器23存储的程序,实现上述的表单生成方法的各个步骤,具体实现过程可以参照上述方法实施例的描述,本实施例在此不再赘述。
另外,需要说明,对于电子设备的硬件组成,并不局限于上文列举的各部件,还可以包括输入设备等等,具体可以根据实际需要确定,本实施例不再一一列举。
本领域内的技术人员应明白,本发明提供的方法、装置或存储介质实施例,可以是采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还有,需要说明的是,关于上述各实施例中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法或者系统中还存在另外的相同要素。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置、存储介质而言,由于其与实施例公开的方法对应,所以描述的比较简单,相关之处参见方法部分说明即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种表单生成方法,其特征在于,所述方法包括:
获取目标表单具有的表单元素属性;
从已构建的表单项组件中,调用与获取的所述表单元素属性对应的表单项代码,所述表单项组件利用现有表单项的表单元素属性构建而成;
获取所述目标表单中各表单项的布局样式代码;
基于所述表单项代码和所述布局样式代码,生成所述目标表单。
2.根据权利要求1所述的方法,其特征在于,所述获取目标表单具有的表单元素属性,包括:
接收开发人员基于目标表单设计图输入的表单元素属性;或者,
获取目标表单设计图,并对所述目标表单设计图进行分析,得到目标表单具有的表单元素属性。
3.根据权利要求1所述的方法,其特征在于,所述从已构建的表单项组件中,调用与获取的所述表单元素属性对应的表单项代码,包括:
检测已构建的表单项组件是否包含获取的表单元素属性;
若所述表单项组件包含所述表单元素属性,调用与该表单元素属性对应的表单项代码;
若所述表单项组件未包含所述表单元素属性,输出编码提示信息,所述编码提示信息用于提醒开发人员编写该表单元素属性的表单项代码。
4.根据权利要求3所述的方法,其特征在于,所述调用与该表单元素属性对应的表单项代码,包括:
向数据服务器发送代码获取请求,所述代码获取请求携带有该表单元素属性或所述表元素属性的元素标识;
接收所述数据服务器反馈的该表单元素属性对应的表单项代码。
5.根据权利要求1所述的方法,其特征在于,所述从已构建的表单项组件中,调用与获取的所述表单元素属性对应的表单项代码,包括:
从已构建的表单项组件中,确定与获取的所述表单元素属性对应的至少一个表单项;
调用与确定的各表单项对应的表单项代码。
6.根据权利要求5所述的方法,其特征在于,所述从已构建的表单项组件中,确定与获取的所述表单元素属性对应的至少一个表单项,包括:
将获取的属于同一表单项的表单元素属性,与已构建的表单项组件中各表单项的表单元素属性进行对比;
基于比对结果,确定所述表单项组件中与获取的表单元素属性对应的至少一个表单项。
7.根据权利要求1~6任意一项所述的方法,其特征在于,所述表单项组件的构建过程包括:
从第三方获取现有表单的表单元素属性;
将所述现有表单的表单元素属性对应的表单项代码上传至数据服务器存储;
利用所述现有表单的表单元素属性,按照所述现有表单包含的各表单项的组成结构,封装得到表单项组件。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
接收到针对所述目标表单的更新请求;
解析所述更新请求,得到更新后的表单元素属性和/或更新后的布局样式;
调用与所述更新后的表单元素属性对应的表单项代码,和/或与更新后的布局样式对应的布局样式代码,更新所述目标表单。
9.一种表单生成装置,其特征在于,所述装置包括:
第一获取模块,用于获取目标表单具有的表单元素属性;
表单项代码调用模块,用于从已构建的表单项组件中,调用与获取的所述表单元素属性对应的表单项代码;
布局样式代码获取模块,用于获取所述目标表单中各表单项的布局样式代码;
表单生成模块,用于基于所述表单项代码和所述布局样式代码,生成所述目标表单。
10.一种电子设备,其特征在于,所述电子设备包括:
通信接口;显示器;
存储器,用于存储实现如权利要求1~8任意一项所述的表单生成方法的程序;
处理器,用于加载并执行所述存储器存储的程序,所述程序用于:
获取目标表单具有的表单元素属性;
从已构建的表单项组件中,调用与获取的所述表单元素属性对应的表单项代码;
获取所述目标表单中各表单项的布局样式代码;
基于所述表单项代码和所述布局样式代码,生成所述目标表单。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811333436.7A CN109460546A (zh) | 2018-11-09 | 2018-11-09 | 表单生成方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811333436.7A CN109460546A (zh) | 2018-11-09 | 2018-11-09 | 表单生成方法、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109460546A true CN109460546A (zh) | 2019-03-12 |
Family
ID=65609938
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811333436.7A Pending CN109460546A (zh) | 2018-11-09 | 2018-11-09 | 表单生成方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109460546A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110647709A (zh) * | 2019-09-12 | 2020-01-03 | 北京达佳互联信息技术有限公司 | 一种表单构建方法、装置和存储介质 |
CN110837369A (zh) * | 2019-10-24 | 2020-02-25 | 山东中创软件工程股份有限公司 | 一种表单生成方法、装置及电子设备和存储介质 |
CN111177633A (zh) * | 2019-12-31 | 2020-05-19 | 中国银行股份有限公司 | 网页表单自动填写方法、装置、存储介质及电子设备 |
CN112131847A (zh) * | 2020-09-27 | 2020-12-25 | 北京北信源软件股份有限公司 | 基于React的可视化表单生成方法及系统 |
CN112540803A (zh) * | 2020-12-18 | 2021-03-23 | 深圳赛安特技术服务有限公司 | 一种表单设计适配方法、装置、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160328378A1 (en) * | 2012-08-02 | 2016-11-10 | American Express Travel Related Services Company, Inc. | Anaphora resolution for semantic tagging |
CN106126491A (zh) * | 2016-06-29 | 2016-11-16 | 江苏中威科技软件系统有限公司 | 一种纸质表单转换为网页表单的方法及系统 |
CN108428112A (zh) * | 2018-03-12 | 2018-08-21 | 武汉斗鱼网络科技有限公司 | 一种表单的生成方法、装置、计算机和存储介质 |
-
2018
- 2018-11-09 CN CN201811333436.7A patent/CN109460546A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160328378A1 (en) * | 2012-08-02 | 2016-11-10 | American Express Travel Related Services Company, Inc. | Anaphora resolution for semantic tagging |
CN106126491A (zh) * | 2016-06-29 | 2016-11-16 | 江苏中威科技软件系统有限公司 | 一种纸质表单转换为网页表单的方法及系统 |
CN108428112A (zh) * | 2018-03-12 | 2018-08-21 | 武汉斗鱼网络科技有限公司 | 一种表单的生成方法、装置、计算机和存储介质 |
Non-Patent Citations (1)
Title |
---|
闫洪亮 等: "《ASP.NET程序设计》", 30 November 2008, 上海交通大学出版社 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110647709A (zh) * | 2019-09-12 | 2020-01-03 | 北京达佳互联信息技术有限公司 | 一种表单构建方法、装置和存储介质 |
CN110647709B (zh) * | 2019-09-12 | 2022-07-22 | 北京达佳互联信息技术有限公司 | 一种表单构建方法、装置和存储介质 |
CN110837369A (zh) * | 2019-10-24 | 2020-02-25 | 山东中创软件工程股份有限公司 | 一种表单生成方法、装置及电子设备和存储介质 |
CN111177633A (zh) * | 2019-12-31 | 2020-05-19 | 中国银行股份有限公司 | 网页表单自动填写方法、装置、存储介质及电子设备 |
CN111177633B (zh) * | 2019-12-31 | 2023-10-20 | 中国银行股份有限公司 | 网页表单自动填写方法、装置、存储介质及电子设备 |
CN112131847A (zh) * | 2020-09-27 | 2020-12-25 | 北京北信源软件股份有限公司 | 基于React的可视化表单生成方法及系统 |
CN112540803A (zh) * | 2020-12-18 | 2021-03-23 | 深圳赛安特技术服务有限公司 | 一种表单设计适配方法、装置、设备及存储介质 |
CN112540803B (zh) * | 2020-12-18 | 2023-08-11 | 深圳赛安特技术服务有限公司 | 一种表单设计适配方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109460546A (zh) | 表单生成方法、装置及电子设备 | |
CN109976761B (zh) | 软件开发工具包的生成方法、装置及终端设备 | |
US10083242B2 (en) | System and method for data-driven web page navigation control | |
CN108279932B (zh) | 一种移动终端动态配置用户界面方法和装置 | |
US8504913B2 (en) | Client-side components | |
CN110806863A (zh) | 接口文档生成方法及装置、电子设备、存储介质 | |
US20160124914A1 (en) | Page Processing for Mobile App | |
US20130298110A1 (en) | Software Visualization Using Code Coverage Information | |
US20170192877A1 (en) | Mobile application development and deployment | |
CN109388766A (zh) | 页面加载的方法和装置 | |
CN108282518A (zh) | 一种客户端页面生成方法和装置 | |
CN110347378A (zh) | 项目开发环境的搭建方法及装置 | |
CN111290778A (zh) | Ai模型的包装方法、平台及电子设备 | |
CN107301137A (zh) | Rset接口实现方法和装置及电子设备和计算机可读存储介质 | |
CN109032881A (zh) | 一种日志级别动态调整方法及装置 | |
CN107016282A (zh) | 一种信息处理方法及装置 | |
CN109739526A (zh) | 代码更新方法和装置 | |
CN116974620A (zh) | 应用程序的生成方法、运行方法以及相应的装置 | |
CN113495730A (zh) | 资源包的生成及解析方法和装置 | |
CN108170430A (zh) | 一种界面展示的方法及系统 | |
CN106095674B (zh) | 一种网站自动化测试方法和装置 | |
Pérez et al. | Facing interaction-rich rias: The orchestration model | |
CN113408254A (zh) | 一种页面表单信息填写方法、装置、设备和可读介质 | |
Goel et al. | System to identify and elide superfluous JavaScript code for faster webpage loads | |
CN110275923B (zh) | 插件化图形的管理方法及设备 |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190312 |