本发明涉及数据处理技术,尤其涉及一种数据处理方法及前端代码生成装置。
背景技术:
::移动健康业务领域web网页的前端页面,在代码开发过程中存在大量重复工作的问题,而且,这些前端页面所对应的代码通常需要开发人员手动编码,出错率较高;因此,如何实现前端页面所对应的代码,也即前端代码的自动生成,减少重复开发,节省开发成本等称为了亟待解决的一个问题。技术实现要素:为解决现有存在的技术问题,本发明实施例提供了一种数据处理方法及前端代码生成装置。本发明实施例的技术方案是这样实现的:本发明实施例提供了一种数据处理方法,应用于前端代码生成装置;所述方法包括:获取代码标准模板、通用脚本文件以及信息项配置表;其中,所述信息项配置表用于表征至少一个信息项与至少一个文档对象模型dom元素相关规则之间的对应关系;根据所述信息项配置表所表征的至少一个信息项与至少一个dom元素相关规则之间的对应关系,选取至少一个dom元素相关规则对所述至少一个信息项进行配置处理;根据配置处理结果,在所述代码标准模板中自动加载与所述至少一个信息项对应的至少一个dom元素,以及自动调用与所述至少一个信息项对应的通用脚本文件,以生成与所述信息项配置表所对应的目标代码。上述方案中,所述方法还包括:根据所述目标代码生成第一页面;所述第一页面能够表征所述至少一个信息项所对应的属性信息。上述方案中,所述方法还包括:获取所述目标代码的调整策略;所述调整策略是根据所述第一页面表征的所述至少一个信息项所对应的属性信息而确定出的;根据所述调整策略对所述目标代码进行调整,以使调整后的所述目标代码与所述至少一个信息项以及至少一个dom元素相关规则匹配。上述方案中,所述方法还包括:设置所述至少一个dom元素相关规则与所述至少一个dom元素之间的对应关系;对应地,所述在所述代码标准模板中自动加载与所述至少一个信息项对应的至少一个dom元素,包括:根据所述至少一个dom元素相关规则与所述至少一个dom元素之间的对应关系,确定出与选取出的至少一个dom元素相关规则对应的至少一个dom元素,并在所述代码标准模板中自动加载与选取出的至少一个dom元素相关规则对应的至少一个dom元素。上述方案中,所述方法还包括:判断所述信息项配置表中与所述至少一个信息项所对应的至少一个dom元素相关规则是否满足预设规则;对应地,所述根据所述信息项配置表所表征的至少一个信息项与至少一个dom元素相关规则之间的对应关系,选取至少一个dom元素相关规则对所述至少一个信息项进行配置处理,包括:当所述信息项配置表中与所述至少一个信息项所对应的至少一个dom元素相关规则满足所述预设规则时,根据所述信息项配置表所表征的至少一个信息项与至少一个dom元素相关规则之间的对应关系,选取至少一个dom元素相关规则对所述至少一个信息项进行配置处理。上述方案中,所述dom元素相关规则包括以下规则中的至少一种:dom元素类型规则、dom元素审核规则、dom元素关联规则、dom元素位置规则、dom元素数据自动生成规则。本发明实施例还提供了一种前端代码生成装置,包括:获取单元,用于获取代码标准模板、通用脚本文件以及信息项配置表;其中,所述信息项配置表用于表征至少一个信息项与至少一个文档对象模型dom元素相关规则之间的对应关系;确定单元,用于根据所述信息项配置表所表征的至少一个信息项与至少一个dom元素相关规则之间的对应关系,选取至少一个dom元素相关规则对所述至少一个信息项进行配置处理;处理单元,用于根据配置处理结果,在所述代码标准模板中自动加载与所述至少一个信息项对应的至少一个dom元素,以及自动调用与所述至少一个信息项对应的通用脚本文件,以生成与所述信息项配置表所对应的目标代码。上述方案中,所述处理单元,还用于根据所述目标代码生成第一页面;所述第一页面能够表征所述至少一个信息项所对应的属性信息。上述方案中,所述处理单元,还用于获取所述目标代码的调整策略;还用于根据所述调整策略对所述目标代码进行调整,以使调整后的所述目标代码与所述至少一个信息项以及至少一个dom元素相关规则匹配;其中,所述调整策略是根据所述第一页面表征的所述至少一个信息项所对应的属性信息而确定出的。上述方案中,所述前端代码生成装置还包括:设置单元,用于设置所述至少一个dom元素相关规则与所述至少一个dom元素之间的对应关系;对应地,所述处理单元,还用于根据所述至少一个dom元素相关规则与所述至少一个dom元素之间的对应关系,确定出与选取出的至少一个dom元素相关规则对应的至少一个dom元素,并在所述代码标准模板中自动加载与选取出的至少一个dom元素相关规则对应的至少一个dom元素。上述方案中,所述确定单元,还用于判断所述信息项配置表中与所述至少一个信息项所对应的至少一个dom元素相关规则是否满足预设规则;还用于当所述信息项配置表中与所述至少一个信息项所对应的至少一个dom元素相关规则满足所述预设规则时,根据所述信息项配置表所表征的至少一个信息项与至少一个dom元素相关规则之间的对应关系,选取至少一个dom元素相关规则对所述至少一个信息项进行配置处理。上述方案中,所述dom元素相关规则包括以下规则中的至少一种:dom元素类型规则、dom元素审核规则、dom元素关联规则、dom元素位置规则、dom元素数据自动生成规则。本发明实施例所述的数据处理方法及前端代码生成装置,能够利用dom元素相关规则对信息项配置表中的信息项进行配置处理,进而根据配置处理结果在代码标准模板中自动加载与信息项对应的dom元素,以及自动调用与信息项对应的通用脚本文件,如此,自动生成与所述信息项配置表所对应的目标代码,实现前端代码的自动生成过程。附图说明图1为本发明实施例数据处理方法的实现流程示意图;图2为本发明实施例前端代码生成装置的结构示意图;图3为本发明实施例前端代码生成装置的具体结构示意图;图4为本发明实施例数据处理方法具体实现的流程示意图;图5为本发明实施例数据处理方法的具体应用示意图。具体实施方式针对数据采集系统,前端代码和后端代码在自动生成方面有很多的区别,例如,前端代码需要解决丰富的前端录入信息的审核、特效显示、关联显示等难点,所以,在前端代码的自动生成过程中需要较多的逻辑判断,而不能仅仅通过类似后端代码生成方案中的提取模板和简单字符串替换等方式来实现;另外,前端代码生成的核心是dom元素的自动加载,这个特点是前端代码的特色,是后端代码不需要涉及的内容。因此,本发明实施例的核心点是如何基于规则引擎实现dom元素的自动加载。为了能够更加详尽地了解本发明的特点与技术内容,下面结合附图对本发明的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本发明。实施例一图1为本发明实施例数据处理方法的实现流程示意图;所述方法应用于前端代码生成装置;如图1所示,所述方法包括:步骤101:获取代码标准模板、通用脚本文件以及信息项配置表;其中,所述信息项配置表用于表征至少一个信息项与至少一个文档对象模型dom元素相关规则之间的对应关系;在一具体实施例中,当获取到所述信息项配置表后,所述前端代码生成装置还需要判断所述信息项配置表中与所述至少一个信息项所对应的至少一个dom元素相关规则是否满足预设规则,进而当所述信息项配置表中与所述至少一个信息项所对应的至少一个dom元素相关规则满足所述预设规则时,所述前端代码生成装置才能根据所述信息项配置表所表征的至少一个信息项与至少一个dom元素相关规则之间的对应关系,选取至少一个dom元素相关规则对所述至少一个信息项进行配置处理。步骤102:根据所述信息项配置表所表征的至少一个信息项与至少一个dom元素相关规则之间的对应关系,选取至少一个dom元素相关规则对所述至少一个信息项进行配置处理;在实际应用中,为使所述前端代码生成装置能够自动加载与信息项对应的dom元素,本实施例中,所述前端代码生成装置还需要设置所述至少一个dom元素相关规则与所述至少一个dom元素之间的对应关系,进而在选取出与所述至少一个信息项对应的至少一个dom元素相关规则后,根据所述至少一个dom元素相关规则与所述至少一个dom元素之间的对应关系,确定出与选取出的至少一个dom元素相关规则对应的至少一个dom元素,并在所述代码标准模板中自动加载与选取出的至少一个dom元素相关规则对应的至少一个dom元素,如此,实现dom元素自动加载的过程,为自动生成目标代码奠定了基础。步骤103:根据配置处理结果,在所述代码标准模板中自动加载与所述至少一个信息项对应的至少一个dom元素,以及自动调用与所述至少一个信息项对应的通用脚本文件,以生成与所述信息项配置表所对应的目标代码。本实施例中,当所述前端代码生成装置生成与所述信息项配置表所对应的目标代码后,所述方法还包括:根据所述目标代码生成第一页面;所述第一页面能够表征所述至少一个信息项所对应的属性信息。进一步地,当所述前端代码生成装置生成所述第一页面后,所述前端代码生成装置还需要获取所述目标代码的调整策略;这里,所述调整策略是根据所述第一页面表征的所述至少一个信息项所对应的属性信息而确定出的,进而根据所述调整策略对所述目标代码进行调整,以使调整后的所述目标代码与所述至少一个信息项以及至少一个dom元素相关规则匹配。如此,使调整后的所述目标代码与所述至少一个信息项以及至少一个dom元素相关规则更加匹配,实现重复分析前端第一页面,例如web页面的代码设计的dom元素的类型的目的,进而为最终输出精准数据奠定基础。本实施例中,所述dom元素相关规则包括以下规则中的至少一种:dom元素类型规则、dom元素审核规则、dom元素关联规则、dom元素位置规则、dom元素数据自动生成规则。本发明实施例所述的数据处理方法,能够利用dom元素相关规则对信息项配置表中的信息项进行配置处理,进而根据配置处理结果在代码标准模板中自动加载与信息项对应的dom元素,以及自动调用与信息项对应的通用脚本文件,如此,自动生成与所述信息项配置表所对应的目标代码,实现前端代码的自动生成过程。另外,由于本发明实施例所述的dom元素相关规则能够应用于移动健康业务领域,所以本发明实施例能够填补移动健康业务领域中前端web页面代码自动生成的这一空白。进一步地,由于代码标准模板是对前端代码共性分析的基础上确定出的,所以,本发明实施例所述的数据处理方法能够解决信息采集系统前端代码开发中存在的大量重复工作的问题,进而为开发人员在前端代码开发方面减少了开发工作量,节省了开发成本。为实现实施例一所述的方法,本发明实施例还提供了一种前端代码生成装置,如图2所示,所述前端代码生成装置包括:获取单元21,用于获取代码标准模板、通用脚本文件以及信息项配置表;其中,所述信息项配置表用于表征至少一个信息项与至少一个文档对象模型dom元素相关规则之间的对应关系;确定单元22,用于根据所述信息项配置表所表征的至少一个信息项与至少一个dom元素相关规则之间的对应关系,选取至少一个dom元素相关规则对所述至少一个信息项进行配置处理;处理单元23,用于根据配置处理结果,在所述代码标准模板中自动加载与所述至少一个信息项对应的至少一个dom元素,以及自动调用与所述至少一个信息项对应的通用脚本文件,以生成与所述信息项配置表所对应的目标代码。本实施例中,所述处理单元,还用于根据所述目标代码生成第一页面;所述第一页面能够表征所述至少一个信息项所对应的属性信息。本实施例中,所述处理单元,还用于获取所述目标代码的调整策略;还用于根据所述调整策略对所述目标代码进行调整,以使调整后的所述目标代码与所述至少一个信息项以及至少一个dom元素相关规则匹配;其中,所述调整策略是根据所述第一页面表征的所述至少一个信息项所对应的属性信息而确定出的。本实施例中,所述前端代码生成装置还包括:设置单元,用于设置所述至少一个dom元素相关规则与所述至少一个dom元素之间的对应关系;对应地,所述处理单元,还用于根据所述至少一个dom元素相关规则与所述至少一个dom元素之间的对应关系,确定出与选取出的至少一个dom元素相关规则对应的至少一个dom元素,并在所述代码标准模板中自动加载与选取出的至少一个dom元素相关规则对应的至少一个dom元素。本实施例中,所述确定单元,还用于判断所述信息项配置表中与所述至少一个信息项所对应的至少一个dom元素相关规则是否满足预设规则;还用于当所述信息项配置表中与所述至少一个信息项所对应的至少一个dom元素相关规则满足所述预设规则时,根据所述信息项配置表所表征的至少一个信息项与至少一个dom元素相关规则之间的对应关系,选取至少一个dom元素相关规则对所述至少一个信息项进行配置处理。本实施例中,所述dom元素相关规则包括以下规则中的至少一种:dom元素类型规则、dom元素审核规则、dom元素关联规则、dom元素位置规则、dom元素数据自动生成规则。本领域技术人员应当理解,本发明实施例的前端代码生成装置中各处理单元的功能,可参照前述数据处理方法的相关描述而理解,这里不再赘述。以上所描述的前端代码生成装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,实施例二给出了前端代码生成装置中各单元的另外一种划分方式。实施例二本发明实施例提供了一种数据处理方法的具体实现过程;本发明实施例所述的数据处理方法可以基于图3所示的前端代码生成装置而实现,如图3所示,所述前端代码生成装置包括:代码标准模板获取单元31,规则引擎设置单元32以及dom元素自动加载单元33;以下结合图3所示的前端代码生成装置对本发明实施例所述的数据处理方法做进一步详细说明:第一部分,代码标准模板的设置过程:在实际应用中,本实施例所述的代码标准模板是通过对现有的前端代码进行分析,根据现有的前端技术架构,抽取共性的内容,形成的一个标准模板。针对前端页面中的不同信息项在输入类型、数值类型、数据长度、是否可空、是否关联、关联对象、摆放位置等方面的不同,分别制定不同的通用脚本文件,如此,通过不同的通用脚本文件实现不同的页面效果。具体地,所述代码标准模板获取单元31获取上述代码标准模板,以将所述代码标准模板作为所述前端代码生成装置的输入数据;进而,通过结合规则引擎设置单元中设置的dom元素相关规则,实现在所述dom元素自动加载单元中自动加载dom元素的过程,进而实现目标代码的自动生成过程,最终形成前端页面代码。从技术角度分析,当将本发明实施例所述的数据处理方法应用于移动健康业务领域时,信息项配置表中的信息项通常包含有三种类型的文件,如此,通过三种类型的文件共同配合实现一个特定的功能页面;其中,所述的三种类型包括用于特效实现和数据加载的javascript(js)文件、用于信息展示的超文本标记语言(html)文件以及用于处理样式效果的层叠样式表(css)文件。例如,在移动健康业务领域的信息项配置表中,此信息项配置表能够表征体检信息,此时,表征有所述体检信息的页面可由上述三种文件来实现,即所述js文件负责实现联动、调用脚本检查输入的数据是否合法等;所述css文件负责定义页面上的文字颜色背景色等;所述html文件是最终的页面代码承载体,用于引用js文件和css文件共同完成页面的整体实现。这里,所述的页面可以具体为实施例一所述的第一页面;进一步地,针对上述三种文件,本实施例提供了三类模板,分别为:模板一:css文件对应的代码标准模板,具体内容如下:模板二:js文件对应的代码标准模板,具体内容如下:模板三:html文件对应的代码标准模板,具体内容如下:第二部分,规则引擎的设计和实现;这里,所述规则引擎也即本实施例所述的dom元素相关规则;进一步地,所述dom元素相关规则,也即规则引擎的设置过程是在规则引擎设置单元32中实现的;本实施例中,所述规则引擎,也即所述dom元素相关规则包括至少一个表1所示的规则。这里,规则引擎的设计是dom元素自动加载的重要一环,dom元素如何自动加载主要是根据规则引擎的具体定义来进行逻辑判断并最终实现加载效果的。htmldom实例中包含document对象/event对象/table、tableheader、tablerow、tabledata对象等几十种,对每个对象的操作需要调取业务逻辑来决定是否加载这个对象。规则引擎即设置了模板的业务规则。这里,模板即代码标准模板是所有的常见的dom元素的内容和页面布局的相关信息。业务规则即根据业务关系决定下载dom元素的优先级和是否加载等。从类别上来说,本实施例对规则引擎进行了如下定义,如表1所示:表1规则引擎类别定义在移动健康业务领域中常需要采集许多信息项,比如采集用户账户信息、采集用户体检数据等。这里,不同的信息项可以通过不同的采集页面进行;进一步地,以采集用户体检数据为例,对规则引擎在处理信息项的具体过程做进一步详细说明:利用dom元素类型规则处理医疗数据采集场景中输入的信息项的类型,例如通过增添dom元素控制体检类型、血压值、身高值等信息项属于数值型,控制b超检查结果属于文本类型,控制视力是否正常属于布尔值类型,控制心电图属于附件类型。利用dom元素审核规则审核医疗数据采集场景中页面输入信息的合法性,例如通过添加dom元素控制性别、血压测量等信息项为必要输入项,用户乙肝信息等信息项为可选项,身份证信息项必须为18位。利用dom元素关联规则处理医疗数据采集场景中页面上需要关联的信息项,通过添加dom元素控制信息项属性为女的信息项,与某些限制在女性相关的体检或检查过程所对应的信息项进行关联;具体地,如某人的性别为女,则某些要录入的可选信息项就限制在女性相关的范围。利用dom元素位置规则处理医疗数据采集场景中信息项在页面的位置,例如,通过添加dom元素控制体检表中的信息项在页面的先后排序关系,如用户姓名放第一行第一类,用户性别放第一行第二列。利用dom元素数据自动生成规则处理医疗数据采集场景中页面上需要自动生成的信息项,例如,通过添加dom元素自动生成用户的体检报告编号,如结合用户的身份证、性别、职业、单位等自动生成用户的体检报告编号。这样,通过上述对规则引擎的定义,使得本发明实施例所述的前端代码生成装置能够应用于医疗数据采集场景,例如,将本发明实施例所述的前端代码生成装置设置于医疗数据采集服务器中。第三部分:dom元素自动加载的设计和实现;这里,所述dom元素的自动加载过程是在dom元素自动加载单元33中实现的;所述dom元素自动加载单元33是前端代码生成装置的核心,它是具体实现代码自动生成的主要实现单元,也即是具体实现代码自动生成的主体程序执行单元;所述主体程序包括:逻辑判断模块、代码生成模块、生成报告展示模块等;以下结合图3所示的前端代码生成装置,以及图4所示的流程图对本发明数据处理方法做详细说明:步骤401:所述dom元素自动加载单元33从所述代码标准模板获取单元31中获取代码表征模板、通用脚本文件以及信息项配置表;同时,从所述规则引擎设置单元32中获取dom元素相关规则;步骤402:所述dom元素自动加载单元33判断所述信息项配置表中与信息项所对应的dom元素相关规则是否满足预设规则;当满足预设规则时,执行步骤403;否则,结束。步骤403:所述dom元素自动加载单元33根据信息项配置表中的配置信息,循环处理每个信息项;具体地,代码逻辑利用规则引擎设置单元32设置的与信息项对应的dom元素相关规则,对所述信息项配置表中不同的信息项进行配置处理,例如,利用dom元素类型规则处理输入的信息项的类型、利用dom元素审核规则审核页面输入的信息项的合法性、利用dom元素关联规则处理页面上可能的关联信息项、利用dom元素位置规则处理信息项在页面的位置、利用dom元素数据自动生成规则处理页面上需要自动生成的信息项。步骤404:根据配置处理结果,在所述代码标准模板中自动加载与所述信息项配置表中的信息项对应的至少一个dom元素,以及自动调用与所述信息项配置表中的信息项对应的通用脚本文件,以生成与所述信息项配置表所对应的目标代码;这里,所述的目标代码即为前端代码。本实施例中,dom元素自动加载过程可以具体按照业务的规则引擎自动记载dom元素;这里,设计添加、移除、改变或重排页面上的dom元素是非常复杂的事情,例如,要改变页面的内容,javascript就需要对html文档中所有元素通过入口进行访问,这个入口能够对html元素进行添加、移动、改变,且上述过程都需要通过文档对象模型dom元素来实现的。在实际应用中,所述dom元素自动加载单元33还需要收集自动生成代码的详细情况,并通过页面展示给开发人员,以便于开发人员根据展示结果对生成的目标代码做部分微调。这里,在实际应用中,所述信息项配置表为输入内容;具体地,输入的内容需要根据实际需求分析前端web页面代码设计的dom元素都有哪些类型,并根据这些类型分析其特点,也就是所,需要根据信息项配置表中的信息项确定出与之对应的dom元素相关规则,并进而抽象出excel格式的输入信息。如表2即为抽象出的信息项配置表;进一步地,参照图5所示的示意图,再执行完本发明实施例所述的数据处理方法后输出数据,进而展示界面。表2当将表2所示的表作为输入信息,并执行本发明实施例所述的数据处理方法后,输出代码相关信息和代码生成日志,如以下所示:1、输出的代码生成日志如下:2、输出的代码类别列表如下:以下对本发明实施例所述的名词做解释:1、前端代码,信息采集系统中一般有很多类信息需要采集,每个类别的采集都需要有自己对应的信息采集页面;从程序开发的角度而言,这样的每个页面都分别对应一份独立的代码来实现这个页面的效果,此代码即为前端代码;进一步地,在这样的页面中信息采集项,也即信息项是不一样的,而且,不同的信息项存在的数据录入格式、长度限制、输入类型等方面有不同的定义。2、dom元素dom是documentobjectmodel文档对象模型的缩写。根据w3cdom规范,dom元素是一种与浏览器,平台,语言无关的接口,使得用户可以访问页面其他的标准组件;简单来说,dom元素解决了netscape的javascript和microsoft的javascript之间的冲突,给予web设计师和开发者一个标准的方法,让他们来访问他们站点中的数据、脚本和表现层对象。进一步地,dom元素是以层次结构组织的节点或信息片断的集合。这个层次结构允许开发人员在树中导航寻找特定信息。分析该结构通常需要加载整个文档和构造层次结构,然后才能做任何工作。由于它是基于信息层次的,因而dom被认为是基于树或基于对象的。在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。另外,在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(rom,readonlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、只读存储器(rom,readonlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本
技术领域:
:的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。当前第1页12当前第1页12