表单渲染方法、装置、设备及存储介质制造方法及图纸

技术编号:35307037 阅读:20 留言:0更新日期:2022-10-22 12:57
本申请提供一种表单渲染方法、装置、设备及存储介质,涉及表单引擎技术领域,该方法包括:获取表单页面的用户访问请求;判断浏览器内存中是否缓存有表单页面的组件配置信息;其中,组件配置信息包括组件标识、组件版本号、组件更新时间、组件描述信息;若浏览器内存中缓存有表单页面的组件配置信息,则从浏览器内存读取所述组件配置信息,并基于组件配置信息对表单页面进行表单渲染,实现了通过客户端内存获取组件信息而非实时请求服务器获取,提高了读取效率和表单渲染效率。读取效率和表单渲染效率。读取效率和表单渲染效率。

【技术实现步骤摘要】
表单渲染方法、装置、设备及存储介质


[0001]本申请涉及表单引擎
,具体而言,涉及一种表单渲染方法、装置、设备及存储介质。

技术介绍

[0002]表单引擎可称为表单流程、流程表单和工作流表单,是基于Web界面上可视化编辑的表单设计系统。随着低代码或者无代码越来越应用广泛,对应的表单引擎的使用无可避免,表单引擎又由多个元组件构建,在现有市场元组件的更新发布部署,无论是集中化部署还是单独部署缓存以提高读取效率都成为一种必要的技术手段。
[0003]目前,在表单引擎上进行表单渲染,由于每一次的表单渲染都要去后台服务器上读取,因此会面临对应的网络IO资源的消耗,当组件数量过多或过大则会增加向服务器发起请求的时间,大大降低表单渲染效率。

技术实现思路

[0004]有鉴于此,本申请实施例的目的在于提供一种表单渲染方法、装置、设备及存储介质,通过在访问表单页面时,首先判断浏览器内存中是否缓存有该表单页面的组件配置信息,如果有缓存,则直接从浏览器内存读取组件配置信息,并基于该组件配置信息进行表单渲染,实现了通过客户端内存获取组件信息而非实时请求服务器获取,提高了读取效率,从而解决了上述“需面临对应的网络IO资源的消耗,大大降低表单渲染效率”的技术问题。
[0005]第一方面,本申请实施例提供一种表单渲染方法,所述方法包括:获取表单页面的用户访问请求;判断浏览器内存中是否缓存有所述表单页面的组件配置信息;其中,所述组件配置信息包括组件标识、组件版本号、组件更新时间、组件描述信息;若所述浏览器内存中缓存有所述表单页面的组件配置信息,则从所述浏览器内存读取所述组件配置信息,并基于所述组件配置信息对所述表单页面进行表单渲染。
[0006]在上述实现过程中,通过直接去客户端内存获取组件配置信息而非实时请求获取,即避免了每次页面需要组件信息的时候都需要向服务端请求交互,而是提前判断是否缓存在内存中,进而直接在内存中直接读取,避免了面临网络IO资源的大量消耗,提升了用户的交互感受,提高了读取效率的同时,保证了表单渲染效率。
[0007]可选地,所述判断浏览器内存中是否缓存所述表单页面的组件配置信息,包括:读取浏览器内存中的全局变量;根据所述全局变量是否赋值,确定浏览器内存中是否缓存表单页面的组件配置信息。
[0008]在上述实现过程中,浏览器内存中的配置有无判断是根据一个全局变量是否有值来判定,方便快捷,提高了判别效率,进而更快确定是否可以直接去内存端读取还是后续从服务端获取更新。
[0009]可选地,所述判断浏览器内存中是否缓存所述表单页面的组件配置信息之前,所述方法还包括:轮训访问服务器端变更组件的组件配置信息;判断所述变更组件的组件配
置信息与所述浏览器内存中对应的组件配置信息更新时间是否一致;若不一致,将所述变更组件的组件配置信息更新到所述浏览器内存中。
[0010]在上述实现过程中,轮训机制通过比对更新时间可以检测出服务器端目录组件的配置更新,存在更新时则返回对应变动组件的组件配置信息,并更新到客户端的浏览器内存缓存中去,提高了客户端内存中的组件实时更新效果。
[0011]可选地,所述轮训访问的间隔时间为10s一次。
[0012]在上述实现过程中,10s一次轮训请求使得请求不会太频繁,用户感知也比较适中,提升了用户的交互感受,提高了更新效率。
[0013]可选地,所述从所述浏览器内存读取所述组件配置信息,并基于所述组件配置信息对所述表单页面进行表单渲染,包括:从所述浏览器内存读取多个组件对应的所述组件配置信息;从所述组件配置信息解析出所述多个组件的样式、所述多个组件的事件、以及所述多个组件的三方联动关系;基于所述多个组件的样式、所述多个组件的事件、以及所述多个组件的三方联动关系,对所述表单页面进行表单渲染。
[0014]在上述实现过程中,通过在内存中直接读取多个组件的组件配置关系渲染表单,相比于去服务端获取组件配置关系,避免了网络IO资源的大量消耗,提升了用户的交互感受,进一步提高了表单渲染效率。针对多组件单独部署时此种方式能够大大减少IO交互,有效地提高了多组件的读取效率。
[0015]可选地,所述判断浏览器内存中是否缓存所述表单页面的组件配置信息之后,所述方法还包括:若所述浏览器内存中未缓存有所述表单页面的组件配置信息,则从服务器端获取所述表单页面全部组件更新的组件配置信息;将所述更新的组件配置信息更新到所述浏览器内存中。
[0016]在上述实现过程中,通过判断到内存中未缓存组件配置信息,进而从服务器端获取组件信息,可以实现组件的服务器部署用户端自动更新发现,根据组件更新的信息来确定此次发布组件的作用域,可以实现局部性的组件更新,为组件配置信息的更新和缓存提供了必要条件,提升了用户的交互感受。
[0017]可选地,所述将所述更新的组件配置信息更新到所述浏览器内存中,包括:根据所述组件配置信息的版本号大小,倒序排列所述组件配置信息;将倒序排列后,版本号排列在第一个的组件配置信息更新到所述浏览器内存中。
[0018]在上述实现过程中,通过利用版本号的大小来倒序获取第一个最新版本组件,提高了组件更新效率。
[0019]第二方面,本申请实施例提供了一种表单渲染装置,所述装置包括:获取模块,用于获取表单页面的用户访问请求;判断缓存模块,用于判断浏览器内存中是否缓存有所述表单页面的组件配置信息;其中,所述组件配置信息包括组件标识、组件版本号、组件更新时间、组件描述信息;渲染模块,用于若所述浏览器内存中缓存有所述表单页面的组件配置信息,则从所述浏览器内存读取所述组件配置信息,并基于所述组件配置信息对所述表单页面进行表单渲染。
[0020]第三方面,本申请实施例还提供一种电子设备,包括:处理器、存储器,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述机器可读指令被所述处理器执行时执行上述的方法的步骤。
[0021]第四方面,本申请实施例提供一种计算机可读存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述的方法的步骤。
[0022]为使本申请的上述目的、特征和优点能更明显易懂,下文特举实施例,并配合所附附图,作详细说明如下。
附图说明
[0023]为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
[0024]图1为本申请实施例提供的一种表单渲染方法的流程图;
[0025]图2为本申请实施例提供的一种组件更新和缓存方法流程示意图;
[0026]图3为本申请实施例提供的表单渲染装置的功能模块示意图;以及
[0027]图4为本申请实施例提供表单渲染装置的电子设备的方框示意图。
[0028]图标本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种表单渲染方法,其特征在于,所述方法包括:获取表单页面的用户访问请求;判断浏览器内存中是否缓存有所述表单页面的组件配置信息;其中,所述组件配置信息包括组件标识、组件版本号、组件更新时间、组件描述信息;若所述浏览器内存中缓存有所述表单页面的组件配置信息,则从所述浏览器内存读取所述组件配置信息,并基于所述组件配置信息对所述表单页面进行表单渲染。2.根据权利要求1所述的方法,其特征在于,所述判断浏览器内存中是否缓存所述表单页面的组件配置信息,包括:读取浏览器内存中的全局变量;根据所述全局变量是否赋值,确定浏览器内存中是否缓存表单页面的组件配置信息。3.根据权利要求1所述的方法,其特征在于,所述判断浏览器内存中是否缓存所述表单页面的组件配置信息之前,所述方法还包括:轮训访问服务器端变更组件的组件配置信息;判断所述变更组件的组件配置信息与所述浏览器内存中对应的组件配置信息更新时间是否一致;若不一致,将所述变更组件的组件配置信息更新到所述浏览器内存中。4.根据权利要求3所述的方法,其特征在于,其中,所述轮训访问的间隔时间为10s一次。5.根据权利要求1所述的方法,其特征在于,所述从所述浏览器内存读取所述组件配置信息,并基于所述组件配置信息对所述表单页面进行表单渲染,包括:从所述浏览器内存读取多个组件对应的所述组件配置信息;从所述组件配置信息解析出所述多个组件的样式、所述多个组件的事件、以及所述多个组件的三方联动关系;基于所述多个组件的样式、所述多个组件的事件、以及所述多个组件的三方联动关系...

【专利技术属性】
技术研发人员:王强杨杰周刚伟
申请(专利权)人:电子科大科园股份有限公司
类型:发明
国别省市:

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

1