CN115858007A - 扩展组件的加载方法和装置、存储介质及电子装置 - Google Patents

扩展组件的加载方法和装置、存储介质及电子装置 Download PDF

Info

Publication number
CN115858007A
CN115858007A CN202211564032.5A CN202211564032A CN115858007A CN 115858007 A CN115858007 A CN 115858007A CN 202211564032 A CN202211564032 A CN 202211564032A CN 115858007 A CN115858007 A CN 115858007A
Authority
CN
China
Prior art keywords
file
component package
extension
extension component
dependency
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
Application number
CN202211564032.5A
Other languages
English (en)
Inventor
王乐谦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qingdao Haier Technology Co Ltd
Haier Smart Home Co Ltd
Haier Uplus Intelligent Technology Beijing Co Ltd
Original Assignee
Qingdao Haier Technology Co Ltd
Haier Smart Home Co Ltd
Haier Uplus Intelligent Technology Beijing Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Qingdao Haier Technology Co Ltd, Haier Smart Home Co Ltd, Haier Uplus Intelligent Technology Beijing Co Ltd filed Critical Qingdao Haier Technology Co Ltd
Priority to CN202211564032.5A priority Critical patent/CN115858007A/zh
Publication of CN115858007A publication Critical patent/CN115858007A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

本申请公开了一种扩展组件的加载方法和装置、存储介质及电子装置,涉及智慧家庭技术领域,该扩展组件的加载方法包括:向组件包存储器发送第一请求信息,其中,第一请求信息用于请求获取目标***的扩展组件包的描述文件,表单设计器运行在目标***,扩展组件包用于指示目标***对应的多个扩展组件,描述文件包括:扩展组件包的属性信息、扩展组件包对应的依赖库的地址、扩展组件包的配置文件地址;接收组件包存储器发送的携带有描述文件的第一响应信息,并根据描述文件获取扩展组件包的依赖文件和配置文件,其中,依赖文件用于提供扩展组件的运行环境;根据依赖文件和配置文件将多个扩展组件加载到表单设计器。

Description

扩展组件的加载方法和装置、存储介质及电子装置
技术领域
本申请涉及通信领域,具体而言,涉及一种扩展组件的加载方法和装置、存储介质及电子装置。
背景技术
表单是前端应用开发中用于信息录入的常用组件,在业务***中,一个表单中往往存在大量的表单项,而且很多表单项组件都是相同的,如果全部由开发者手动编码开发,则开发量巨大,且存在大量重复工作,耗时较长。
于是便出现了表单设计器产品,将常用的表单项组件预先开发出来,预置到设计器中,通过拖拉拽的方式将组件列表中的组件通过可视化的方式排列布局,设置相关属性,快速生成一个表单,省去了手动开发的重复过程,提高了效率。现有的表单设计器通常是预置一部分常用的表单项组件供用户使用,但是预置的组件往往难以满足所有的业务需求,就需要表单设计器支持表单项组件的扩展。对于表单设计器中没有的表单项组件,现有的方案一般是开发出新的表单项组件后,直接预置到表单设计器中,与表单设计器一起编译打包,或者把新的表单项组件打包成npm包,由表单设计器引入npm后共同编译打包。
现有的表单设计器扩展组件方案都需要将新增加的扩展组件在编译打包阶段引入表单设计器一起编译打包,虽然实现了表单项组件的扩展,在新增表单项组件时,需要将整个表单设计器重新打包部署,无法做到动态扩展。
针对相关技术中,表单设计器在新增组件时,需要将整个表单设计器重新打包部署等问题,尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种扩展组件的加载方法和装置、存储介质及电子装置,以至少解决相关技术中,表单设计器在新增组件时,需要将整个表单设计器重新打包部署等问题。
根据本申请实施例的一个实施例,提供了一种扩展组件的加载方法,包括:向组件包存储器发送第一请求信息,其中,所述第一请求信息用于请求获取目标***的扩展组件包的描述文件,所述表单设计器运行在所述目标***,所述扩展组件包用于指示所述目标***对应的多个扩展组件,所述描述文件包括:所述扩展组件包的属性信息、所述扩展组件包对应的依赖库的地址、所述扩展组件包的配置文件地址;接收所述组件包存储器发送的携带有所述描述文件的第一响应信息,并根据所述描述文件获取所述扩展组件包的依赖文件和配置文件,其中,所述依赖文件用于提供所述扩展组件的运行环境;根据所述依赖文件和所述配置文件将所述多个扩展组件加载到所述表单设计器。
在一个示例性实施例中,根据所述描述文件获取所述扩展组件包的依赖文件和配置文件,包括:根据所述依赖库的地址向所述扩展组件包对应的依赖库发送第二请求信息,以及根据所述扩展组件包的配置文件地址向组件包配置***发送第三请求信息,其中,所述第二请求信息用于请求获取所述依赖文件,所述第三请求信息用于请求获取所述配置文件;接收所述依赖库发送的第二响应信息和所述组件包配置***发送的第三响应信息;根据所述第二响应信息和所述第三响应信息获取所述依赖文件和所述配置文件。
在一个示例性实施例中,根据所述描述文件获取所述扩展组件包的依赖文件,包括:确定所述表单设计器是否加载所述扩展组件包的依赖文件;在未加载所述扩展组件包的依赖文件的情况下,根据所述描述文件获取所述扩展组件包的依赖文件。
在一个示例性实施例中,根据所述依赖文件和所述配置文件将所述扩展组件包对应的多个扩展组件加载到所述表单设计器,包括:根据所述依赖文件为所述多个扩展组件配置在所述表单设计器中的运行环境;根据所述配置文件对所述多个扩展组件进行属性配置,以将所述多个扩展组件加载到所述表单设计器。
在一个示例性实施例中,向组件包存储器发送第一请求信息之前,所述方法还包括:向所述扩展组件包对应的依赖库发送第四请求信息,其中,所述第四请求信息用于请求获取所述表单设计器的公共依赖文件,其中,所述公共依赖文件包括:所述表单设计器的表单引擎的依赖文件、所述表单设计器的设计引擎的依赖文件;根据所述公共依赖文件加载所述表单设计器的表单引擎和设计引擎。
在一个示例性实施例中,向组件包存储器发送第一请求信息,包括:在所述目标***确定所述多个扩展组件的情况下,接收所述目标***发送的所述多个扩展组件,其中,所述目标***根据以下方式确定所述多个扩展组件:所述目标***向组件包配置***发送请求信息,以获取所述目标***对应的多个扩展组件;根据所述多个扩展组件向所述组件包存储器发送第一请求信息。
在一个示例性实施例中,根据所述依赖文件和所述配置文件将所述多个扩展组件加载到所述表单设计器之后,所述方法还包括:接收目标对象发送的目标表单的创建请求;根据所述创建请求确定所述目标表单的表单组件和基础控件;对所述表单组件和基础控件进行属性配置和排序,以生成所述目标表单。
根据本申请实施例的另一个实施例,还提供了一种扩展组件的加载装置,包括:发送模块,用于向组件包存储器发送第一请求信息,其中,所述第一请求信息用于请求获取目标***的扩展组件包的描述文件,所述表单设计器运行在所述目标***,所述扩展组件包用于指示所述目标***对应的多个扩展组件,所述描述文件包括:所述扩展组件包的属性信息、所述扩展组件包对应的依赖库的地址、所述扩展组件包的配置文件地址;接收模块,用于接收所述组件包存储器发送的携带有所述描述文件的第一响应信息,并根据所述描述文件获取所述扩展组件包的依赖文件和配置文件,其中,所述依赖文件用于提供所述扩展组件的运行环境;加载模块,用于根据所述依赖文件和所述配置文件将所述多个扩展组件加载到所述表单设计器。
根据本申请实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述扩展组件的加载方法。
根据本申请实施例的又一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,上述处理器通过计算机程序执行上述的扩展组件的加载方法。
在本申请实施例中,向组件包存储器发送第一请求信息,其中,所述第一请求信息用于请求获取目标***的扩展组件包的描述文件,所述表单设计器运行在所述目标***,所述扩展组件包用于指示所述目标***对应的多个扩展组件,所述描述文件包括:所述扩展组件包的属性信息、所述扩展组件包对应的依赖库的地址、所述扩展组件包的配置文件地址;接收所述组件包存储器发送的携带有所述描述文件的第一响应信息,并根据所述描述文件获取所述扩展组件包的依赖文件和配置文件,其中,所述依赖文件用于提供所述扩展组件的运行环境;根据所述依赖文件和所述配置文件将所述多个扩展组件加载到所述表单设计器;采用上述技术方案,解决了表单设计器在新增组件时,需要将整个表单设计器重新打包部署等问题,本申请实施例支持表单设计器的扩展组件的动态加载,可以针对不同的业务***,在运行时动态加载针对不同业务需求的扩展组件包。而且在新增组件时,只需更新扩展组件包,无需重新打包部署整个表单设计器。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例的一种扩展组件的加载方法的硬件环境示意图;
图2是根据本申请实施例的扩展组件的加载方法的流程图;
图3是根据本申请实施例的扩展组件的加载方法的架构图;
图4是根据本申请实施例的扩展组件的加载方法的时序图;
图5是根据本申请实施例的一种扩展组件的加载装置的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本申请实施例的一个方面,提供了一种扩展组件的加载方法。该扩展组件的加载方法广泛应用于智慧家庭(Smart Home)、智能家居、智能家用设备生态、智慧住宅(IntelligenceHouse)生态等全屋智能数字化控制应用场景。可选地,在本实施例中,上述扩展组件的加载方法可以应用于如图1所示的由终端设备102和服务器104所构成的硬件环境中。如图1所示,服务器104通过网络与终端设备102进行连接,可用于为终端或终端上安装的客户端提供服务(如应用服务等),可在服务器上或独立于服务器设置数据库,用于为服务器104提供数据存储服务,可在服务器上或独立于服务器配置云计算和/或边缘计算服务,用于为服务器104提供数据运算服务。
上述网络可以包括但不限于以下至少之一:有线网络,无线网络。上述有线网络可以包括但不限于以下至少之一:广域网,城域网,局域网,上述无线网络可以包括但不限于以下至少之一:WIFI(Wireless Fidelity,无线保真),蓝牙。终端设备102可以并不限定于为PC、手机、平板电脑、智能空调、智能烟机、智能冰箱、智能烤箱、智能炉灶、智能洗衣机、智能热水器、智能洗涤设备、智能洗碗机、智能投影设备、智能电视、智能晾衣架、智能窗帘、智能影音、智能插座、智能音响、智能音箱、智能新风设备、智能厨卫设备、智能卫浴设备、智能扫地机器人、智能擦窗机器人、智能拖地机器人、智能空气净化设备、智能蒸箱、智能微波炉、智能厨宝、智能净化器、智能饮水机、智能门锁等。
在本实施例中提供了一种扩展组件的加载方法,应用于计算机终端,图2是根据本申请实施例的扩展组件的加载方法的流程图,该流程包括如下步骤:
步骤S202,向组件包存储器发送第一请求信息,其中,所述第一请求信息用于请求获取目标***的扩展组件包的描述文件,所述表单设计器运行在所述目标***,所述扩展组件包用于指示所述目标***对应的多个扩展组件,所述描述文件包括:所述扩展组件包的属性信息、所述扩展组件包对应的依赖库的地址、所述扩展组件包的配置文件地址;
需要说明的是,上述属性信息包括但不限于:扩展组件包的名称、描述等信息,本发明实施例对此不作限定。
需要说明的是,扩展组件可以理解为新增的表单项组件。
步骤S204,接收所述组件包存储器发送的携带有所述描述文件的第一响应信息,并根据所述描述文件获取所述扩展组件包的依赖文件和配置文件,其中,所述依赖文件用于提供所述扩展组件的运行环境;
步骤S206,根据所述依赖文件和所述配置文件将所述多个扩展组件加载到所述表单设计器。
通过上述步骤,向组件包存储器发送第一请求信息,其中,所述第一请求信息用于请求获取目标***的扩展组件包的描述文件,所述表单设计器运行在所述目标***,所述扩展组件包用于指示所述目标***对应的多个扩展组件,所述描述文件包括:所述扩展组件包的属性信息、所述扩展组件包对应的依赖库的地址、所述扩展组件包的配置文件地址;接收所述组件包存储器发送的携带有所述描述文件的第一响应信息,并根据所述描述文件获取所述扩展组件包的依赖文件和配置文件,其中,所述依赖文件用于提供所述扩展组件的运行环境;根据所述依赖文件和所述配置文件将所述多个扩展组件加载到所述表单设计器,解决了相关技术中,表单设计器在新增组件时,需要将整个表单设计器重新打包部署等问题,本申请实施例支持表单设计器的扩展组件的动态加载,可以针对不同的业务***,在运行时动态加载针对不同业务需求的扩展组件包。而且在新增组件时,只需更新扩展组件包,无需重新打包部署整个表单设计器。
上述步骤S204的实现方式有很多种,本发明实施例给出了一种实现方式,在一个示例性实施例中,根据所述描述文件获取所述扩展组件包的依赖文件和配置文件,包括:根据所述依赖库的地址向所述扩展组件包对应的依赖库发送第二请求信息,以及根据所述扩展组件包的配置文件地址向组件包配置***发送第三请求信息,其中,所述第二请求信息用于请求获取所述依赖文件,所述第三请求信息用于请求获取所述配置文件;接收所述依赖库发送的第二响应信息和所述组件包配置***发送的第三响应信息;根据所述第二响应信息和所述第三响应信息获取所述依赖文件和所述配置文件。
需要说明的是,由于所述描述文件包括:所述扩展组件包的属性信息、所述扩展组件包对应的依赖库的地址、所述扩展组件包的配置文件地址,所述扩展组件包的配置文件位于组件包配置***,依赖库存储表单设计器和扩展组件包所需的依赖文件,格式为umd文件,由于需要运行时加载,扩展组件包采用umd格式,就需要将所需的依赖文件以umd的格式预先加载;进而根据描述文件中的扩展组件包对应的依赖库的地址和配置文件地址,向依赖库和组件包配置***请求获取依赖文件和所述配置文件。
在一个示例性实施例中,根据所述描述文件获取所述扩展组件包的依赖文件,包括:确定所述表单设计器是否加载所述扩展组件包的依赖文件;在未加载所述扩展组件包的依赖文件的情况下,根据所述描述文件获取所述扩展组件包的依赖文件。
在一个示例性实施例中,确定所述表单设计器是否加载所述扩展组件包的依赖文件,包括:确定所述表单设计器中是否存在所述依赖文件的名称,在所述表单设计器中存在所述依赖文件的名称的情况下,确定所述表单设计器加载所述扩展组件包的依赖文件。
上述步骤S206的实现方式有很多种,本发明实施例给出了一种实现方式,在一个示例性实施例中,根据所述依赖文件和所述配置文件将所述扩展组件包对应的多个扩展组件加载到所述表单设计器,包括:根据所述依赖文件为所述多个扩展组件配置在所述表单设计器中的运行环境;根据所述配置文件对所述多个扩展组件进行属性配置,以将所述多个扩展组件加载到所述表单设计器。
需要说明的是,配置文件是扩展组件包打包后的umd格式的js代码文件,在表单设计器运行时引入,其中的内容被表单设计器使用。js文件中包含用于PC端展示的表单项组件、用于移动端展示的表单项组件、用于设计器资源列表的资源组件。依赖文件用于为所述多个扩展组件配置在所述表单设计器中的运行环境,例如,运行方法、运行函数等。
因此,基于依赖文件配置组件在所述表单设计器中的运行环境;基于配置文件在所述表单设计器中加载多个扩展组件。
在一个示例性实施例中,向组件包存储器发送第一请求信息之前,向所述扩展组件包对应的依赖库发送第四请求信息,其中,所述第四请求信息用于请求获取所述表单设计器的公共依赖文件,其中,所述公共依赖文件包括:所述表单设计器的表单引擎的依赖文件、所述表单设计器的设计引擎的依赖文件;根据所述公共依赖文件加载所述表单设计器的表单引擎和设计引擎。
需要说明的是,依赖库中还包括为表单设计器所预置的公共依赖,且表单设计器在运行前,要预先加载,因此,向所述扩展组件包对应的依赖库请求获取表单设计器的公共依赖,其中,公共依赖包括但不限于表单引擎的依赖文件、设计器引擎的依赖文件、其他的一些公共依赖库的依赖文件。
需要说明的是,表单引擎用于表单的渲染、交互、校验;设计器引擎用于表单项组件拖拉拽布局功能、组件属性设置、表单的描述信息的生成。
在一个示例性实施例中,向组件包存储器发送第一请求信息,包括:在所述目标***确定所述多个扩展组件的情况下,接收所述目标***发送的所述多个扩展组件,其中,所述目标***根据以下方式确定所述多个扩展组件:所述目标***向组件包配置***发送请求信息,以获取所述目标***对应的多个扩展组件;根据所述多个扩展组件向所述组件包存储器发送第一请求信息。
本发明实施例中的表单设计器具有组件扩展功能,能根据目标***传入的多个扩展组件,在运行时动态加载扩展组件包,灵活地进行表单项组件扩展。组件包配置***为各个目标***分别配置的各自所需要加载的扩展组件包,每个目标***可以配置多个扩展组件包;目标***预先通过组件包配置***的接口获取所需的多个扩展组件,并把所需的多个扩展组件传入表单设计器由表单设计器加载。
在一个示例性实施例中,根据所述依赖文件和所述配置文件将所述多个扩展组件加载到所述表单设计器之后,接收目标对象发送的目标表单的创建请求;根据所述创建请求确定所述目标表单的表单组件和基础控件;对所述表单组件和基础控件进行属性配置和排序,以生成所述目标表单。
本发明实施例中的表单设计器为用户提供可视化的快速设计、生成表单的功能。表单设计器接收目标对象发送的目标表单的创建请求,创建请求用于指示目标表单的表单组件和基础控件,根据创建请求生成所述目标表单。
举例来讲,用户通过拖拉拽的方式从表单项组件资源列表里选择表单项组件进行排列布局,并设置组件的属性信息,生成表单的描述信息。
为了更好的理解上述扩展组件的加载方法的过程,以下再结合可选实施例对上述扩展组件的加载的实现方法流程进行说明,但不用于限定本申请实施例的技术方案。
在本实施例中提供了一种扩展组件的加载方法,图3是根据本申请实施例的扩展组件的加载方法的架构图,如图3所示,具体如下:
表单设计器、宿主***(相当于上述实施例中的目标***)、依赖库、扩展组件包配置***(相当于上述实施例中的组件包配置***)、扩展组件包存储***。
表单设计器是本发明实施例的核心模块,宿主***通过微前端的方式嵌入的表单设计器,用于提供可视化的快速设计、生成表单的功能。用户通过拖拉拽的方式从表单设计器的表单项组件资源列表里选择表单项组件进行排列布局,并设置表单项组件的属性信息,生成表单的描述信息。表单设计器具有组件扩展功能,能根据宿主***传入的扩展组件包列表,在运行时动态加载扩展组件包,灵活地进行表单项组件扩展。
表单设计器包括:表单引擎、设计器引擎、扩展组件包管理模块,其中,
表单引擎,用于表单的渲染、交互、校验;设计器引擎,用于表单项组件拖拉拽布局功能、组件属性设置、表单schema生成;
扩展组件包管理,用于表单项扩展组件包的运行时动态加载功能,可以根据宿主***的需要加载多个扩展组件包。
扩展组件包存储***包括:扩展组件包,其中,
扩展组件包,用于为表单设计器提供所需的表单项组件,一个扩展组件包包含多个表单项组件。开发者针对各自业务需求开发对应的扩展组件包,在表单设计器中按需引入。扩展组件包的格式为umd格式,umd格式支持运行时加载,在运行时由表单设计器引入。
扩展组件包包括:描述文件和js文件(相当于上述实施例中的配置文件),其中,
描述文件存储扩展组件包的相关信息,包括扩展组件包的名称、描述等属性信息,扩展组件包的依赖库,扩展组件包的js文件地址;
js文件是组件包打包后的umd格式的js代码,在表单设计器运行时引入,js文件中包括:用于PC端展示的表单项组件、用于移动端展示的表单项组件、用于设计器资源列表的资源组件。
依赖库,用于存储表单设计器和扩展组件包所需的依赖文件,由于需要表单设计器运行时加载依赖文件,所以依赖文件采用umd格式。
依赖库包括:预置依赖和组件库依赖,其中,
预置依赖,用于为表单设计器提供预置的公共依赖,公共依赖包括表单引擎的umd文件、设计器引擎的umd文件、其他的一些公共依赖库的umd文件,由表单设计器预先加载。
组件库依赖,用于为各个扩展组件包提供对应的依赖文件,在组件库加载之前由表单设计器加载。
扩展组件包配置***,用于扩展组件包的注册以及配置各个宿主***所需的扩展组件包。
扩展组件包配置***包括:扩展组件包列表和宿主***扩展组件包配置,其中,
扩展组件包列表,用于存储注册过的扩展组件包的信息;
宿主***扩展组件包配置,用于为各个宿主***分别配置的各自所需要加载的扩展组件包,每个宿主***可以配置多个扩展组件包。
宿主***为需要引用表单设计器的业务***,通过微前端的方式引入表单设计器,并与业务功能结合使用。宿主***预先查询扩展组件包配置***的接口获取所需的扩展组件包的列表,并把所需的扩展组件包列表传入表单设计器由表单设计器加载。业务功能为宿主***自身的业务功能,结合嵌入的表单设计器实现表单设计相关的业务功能。
在本实施例中提供了一种扩展组件的加载方法,图4是根据本申请实施例的扩展组件的加载方法的时序图,如图4所示,具体如下步骤:
步骤S401:在访问宿主***的情况下,向扩展组件包配置***查询宿主***所需的扩展组件包列表。
步骤S402:扩展组件包配置***返回宿主***所需的扩展组件包列表。
步骤S403:宿主***加载嵌入表单设计器,把查询到的扩展组件包列表传入表单设计器。
步骤S404:表单设计器向依赖库查询预置的公共依赖文件。
步骤S405:依赖库返回表单设计器预置公共依赖文件给表单设计器。
步骤S406:表单设计器向扩展组件包存储***请求扩展组件包的描述文件。
步骤S407:扩展组件包存储***返回扩展组件包的描述文件。
步骤S408:表单设计器根据扩展组件包描述文件,判断扩展组件包的依赖库是否已加载。
步骤S409:如果扩展组件包的依赖文件没有加载,则向依赖库请求依赖文件。
步骤S410:依赖库返回扩展组件包的umd格式的依赖文件。
步骤S411:表单设计器根据扩展组件包的描述文件请求获取扩展组件包的umd格式的js文件。
步骤S412:扩展组件包存储并载入返回的扩展组件包的umd格式的js文件。
步骤S413:表单设计器把扩展组件包中的组件注册到表单设计器。
步骤S414:表单设计器加载完所需的扩展组件包后,作为微前端的子应用嵌入到宿主***。
上述步骤S406-413为单个扩展组件包的加载过程,多个扩展组件包按照相同的流程并行加载。需要说明的是,上述步骤的执行顺序在部分情况下可以进行调换或者循环执行,本发明实施例对此不进行限定。
通过本发明实施例,可以在表单设计器运行时而非编译打包阶段动态地加载表单项扩展组件包,扩展方式更加灵活。增加表单项组件时只需更新扩展组件包,可以动态扩展组件,无需重新打包部署整个表单设计器。可以将表单设计器嵌入到业务***中,并针对不同的业务***,动态加载不同的表单项扩展组件包。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例的方法。
图5是根据本申请实施例的一种扩展组件的加载装置的结构框图;如图5所示,包括:
发送模块52,用于向组件包存储器发送第一请求信息,其中,所述第一请求信息用于请求获取目标***的扩展组件包的描述文件,所述表单设计器运行在所述目标***,所述扩展组件包用于指示所述目标***对应的多个扩展组件,所述描述文件包括:所述扩展组件包的属性信息、所述扩展组件包对应的依赖库的地址、所述扩展组件包的配置文件地址;
接收模块54,用于接收所述组件包存储器发送的携带有所述描述文件的第一响应信息,并根据所述描述文件获取所述扩展组件包的依赖文件和配置文件,其中,所述依赖文件用于提供所述扩展组件的运行环境;
加载模块56,用于根据所述依赖文件和所述配置文件将所述多个扩展组件加载到所述表单设计器。
通过上述装置,向组件包存储器发送第一请求信息,其中,所述第一请求信息用于请求获取目标***的扩展组件包的描述文件,所述表单设计器运行在所述目标***,所述扩展组件包用于指示所述目标***对应的多个扩展组件,所述描述文件包括:所述扩展组件包的属性信息、所述扩展组件包对应的依赖库的地址、所述扩展组件包的配置文件地址;接收所述组件包存储器发送的携带有所述描述文件的第一响应信息,并根据所述描述文件获取所述扩展组件包的依赖文件和配置文件,其中,所述依赖文件用于提供所述扩展组件的运行环境;根据所述依赖文件和所述配置文件将所述多个扩展组件加载到所述表单设计器,解决了相关技术中,表单设计器在新增组件时,需要将整个表单设计器重新打包部署等问题,本申请实施例支持表单设计器的扩展组件的动态加载,可以针对不同的业务***,在运行时动态加载针对不同业务需求的扩展组件包。而且在新增组件时,只需更新扩展组件包,无需重新打包部署整个表单设计器。
在一个示例性实施例中,接收模块54,用于根据所述依赖库的地址向所述扩展组件包对应的依赖库发送第二请求信息,以及根据所述扩展组件包的配置文件地址向组件包配置***发送第三请求信息,其中,所述第二请求信息用于请求获取所述依赖文件,所述第三请求信息用于请求获取所述配置文件;接收所述依赖库发送的第二响应信息和所述组件包配置***发送的第三响应信息;根据所述第二响应信息和所述第三响应信息获取所述依赖文件和所述配置文件。
在一个示例性实施例中,接收模块54,用于确定所述表单设计器是否加载所述扩展组件包的依赖文件;在未加载所述扩展组件包的依赖文件的情况下,根据所述描述文件获取所述扩展组件包的依赖文件。
在一个示例性实施例中,加载模块56,用于根据所述依赖文件为所述多个扩展组件配置在所述表单设计器中的运行环境;根据所述配置文件对所述多个扩展组件进行属性配置,以将所述多个扩展组件加载到所述表单设计器。
在一个示例性实施例中,加载模块56,用于向所述扩展组件包对应的依赖库发送第四请求信息,其中,所述第四请求信息用于请求获取所述表单设计器的公共依赖文件,其中,所述公共依赖文件包括:所述表单设计器的表单引擎的依赖文件、所述表单设计器的设计引擎的依赖文件;根据所述公共依赖文件加载所述表单设计器的表单引擎和设计引擎。
在一个示例性实施例中,发送模块52,用于在所述目标***确定所述多个扩展组件的情况下,接收所述目标***发送的所述多个扩展组件,其中,所述目标***根据以下方式确定所述多个扩展组件:所述目标***向组件包配置***发送请求信息,以获取所述目标***对应的多个扩展组件;根据所述多个扩展组件向所述组件包存储器发送第一请求信息。
在一个示例性实施例中,接收模块54,用于接收目标对象发送的目标表单的创建请求;根据所述创建请求确定所述目标表单的表单组件和基础控件;对所述表单组件和基础控件进行属性配置和排序,以生成所述目标表单。
本申请的实施例还提供了一种存储介质,该存储介质包括存储的程序,其中,上述程序运行时执行上述任一项的方法。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的程序代码:
S1,向组件包存储器发送第一请求信息,其中,所述第一请求信息用于请求获取目标***的扩展组件包的描述文件,所述表单设计器运行在所述目标***,所述扩展组件包用于指示所述目标***对应的多个扩展组件,所述描述文件包括:所述扩展组件包的属性信息、所述扩展组件包对应的依赖库的地址、所述扩展组件包的配置文件地址;
S2,接收所述组件包存储器发送的携带有所述描述文件的第一响应信息,并根据所述描述文件获取所述扩展组件包的依赖文件和配置文件,其中,所述依赖文件用于提供所述扩展组件的运行环境;
S3,根据所述依赖文件和所述配置文件将所述多个扩展组件加载到所述表单设计器。
本申请的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,向组件包存储器发送第一请求信息,其中,所述第一请求信息用于请求获取目标***的扩展组件包的描述文件,所述表单设计器运行在所述目标***,所述扩展组件包用于指示所述目标***对应的多个扩展组件,所述描述文件包括:所述扩展组件包的属性信息、所述扩展组件包对应的依赖库的地址、所述扩展组件包的配置文件地址;
S2,接收所述组件包存储器发送的携带有所述描述文件的第一响应信息,并根据所述描述文件获取所述扩展组件包的依赖文件和配置文件,其中,所述依赖文件用于提供所述扩展组件的运行环境;
S3,根据所述依赖文件和所述配置文件将所述多个扩展组件加载到所述表单设计器。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本申请的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请不限制于任何特定的硬件和软件结合。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

Claims (10)

1.一种扩展组件的加载方法,其特征在于,应用于表单设计器,包括:
向组件包存储器发送第一请求信息,其中,所述第一请求信息用于请求获取目标***的扩展组件包的描述文件,所述表单设计器运行在所述目标***,所述扩展组件包用于指示所述目标***对应的多个扩展组件,所述描述文件包括:所述扩展组件包的属性信息、所述扩展组件包对应的依赖库的地址、所述扩展组件包的配置文件地址;
接收所述组件包存储器发送的携带有所述描述文件的第一响应信息,并根据所述描述文件获取所述扩展组件包的依赖文件和配置文件,其中,所述依赖文件用于提供所述扩展组件的运行环境;
根据所述依赖文件和所述配置文件将所述多个扩展组件加载到所述表单设计器。
2.根据权利要求1所述的扩展组件的加载方法,其特征在于,根据所述描述文件获取所述扩展组件包的依赖文件和配置文件,包括:
根据所述依赖库的地址向所述扩展组件包对应的依赖库发送第二请求信息,以及根据所述扩展组件包的配置文件地址向组件包配置***发送第三请求信息,其中,所述第二请求信息用于请求获取所述依赖文件,所述第三请求信息用于请求获取所述配置文件;
接收所述依赖库发送的第二响应信息和所述组件包配置***发送的第三响应信息;
根据所述第二响应信息和所述第三响应信息获取所述依赖文件和所述配置文件。
3.根据权利要求1所述的扩展组件的加载方法,其特征在于,根据所述描述文件获取所述扩展组件包的依赖文件,包括:
确定所述表单设计器是否加载所述扩展组件包的依赖文件;
在未加载所述扩展组件包的依赖文件的情况下,根据所述描述文件获取所述扩展组件包的依赖文件。
4.根据权利要求1所述的扩展组件的加载方法,其特征在于,根据所述依赖文件和所述配置文件将所述扩展组件包对应的多个扩展组件加载到所述表单设计器,包括:
根据所述依赖文件为所述多个扩展组件配置在所述表单设计器中的运行环境;
根据所述配置文件对所述多个扩展组件进行属性配置,以将所述多个扩展组件加载到所述表单设计器。
5.根据权利要求1所述的扩展组件的加载方法,其特征在于,向组件包存储器发送第一请求信息之前,所述方法还包括:
向所述扩展组件包对应的依赖库发送第四请求信息,其中,所述第四请求信息用于请求获取所述表单设计器的公共依赖文件,其中,所述公共依赖文件包括:所述表单设计器的表单引擎的依赖文件、所述表单设计器的设计引擎的依赖文件;
根据所述公共依赖文件加载所述表单设计器的表单引擎和设计引擎。
6.根据权利要求1所述的扩展组件的加载方法,其特征在于,向组件包存储器发送第一请求信息,包括:
在所述目标***确定所述多个扩展组件的情况下,接收所述目标***发送的所述多个扩展组件,其中,所述目标***根据以下方式确定所述多个扩展组件:所述目标***向组件包配置***发送请求信息,以获取所述目标***对应的多个扩展组件;
根据所述多个扩展组件向所述组件包存储器发送第一请求信息。
7.根据权利要求1所述的扩展组件的加载方法,其特征在于,根据所述依赖文件和所述配置文件将所述多个扩展组件加载到所述表单设计器之后,所述方法还包括:
接收目标对象发送的目标表单的创建请求;
根据所述创建请求确定所述目标表单的表单组件和基础控件;
对所述表单组件和基础控件进行属性配置和排序,以生成所述目标表单。
8.一种扩展组件的加载装置,其特征在于,包括:
发送模块,用于向组件包存储器发送第一请求信息,其中,所述第一请求信息用于请求获取目标***的扩展组件包的描述文件,所述表单设计器运行在所述目标***,所述扩展组件包用于指示所述目标***对应的多个扩展组件,所述描述文件包括:所述扩展组件包的属性信息、所述扩展组件包对应的依赖库的地址、所述扩展组件包的配置文件地址;
接收模块,用于接收所述组件包存储器发送的携带有所述描述文件的第一响应信息,并根据所述描述文件获取所述扩展组件包的依赖文件和配置文件,其中,所述依赖文件用于提供所述扩展组件的运行环境;
加载模块,用于根据所述依赖文件和所述配置文件将所述多个扩展组件加载到所述表单设计器。
9.一种计算机可读的存储介质,其特征在于,所述计算机可读的存储介质包括存储的程序,其中,所述程序运行时执行上述权利要求1至7任一项中所述的方法。
10.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述权利要求1至7任一项中所述的方法。
CN202211564032.5A 2022-12-07 2022-12-07 扩展组件的加载方法和装置、存储介质及电子装置 Pending CN115858007A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211564032.5A CN115858007A (zh) 2022-12-07 2022-12-07 扩展组件的加载方法和装置、存储介质及电子装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211564032.5A CN115858007A (zh) 2022-12-07 2022-12-07 扩展组件的加载方法和装置、存储介质及电子装置

Publications (1)

Publication Number Publication Date
CN115858007A true CN115858007A (zh) 2023-03-28

Family

ID=85670748

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211564032.5A Pending CN115858007A (zh) 2022-12-07 2022-12-07 扩展组件的加载方法和装置、存储介质及电子装置

Country Status (1)

Country Link
CN (1) CN115858007A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117111941A (zh) * 2023-08-29 2023-11-24 北京房多多信息技术有限公司 组件库添加方法、装置、设备和存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117111941A (zh) * 2023-08-29 2023-11-24 北京房多多信息技术有限公司 组件库添加方法、装置、设备和存储介质
CN117111941B (zh) * 2023-08-29 2024-06-07 北京房多多信息技术有限公司 组件库添加方法、装置、设备和存储介质

Similar Documents

Publication Publication Date Title
CN106201661A (zh) 用于弹性伸缩虚拟机集群的方法和装置
CN106569880B (zh) 一种Android应用间动态共享资源的方法及***
CN111897539A (zh) 一种根据服务角色的进行应用部署的方法及装置
CN110308999B (zh) 一种应用间动态共享依赖包的方法、存储介质及移动终端
CN108279882B (zh) 框架生成方法、装置、设备及计算机可读介质
CN110968331A (zh) 应用程序运行的方法和装置
CN115858007A (zh) 扩展组件的加载方法和装置、存储介质及电子装置
CN114896003A (zh) 页面的配置方法和装置、存储介质及电子装置
CN114461304A (zh) 配置文件的确定方法和装置、存储介质及电子设备
CN112256343B (zh) 一种软件加载方法、设备及***
CN113721936B (zh) 一种应用管理方法及智能终端、装置及存储介质
CN110704041A (zh) 软件开发方法及装置
CN115982493A (zh) 页面跳转方法及装置、存储介质及电子装置
CN107301089B (zh) 一种app部署及调用方法和终端
CN107783837B (zh) 一种进行存储扩展的方法、装置及电子设备
CN112418796B (zh) 子流程任务节点激活方法、装置、电子设备及存储介质
CN111857736B (zh) 云计算产品的生成方法、装置、设备及存储介质
WO2016206437A1 (zh) Rom包生成方法及装置
CN104219258A (zh) 号码归属地的实时查询方法、终端、服务器及***
CN111427645A (zh) 一种基于h5的跨终端自适应显示的方法及装置
CN113050962A (zh) 移动服务升级方法、装置和终端
CN115827140B (zh) 可视化大屏的生成方法、装置、设备及存储介质
CN111651276B (zh) 一种调度方法、装置及电子设备
CN115941834B (zh) 智能手机自动化运行方法、装置、设备及存储介质
CN110309000A (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