一种表单生成方法、介质、装置和计算设备制造方法及图纸

技术编号:38751751 阅读:18 留言:0更新日期:2023-09-09 11:18
本公开的实施方式提供了一种表单生成方法、介质、装置和计算设备。该方法包括:在表单生成器的schema组件中内置有至少一个插件,在执行所述待处理代码的过程中,若触发所述钩子函数则执行与所述钩子函数关联的插件;获取执行所述插件的功能函数后得到的处理结果;基于所述处理结果生成所述待处理代码对应的表单。本公开通过在schema组件中安装插件的方式拓展表单生成器的功能,使得表单生成器具有可拓展性,拓展后的表单生成器可以适用于更多的应用场景。用场景。用场景。

【技术实现步骤摘要】
一种表单生成方法、介质、装置和计算设备


[0001]本公开的实施方式涉及数据处理领域,更具体地,本公开的实施方式涉及一种表单生成方法、介质、装置和计算设备。

技术介绍

[0002]随着互联网的不断发展,动态生成表单的应用场景日益增多,这使得使用表单生成器的用户对其所能提供的功能有着更高的期望,这也对维护表单生成器的开发人员提出了更大的挑战。用户对表单生成器的需求越来越复杂和多样化,要求它能够灵活地支持各种表单字段类型、验证规则、条件逻辑以及数据存储等功能。因此,开发人员需要不断增加表单生成器的功能,以满足用户对表单生成器不断增长的需求,并保持其竞争力。
[0003]本部分旨在为权利要求书中陈述的本公开的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。

技术实现思路

[0004]在本上下文中,本公开的实施方式期望提供一种表单生成方法、介质、装置和计算设备,通过插件拓展schema组件的功能,使基于schema组件的表单生成器可以适用于更多的应用场景。
[0005]在本公开实施方式的第一方面中,提供了一种表单生成方法,应用于表单生成器,所述表单生成器的schema组件中内置有至少一个插件,所述插件用于拓展schema组件的功能,所述方法包括:
[0006]获取待处理代码,所述待处理代码中的钩子函数与至少一个插件关联;在执行所述待处理代码的过程中,若触发所述钩子函数则执行与所述钩子函数关联的插件;获取执行所述插件的功能函数后得到的处理结果;基于所述处理结果生成所述待处理代码对应的表单。
[0007]在本公开的一个实施例中,所述在执行所述待处理代码的过程中,若触发所述钩子函数则执行与所述钩子函数关联的插件,包括:
[0008]在执行所述待处理代码的过程中,启动钩子函数对应的监听函数;
[0009]在监听到所述钩子函数被触发的情况下,执行与所述钩子函数关联的插件中的所有功能函数。
[0010]在本公开的一个实施例中,所述方法还包括:
[0011]基于所述schema组件的所有插件对应的配置文件,对每个插件进行初始化,得到对应的插件入口文件,其中,所述配置文件用于描述对应的插件用于对所述schema组件进行功能扩展,所述插件入口文件用于描述每个插件包括的功能函数的访问路径;
[0012]所述执行与所述钩子函数关联的插件中的所有功能函数,包括:
[0013]确定与所述钩子函数关联的插件对应的插件入口文件;基于所述插件入口文件指示的所有功能函数的访问路径,执行所有功能函数。
[0014]在本公开的一个实施例中,所述schema组件中内置有布局插件,所述获取运行所述插件的功能函数后得到的处理结果,包括:
[0015]获取所述待处理代码中的表单数组,所述表单数组中包括多个表单元素;对所述表单数组进行解析,根据横向布局样式确定每个表单元素位于所在行中的位置信息。
[0016]在本公开的一个实施例中,所述对所述表单数组进行解析,根据横向布局样式确定每个表单元素位于所在行中的位置信息,包括:
[0017]遍历所述表单数组中的表单元素,确定每个表单元素所占的宽度信息;在横向布局样式下,根据每个表单元素在所述表单数组中的排列顺序和所述表单元素的宽度信息,确定每个表单元素位于所在行中的位置信息。
[0018]在本公开的一个实施例中,所述schema组件中内置有格式转换插件,在执行所述待处理代码之前,所述方法还包括:
[0019]若所述待处理代码的格式属于除指定格式之外的其他格式,则调用所述格式转换插件将所述待处理代码转换为指定格式的可执行代码。
[0020]在本公开的一个实施例中,所述调用所述格式转换插件将所述待处理代码转换为指定格式的可执行代码,包括:
[0021]将所述待处理代码解析为符合目标数据结构的集合;调用Python中的转换函数遍历所述集合,得到可执行代码。
[0022]在本公开的一个实施例中,所述schema组件中内置有补全插件,所述方法还包括:
[0023]响应于用户的输入操作,获取用户已输入的字段信息;获取与所述字段信息对应的多个候选字段选项;向用户推荐各候选字段选项。
[0024]在本公开的一个实施例中,获取与所述字段信息对应的多个候选字段选项的方法,包括以下至少一项:
[0025]将所述字段信息输入预先训练的补全网络,获取与所述字段信息对应的多个候选字段选项;
[0026]从数据库中获取与所述字段信息的相似度符合设定条件的多个候选字段选项。
[0027]在本公开实施方式的第二方面中,提供了一种表单生成装置,所述表单生成器的schema组件中内置有至少一个插件,所述插件用于拓展schema组件的功能,所述装置包括:
[0028]获取单元,用于获取待处理代码,所述待处理代码中的钩子函数与至少一个插件关联;
[0029]执行单元,用于在执行所述待处理代码的过程中,若触发所述钩子函数则执行与所述钩子函数关联的插件,获取执行所述插件的功能函数后得到的处理结果;
[0030]生成单元,用于基于所述处理结果生成所述待处理代码对应的表单。
[0031]在本公开的一个实施例中,所述执行单元具体用于:在执行所述待处理代码的过程中,启动钩子函数对应的监听函数;在监听到所述钩子函数被触发的情况下,执行与所述钩子函数关联的插件中的所有功能函数。
[0032]在本公开的一个实施例中,在所述schema组件中内置有布局插件的情况下,所述执行单元具体用于:获取所述待处理代码中的表单数组,所述表单数组中包括多个表单元素;对所述表单数组进行解析,根据横向布局样式确定每个表单元素位于所在行中的位置信息。
[0033]在本公开的一个实施例中,所述执行单元具体用于:遍历所述表单数组中的表单元素,确定每个表单元素所占的宽度信息;在横向布局样式下,根据每个表单元素在所述表单数组中的排列顺序和所述表单元素的宽度信息,确定每个表单元素位于所在行中的位置信息。
[0034]在本公开的一个实施例中,在所述schema组件中内置有格式转换插件的情况下,所述执行单元在执行所述待处理代码之前,还用于:若所述待处理代码的格式属于除指定格式之外的其他格式,则调用所述格式转换插件将所述待处理代码转换为指定格式的可执行代码。
[0035]在本公开的一个实施例中,在所述schema组件中内置有补全插件的情况下,所述执行单元还用于:响应于用户的输入操作,获取用户已输入的字段信息;获取与所述字段信息对应的多个候选字段选项;向用户推荐各候选字段选项。
[0036]在本公开实施方式的第三方面中,提供了一种计算机可读存储介质,其上储存有计算机程序指令,所述计算机程序指令被处理器执行时实现任一实施例所述的方法。
[0037]在本公开实施方式的第四方面中,提供了一种计算设备,包括:存储器、处理器;
[0038]所述存储器用于本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种表单生成方法,其特征在于,应用于表单生成器,所述表单生成器的schema组件中内置有至少一个插件,所述插件用于拓展schema组件的功能,所述方法包括:获取待处理代码,所述待处理代码中的钩子函数与至少一个插件关联;在执行所述待处理代码的过程中,若触发所述钩子函数则执行与所述钩子函数关联的插件;获取执行所述插件的功能函数后得到的处理结果;基于所述处理结果生成所述待处理代码对应的表单。2.根据权利要求1所述的方法,其特征在于,所述在执行所述待处理代码的过程中,若触发所述钩子函数则执行与所述钩子函数关联的插件,包括:在执行所述待处理代码的过程中,启动钩子函数对应的监听函数;在监听到所述钩子函数被触发的情况下,执行与所述钩子函数关联的插件中的所有功能函数。3.根据权利要求2所述的方法,其特征在于,所述方法还包括:基于所述schema组件的所有插件对应的配置文件,对每个插件进行初始化,得到对应的插件入口文件,其中,所述配置文件用于描述对应的插件用于对所述schema组件进行功能扩展,所述插件入口文件用于描述每个插件包括的功能函数的访问路径;所述执行与所述钩子函数关联的插件中的所有功能函数,包括:确定与所述钩子函数关联的插件对应的插件入口文件;基于所述插件入口文件指示的所有功能函数的访问路径,执行所有功能函数。4.根据权利要求1所述的方法,其特征在于,所述schema组件中内置有布局插件,所述获取运行所述插件的功能函数后得到的处理结果,包括:获取所述待处理代码中的表单数组,所述表单数组中包括多个表单元素;对所述表单数组进行解析,根据横向布局样式确定每个表单元素位于所在行中的位置信息。5.根据权利要求4所述的方法,其特征在于,所述对所述表单数组进行解...

【专利技术属性】
技术研发人员:郭颖项子晨
申请(专利权)人:杭州朗和科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1