CN111381741A - 工具栏插件化方法、装置及系统 - Google Patents

工具栏插件化方法、装置及系统 Download PDF

Info

Publication number
CN111381741A
CN111381741A CN202010145857.8A CN202010145857A CN111381741A CN 111381741 A CN111381741 A CN 111381741A CN 202010145857 A CN202010145857 A CN 202010145857A CN 111381741 A CN111381741 A CN 111381741A
Authority
CN
China
Prior art keywords
data packet
toolbar
registration information
client
server
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
CN202010145857.8A
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.)
Shandong Inspur Genersoft Information Technology Co Ltd
Original Assignee
Shandong Inspur Genersoft Information Technology 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 Shandong Inspur Genersoft Information Technology Co Ltd filed Critical Shandong Inspur Genersoft Information Technology Co Ltd
Priority to CN202010145857.8A priority Critical patent/CN111381741A/zh
Publication of CN111381741A publication Critical patent/CN111381741A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04817Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • G06F9/44526Plug-ins; Add-ons

Abstract

本发明提供了工具栏插件化方法、装置及系统。服务端基于预先开发好的各个异步功能子模块,利用前端打包机制,对应配置前端框架可加载运行的各个数据包,不同数据包所具有的工具栏扩展功能不同;将各个数据包的注册信息均注册到服务端的配置中心中,使得在任一外部客户端打开前端框架时,前端框架的工具栏中展示有分别与配置中心中注册的各个注册信息相对应的功能图标;一客户端发来针对前端框架中一功能图标的加载请求时,确定该功能图标对应的注册信息;将该注册信息所指向的数据包返回给客户端,使得客户端通过加载运行数据包,实现数据包所具有的工具栏扩展功能。本方案能够实现工具栏的插件化需求。

Description

工具栏插件化方法、装置及系统
技术领域
本发明涉及计算机技术领域,特别涉及工具栏插件化方法、装置及系统。
背景技术
随着浏览器性能及互联网技术的快速发展,web应用越来越广泛,规模及复杂度也越来越高。随着前端技术的不断发展,web工程的建立也越来越趋向于模块化、框架化、平台化。对于框架工程的最大要求就是核心底层逻辑的沉淀,支持上层业务逻辑的可扩展、可配置、松耦合的插件化需求,而插件化实现的关键就是动态加载,所以探索前端框架的插件化实现方案显得尤为重要。
基于上述内容,有必要提供一种有效的工具栏插件化实现方法。
发明内容
本发明提供了工具栏插件化方法、装置及系统,能够实现工具栏的插件化需求。
为了达到上述目的,本发明是通过如下技术方案实现的:
第一方面,本发明提供了工具栏插件化方法,应用于服务端,包括:
基于预先开发好的至少一个异步功能子模块,利用前端打包机制,对应配置前端框架可加载运行的至少一个数据包,其中,不同数据包所具有的工具栏扩展功能不同;
将每一个所述数据包的注册信息均注册到所述服务端的配置中心中,使得在任一外部客户端打开所述前端框架时,所述前端框架的工具栏中展示有,分别与所述配置中心中注册的各个所述注册信息相对应的功能图标;
在接收到任一第一客户端发来的、针对所述前端框架中任一第一功能图标的加载请求时,根据所述加载请求,确定所述第一功能图标对应的第一注册信息;
将所述第一注册信息所指向的第一数据包返回给所述第一客户端,使得所述第一客户端通过加载运行所述第一数据包,实现所述第一数据包所具有的工具栏扩展功能。
进一步地,所述注册信息包括:菜单ID和路由信息;
其中,该方法进一步包括:根据所述第一注册信息中的第一路由信息,查询到满足所述第一路由信息的数据包;
判断查询到的数据包的菜单ID是否与所述第一注册信息中的菜单ID相一致,若是,确定所述第一注册信息所指向的第一数据包为查询到的数据包。
进一步地,每一个所述数据包均包括:目标动态组件的样式、结构和事件动作,其中,所述目标动态组件为所述前端框架中,用于加载运行所述数据包的、针对工具栏的动态组件。
进一步地,所述前端打包机制包括:基于Angular的打包机制。
第二方面,本发明提供了工具栏插件化方法,应用于客户端,包括:
在打开前端框架时展示所述前端框架的工具栏,其中,所述工具栏中展示有,分别与外部服务端的配置中心中注册的每一个注册信息相对应的功能图标;
启动所述前端框架中预先开发好的、针对所述工具栏的动态组件;
接收外部针对所述至少一个功能图标中任一第一功能图标的打开请求,根据所述打开请求,将针对所述第一功能图标的加载请求发送给所述服务端;
接收所述服务端返回的、所述第一功能图标对应的第一注册信息所指向的第一数据包,其中,不同数据包所具有的工具栏扩展功能不同;
利用所述动态组件加载运行所述第一数据包,以实现所述第一数据包所具有的工具栏扩展功能。
第三方面,本发明提供了服务端,包括:
配置单元,用于基于预先开发好的至少一个异步功能子模块,利用前端打包机制,对应配置前端框架可加载运行的至少一个数据包,其中,不同数据包所具有的工具栏扩展功能不同;
注册单元,用于将每一个所述数据包的注册信息均注册到所述服务端的配置中心中,使得在任一外部客户端打开所述前端框架时,所述前端框架的工具栏中展示有,分别与所述配置中心中注册的各个所述注册信息相对应的功能图标;
交互单元,用于在接收到任一第一客户端发来的、针对所述前端框架中任一第一功能图标的加载请求时,触发处理单元;
所述处理单元,用于根据所述加载请求,确定所述第一功能图标对应的第一注册信息;触发所述交互单元将所述第一注册信息所指向的第一数据包返回给所述第一客户端,使得所述第一客户端通过加载运行所述第一数据包,实现所述第一数据包所具有的工具栏扩展功能。
进一步地,所述注册信息包括:菜单ID和路由信息;
其中,该方法进一步包括:根据所述第一注册信息中的第一路由信息,查询到满足所述第一路由信息的数据包;
判断查询到的数据包的菜单ID是否与所述第一注册信息中的菜单ID相一致,若是,确定所述第一注册信息所指向的第一数据包为查询到的数据包。
进一步地,每一个所述数据包均包括:目标动态组件的样式、结构和事件动作,其中,所述目标动态组件为所述前端框架中,用于加载运行所述数据包的、针对工具栏的动态组件。
进一步地,所述前端打包机制包括:基于Angular的打包机制。
第四方面,本发明提供了客户端,包括:
第一处理单元,用于在打开前端框架时展示所述前端框架的工具栏,其中,所述工具栏中展示有,分别与外部服务端的配置中心中注册的每一个注册信息相对应的功能图标;
第一交互单元,用于接收外部针对所述至少一个功能图标中任一第一功能图标的打开请求;
第二交互单元,用于根据所述打开请求,将针对所述第一功能图标的加载请求发送给所述服务端;接收所述服务端返回的、所述第一功能图标对应的第一注册信息所指向的第一数据包,其中,不同数据包所具有的工具栏扩展功能不同;
第二处理单元,用于启动所述前端框架中预先开发好的、针对所述工具栏的动态组件;利用所述动态组件加载运行所述第一数据包,以实现所述第一数据包所具有的工具栏扩展功能。
第五方面,本发明提供了工具栏插件化系统,包括:上述第三方面中任一所述的服务端,和,至少一个上述第四方面中所述的客户端。
本发明提供了工具栏插件化方法、装置及系统。服务端基于预先开发好的各个异步功能子模块,利用前端打包机制,对应配置前端框架可加载运行的各个数据包,不同数据包所具有的工具栏扩展功能不同;将各个数据包的注册信息均注册到服务端的配置中心中,使得在任一外部客户端打开前端框架时,前端框架的工具栏中展示有分别与配置中心中注册的各个注册信息相对应的功能图标;一客户端发来针对前端框架中一功能图标的加载请求时,确定该功能图标对应的注册信息;将该注册信息所指向的数据包返回给客户端,使得客户端通过加载运行数据包,实现数据包所具有的工具栏扩展功能。本发明能够实现工具栏的插件化需求。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例提供的一种工具栏插件化方法的流程图;
图2是本发明一实施例提供的另一种工具栏插件化方法的流程图;
图3是本发明一实施例提供的又一种工具栏插件化方法的流程图;
图4是本发明一实施例提供的一种服务端的示意图;
图5是本发明一实施例提供的一种客户端的示意图;
图6是本发明一实施例提供的一种工具栏插件化系统的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供了一种工具栏插件化方法,应用于服务端,可以包括以下步骤:
步骤101:基于预先开发好的至少一个异步功能子模块,利用前端打包机制,对应配置前端框架可加载运行的至少一个数据包,其中,不同数据包所具有的工具栏扩展功能不同。
步骤102:将每一个所述数据包的注册信息均注册到所述服务端的配置中心中,使得在任一外部客户端打开所述前端框架时,所述前端框架的工具栏中展示有,分别与所述配置中心中注册的各个所述注册信息相对应的功能图标。
步骤103:在接收到任一第一客户端发来的、针对所述前端框架中任一第一功能图标的加载请求时,根据所述加载请求,确定所述第一功能图标对应的第一注册信息。
步骤104:将所述第一注册信息所指向的第一数据包返回给所述第一客户端,使得所述第一客户端通过加载运行所述第一数据包,实现所述第一数据包所具有的工具栏扩展功能。
本发明实施例提供了应用于服务端的工具栏插件化方法,该方法包括:服务端基于预先开发好的各个异步功能子模块,利用前端打包机制,对应配置前端框架可加载运行的各个数据包,不同数据包所具有的工具栏扩展功能不同;将各个数据包的注册信息均注册到服务端的配置中心中,使得在任一外部客户端打开前端框架时,前端框架的工具栏中展示有分别与配置中心中注册的各个注册信息相对应的功能图标;一客户端发来针对前端框架中一功能图标的加载请求时,确定该功能图标对应的注册信息;将该注册信息所指向的数据包返回给客户端,使得客户端通过加载运行数据包,实现数据包所具有的工具栏扩展功能。本发明实施例能够实现工具栏的插件化需求。
本发明实施例中,客户端上运行的前端框架中,工具栏展示区可展示有与服务端上配置的各个数据包分别对应的功能图标,当用户点击任一功能图标时,客户端可调用相应数据包,并通过加载运行该数据包以实现相应的工具栏扩展功能。基于前端组件和后端业务的分离,实现了前端框架与业务层面的解耦。
详细地,前端框架中的功能图标作为工具栏扩展用接口,具体类别可以为弹窗、下拉展板、打开功能、网页跳转等。下面以下拉展板为例,对本发明实施例的技术内容作进一步地说明。
在本发明一个实施例中,每一个所述数据包均包括:目标动态组件的样式、结构和事件动作,其中,所述目标动态组件为所述前端框架中,用于加载运行所述数据包的、针对工具栏的动态组件。
本发明实施例提供的这一工具栏插件化方法,可涉及到多种实现机制,比如:(1)动态组件的动态渲染机制、(2)功能的模块拆分机制、(3)动态组件与异步模块的交互机制、(4)服务端配置机制、(5)前端打包机制等。
详细地,针对上述(1)动态组件的动态渲染机制:
本发明实施例中,可以在前端框架中定义动态组件,组件样式、结构及事件动作可配置,运行前端框架时动态加载、渲染组件,实现下拉展板的自定义设计。
本发明实施例中,定义客户端动态组件,组件样式、结构及事件松耦合、可配置,在运行时,通过服务端配置内容,动态加载,从而在框架上实现一个可自定义的展板,动态渲染效果,满足自定义、可配置的需求。
详细地,针对上述(2)功能的模块拆分机制:
本发明实施例中,下拉展板中具体功能可采用异步模块拆分,实现功能的可扩展、可插拔,从而能实现不同场景的不同需求,达到前端框架与业务层面的解耦。
本发明实施例中,可配置、自定义的动态组件展板上可以实现对功能的扩展与插拔,工具栏具体功能由异步模块实现,不限制于框架之内,与框架解耦,可以按照场景及需求,动态的添加实现相应的功能,运行时前端框架读取服务端的异步模块配置信息,动态添加配置功能。
详细地,针对上述(3)动态组件与异步模块的交互机制:
本发明实施例中,动态组件可定义必要的动作接口,在事件扩展时实现相关接口,通过接口实现,完成动态展板与扩展的异步模块之间的路由交互及参数传递。
在本发明一个实施例中,动态组件提供接口,实现动态展板与异步模块间的路由交互及参数传递,相关代码程序可以包括下述部分:
Figure BDA0002400688930000071
Figure BDA0002400688930000081
此外,在服务端配置动态组件的事件时,可以绑定相关的方法,从而在展板上执行相关的配置操作时,可以触发相关功能,并给功能传参。
详细地,针对上述(4)服务端配置机制:
本发明实施例中,动态组件的样式及结构、异步子模块均在服务端配置,是自定义、可扩展、可插拔的部分,通过配置,前端框架在运行时读取配置进行加载。
本发明实施例中,动态组件样式、结构与事件绑定,异步模块的路由信息都可以在服务端配置,从而运行时前端框架可以动态渲染组件展板,及插拔异步模块,从而实现工具栏的插件化需求。
详细地,针对上述(5)前端打包机制:
本发明实施例中,异步功能子模块可以脱离框架工程自行开发测试,实现与框架的完全解耦。其中,该前端打包机制可以为基于angular的打包机制。
本发明实施例中,基于前端打包原理,可以实现异步功能模块独立开发,不依赖框架工程,实现完全与框架的解耦,能自行开发测试,提高效率节省人力。
基于上述内容可知,本发明实施例提供的这一工具栏插件化方法,通过借助动态组件加载机制、异步模块路由机制、前端打包机制,并联合服务端配置,可实现插件化扩展、功能模块拆分独立开发,实现框架核心逻辑的沉淀,满足复杂系统的扩展需求,节省开发人员的工作量。
在本发明一个实施例中,为了说明一种路由交互的可能实现方式,所以,所述注册信息包括:菜单ID和路由信息;
其中,该方法进一步包括:根据所述第一注册信息中的第一路由信息,查询到满足所述第一路由信息的数据包;判断查询到的数据包的菜单ID是否与所述第一注册信息中的菜单ID相一致,若是,确定所述第一注册信息所指向的第一数据包为查询到的数据包。当然,该判断结果为否时,可结束当前流程并执行异常处理。
基于配置的各个数据包的菜单ID和路由信息,可以在客户端调用任一接口实现所需的数据包时,准确找到该数据包并返回。
在本发明一个实施例中,前端框架中可预留一些能够动态生成的组件,能在运行时动态加载HTML(HyperText Markup Language,超级文本标记语言)、CSS(CascadingStyle Sheets、层叠样式表),从而实现工具栏下拉展板的自定义渲染。动态组件暴露相关的路由及方法接口,可以在HTML中的相关事件中绑定,运行时决定展板内的相关操作所触发的事件。
与此相对应地,服务端可配置动态组件的HTML及异步模块的路由信息,配置内容可以根据不同的场景需求及功能实现自定义配置,从而沉淀框架核心逻辑,与业务逻辑隔离,实现业务场景的可配置、可插拔、松耦合的设计要求。
综上所述,本发明实施例公开了一种基于angular的web组件及模块的插件化实现及配置方法,适用于平台框架的可扩展、可插拔、松耦合的设计需求。本发明实施例可通过动态组件的样式渲染及事件绑定、异步模块的路由加载、前端打包拆分子模块的相关机制,实现工具栏展板的可自定义、可配置,及相关功能的可扩展与可插拔。
如图2所示,本发明实施例提供了一种工具栏插件化方法,应用于客户端,可以包括以下步骤:
步骤201:在打开前端框架时展示所述前端框架的工具栏,其中,所述工具栏中展示有,分别与外部服务端的配置中心中注册的每一个注册信息相对应的功能图标。
步骤202:启动所述前端框架中预先开发好的、针对所述工具栏的动态组件。
步骤203:接收外部针对所述至少一个功能图标中任一第一功能图标的打开请求,根据所述打开请求,将针对所述第一功能图标的加载请求发送给所述服务端。
步骤204:接收所述服务端返回的、所述第一功能图标对应的第一注册信息所指向的第一数据包,其中,不同数据包所具有的工具栏扩展功能不同。
步骤205:利用所述动态组件加载运行所述第一数据包,以实现所述第一数据包所具有的工具栏扩展功能。
本发明实施例提供的这一应用于客户端的工具栏插件化方法,与上述应用于服务端的工具栏插件化方法相对应,基于两者的配合使用,可以应对软件框架对工具栏自定义、可配置、可插拔的插件化场景需求。如此,对本发明实施例所述方法的技术理解,可参考上述技术描述,本发明实施例在此不做赘述。
如图3所示,本发明实施例提供了一种基于Angular的工具栏插件化方法,可以包括以下步骤:
步骤301:服务端基于预先开发好的至少一个异步功能子模块,利用Angular打包机制,对于前端框架中针对工具栏的动态组件,对应配置该动态组件可加载运行的至少一个数据包,其中,每一个数据包均包括该动态组件的样式、结构和事件动作,不同数据包所具有的工具栏扩展功能不同。
详细地,可以在独立的工程里,开发具体功能相关的异步子模块,利用打包机制,发布前端框架能加载运行的包。
步骤302:服务端将每一个数据包的注册信息均注册到服务端的配置中心中,其中,注册信息包括菜单ID和路由信息。
步骤303:客户端在打开前端框架时展示前端框架的工具栏,其中,工具栏中展示有,分别与配置中心中注册的每一个注册信息相对应的功能图标。
步骤304:客户端启动前端框架中预先开发好的、针对工具栏的动态组件。
步骤305:客户端接收外部针对第一功能图标的打开请求,根据打开请求,将针对第一功能图标的加载请求发送给服务端。
举例来说,用户点击的该第一功能图标为下拉展板的功能图标。
步骤306:服务端在接收到客户端发来的针对第一功能图标的加载请求时,根据加载请求,确定第一功能图标对应的第一注册信息。
步骤307:服务端根据第一注册信息中的第一路由信息,查询到满足第一路由信息的第一数据包。
步骤308:服务端判断第一数据包的菜单ID是否与第一注册信息中的菜单ID相一致,若是,将第一数据包返回给客户端,否则,结束当前流程。
步骤309:客户端接收服务端返回的第一数据包,利用动态组件加载运行第一数据包,以实现第一数据包所具有的工具栏扩展功能。
如此,用户点击下拉展板的功能图标后,客户端通过记载运行服务端发来的第一数据包,即可向用户展示一下拉展板,该下拉展板的样式、结构、展示内容等由该第一数据包中的具体内容所决定。
本发明实施例提供了一种基于angular的工具栏插件化方法,可适用于软件框架对工具栏自定义、可配置、可插拔的插件化设计需求。本发明实施例通过定义动态组件及异步子模块,在运行时动态渲染动态组件,实现工具栏下拉展板的自定义扩展。本发明实施例中,通过封装必要的接口,实现框架与异步子模块的路由交互及相关功能的模块化扩展实现,达到框架与业务的逻辑解耦。
如图4所示,本发明实施例提供了一种服务端,可以包括:
配置单元401,用于基于预先开发好的至少一个异步功能子模块,利用前端打包机制,对应配置前端框架可加载运行的至少一个数据包,其中,不同数据包所具有的工具栏扩展功能不同;
注册单元402,用于将每一个所述数据包的注册信息均注册到所述服务端的配置中心中,使得在任一外部客户端打开所述前端框架时,所述前端框架的工具栏中展示有,分别与所述配置中心中注册的各个所述注册信息相对应的功能图标;
交互单元403,用于在接收到任一第一客户端发来的、针对所述前端框架中任一第一功能图标的加载请求时,触发处理单元404;
所述处理单元404,用于根据所述加载请求,确定所述第一功能图标对应的第一注册信息;触发所述交互单元403将所述第一注册信息所指向的第一数据包返回给所述第一客户端,使得所述第一客户端通过加载运行所述第一数据包,实现所述第一数据包所具有的工具栏扩展功能。
在本发明一个实施例中,所述注册信息包括:菜单ID和路由信息;
其中,该方法进一步包括:根据所述第一注册信息中的第一路由信息,查询到满足所述第一路由信息的数据包;
判断查询到的数据包的菜单ID是否与所述第一注册信息中的菜单ID相一致,若是,确定所述第一注册信息所指向的第一数据包为查询到的数据包。
在本发明一个实施例中,每一个所述数据包均包括:目标动态组件的样式、结构和事件动作,其中,所述目标动态组件为所述前端框架中,用于加载运行所述数据包的、针对工具栏的动态组件。
在本发明一个实施例中,所述前端打包机制包括:基于Angular的打包机制。
如图5所示,本发明实施例提供了一种客户端,可以包括:
第一处理单元501,用于在打开前端框架时展示所述前端框架的工具栏,其中,所述工具栏中展示有,分别与外部服务端的配置中心中注册的每一个注册信息相对应的功能图标;
第一交互单元502,用于接收外部针对所述至少一个功能图标中任一第一功能图标的打开请求;
第二交互单元503,用于根据所述打开请求,将针对所述第一功能图标的加载请求发送给所述服务端;接收所述服务端返回的、所述第一功能图标对应的第一注册信息所指向的第一数据包,其中,不同数据包所具有的工具栏扩展功能不同;
第二处理单元504,用于启动所述前端框架中预先开发好的、针对所述工具栏的动态组件;利用所述动态组件加载运行所述第一数据包,以实现所述第一数据包所具有的工具栏扩展功能。
上述装置内的各单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
如图6所示,本发明实施例提供了一种工具栏插件化系统,可以包括:上述任一所述的服务端601,和,至少一个上述客户端602。
本发明实施例还提供了一种计算机可读介质,存储用于使一计算机执行如本文所述的工具栏插件化方法的指令。具体地,可以提供配有存储介质的系统或者装置,在该存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机(或CPU或MPU)读出并执行存储在存储介质中的程序代码。
在这种情况下,从存储介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此程序代码和存储程序代码的存储介质构成了本发明的一部分。
用于提供程序代码的存储介质实施例包括软盘、硬盘、磁光盘、光盘(如CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-RAM、DVD-RW、DVD+RW)、磁带、非易失性存储卡和ROM。可选择地,可以由通信网络从服务器计算机上下载程序代码。
此外,应该清楚的是,不仅可以通过执行计算机所读出的程序代码,而且可以通过基于程序代码的指令使计算机上操作的操作系统等来完成部分或者全部的实际操作,从而实现上述实施例中任意一项实施例的功能。
此外,可以理解的是,将由存储介质读出的程序代码写到插入计算机内的扩展板中所设置的存储器中或者写到与计算机相连接的扩展单元中设置的存储器中,随后基于程序代码的指令使安装在扩展板或者扩展单元上的CPU等来执行部分和全部实际操作,从而实现上述实施例中任一实施例的功能。
综上所述,本发明的实施例具有至少如下有益效果:
1、本发明实施例中,服务端基于预先开发好的各个异步功能子模块,利用前端打包机制,对应配置前端框架可加载运行的各个数据包,不同数据包所具有的工具栏扩展功能不同;将各个数据包的注册信息均注册到服务端的配置中心中,使得在任一外部客户端打开前端框架时,前端框架的工具栏中展示有分别与配置中心中注册的各个注册信息相对应的功能图标;一客户端发来针对前端框架中一功能图标的加载请求时,确定该功能图标对应的注册信息;将该注册信息所指向的数据包返回给客户端,使得客户端通过加载运行数据包,实现数据包所具有的工具栏扩展功能。本发明实施例能够实现工具栏的插件化需求。
2、本发明实施例公开了一种基于angular的web组件及模块的插件化实现及配置方法,适用于平台框架的可扩展、可插拔、松耦合的设计需求。本发明实施例可通过动态组件的样式渲染及事件绑定、异步模块的路由加载、前端打包拆分子模块的相关机制,实现工具栏展板的可自定义、可配置,及相关功能的可扩展与可插拔。
3、本发明实施例提供了一种基于angular的工具栏插件化方法,可适用于软件框架对工具栏自定义、可配置、可插拔的插件化设计需求。本发明实施例通过定义动态组件及异步子模块,在运行时动态渲染动态组件,实现工具栏下拉展板的自定义扩展。本发明实施例中,通过封装必要的接口,实现框架与异步子模块的路由交互及相关功能的模块化扩展实现,达到框架与业务的逻辑解耦。
需要说明的是,上述各流程和各系统结构图中不是所有的步骤和模块都是必须的,可以根据实际的需要忽略某些步骤或模块。各步骤的执行顺序不是固定的,可以根据需要进行调整。上述各实施例中描述的系统结构可以是物理结构,也可以是逻辑结构,即,有些模块可能由同一物理实体实现,或者,有些模块可能分由多个物理实体实现,或者,可以由多个独立设备中的某些部件共同实现。
以上各实施例中,硬件单元可以通过机械方式或电气方式实现。例如,一个硬件单元可以包括永久性专用的电路或逻辑(如专门的处理器,FPGA或ASIC)来完成相应操作。硬件单元还可以包括可编程逻辑或电路(如通用处理器或其它可编程处理器),可以由软件进行临时的设置以完成相应操作。具体的实现方式(机械方式、或专用的永久性电路、或者临时设置的电路)可以基于成本和时间上的考虑来确定。
需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
上文通过附图和优选实施例对本发明进行了详细展示和说明,然而本发明不限于这些已揭示的实施例,基与上述多个实施例本领域技术人员可以知晓,可以组合上述不同实施例中的代码审核手段得到本发明更多的实施例,这些实施例也在本发明的保护范围之内。

Claims (10)

1.工具栏插件化方法,其特征在于,应用于服务端,包括:
基于预先开发好的至少一个异步功能子模块,利用前端打包机制,对应配置前端框架可加载运行的至少一个数据包,其中,不同数据包所具有的工具栏扩展功能不同;
将每一个所述数据包的注册信息均注册到所述服务端的配置中心中,使得在任一外部客户端打开所述前端框架时,所述前端框架的工具栏中展示有,分别与所述配置中心中注册的各个所述注册信息相对应的功能图标;
在接收到任一第一客户端发来的、针对所述前端框架中任一第一功能图标的加载请求时,根据所述加载请求,确定所述第一功能图标对应的第一注册信息;
将所述第一注册信息所指向的第一数据包返回给所述第一客户端,使得所述第一客户端通过加载运行所述第一数据包,实现所述第一数据包所具有的工具栏扩展功能。
2.根据权利要求1所述的方法,其特征在于,
所述注册信息包括:菜单ID和路由信息;
其中,该方法进一步包括:根据所述第一注册信息中的第一路由信息,查询到满足所述第一路由信息的数据包;
判断查询到的数据包的菜单ID是否与所述第一注册信息中的菜单ID相一致,若是,确定所述第一注册信息所指向的第一数据包为查询到的数据包。
3.根据权利要求1所述的方法,其特征在于,
每一个所述数据包均包括:目标动态组件的样式、结构和事件动作,其中,所述目标动态组件为所述前端框架中,用于加载运行所述数据包的、针对工具栏的动态组件。
4.根据权利要求1至3中任一所述的方法,其特征在于,
所述前端打包机制包括:基于Angular的打包机制。
5.工具栏插件化方法,其特征在于,应用于客户端,包括:
在打开前端框架时展示所述前端框架的工具栏,其中,所述工具栏中展示有,分别与外部服务端的配置中心中注册的每一个注册信息相对应的功能图标;
启动所述前端框架中预先开发好的、针对所述工具栏的动态组件;
接收外部针对所述至少一个功能图标中任一第一功能图标的打开请求,根据所述打开请求,将针对所述第一功能图标的加载请求发送给所述服务端;
接收所述服务端返回的、所述第一功能图标对应的第一注册信息所指向的第一数据包,其中,不同数据包所具有的工具栏扩展功能不同;
利用所述动态组件加载运行所述第一数据包,以实现所述第一数据包所具有的工具栏扩展功能。
6.服务端,其特征在于,包括:
配置单元,用于基于预先开发好的至少一个异步功能子模块,利用前端打包机制,对应配置前端框架可加载运行的至少一个数据包,其中,不同数据包所具有的工具栏扩展功能不同;
注册单元,用于将每一个所述数据包的注册信息均注册到所述服务端的配置中心中,使得在任一外部客户端打开所述前端框架时,所述前端框架的工具栏中展示有,分别与所述配置中心中注册的各个所述注册信息相对应的功能图标;
交互单元,用于在接收到任一第一客户端发来的、针对所述前端框架中任一第一功能图标的加载请求时,触发处理单元;
所述处理单元,用于根据所述加载请求,确定所述第一功能图标对应的第一注册信息;触发所述交互单元将所述第一注册信息所指向的第一数据包返回给所述第一客户端,使得所述第一客户端通过加载运行所述第一数据包,实现所述第一数据包所具有的工具栏扩展功能。
7.根据权利要求6所述的服务端,其特征在于,
所述注册信息包括:菜单ID和路由信息;
其中,该方法进一步包括:根据所述第一注册信息中的第一路由信息,查询到满足所述第一路由信息的数据包;
判断查询到的数据包的菜单ID是否与所述第一注册信息中的菜单ID相一致,若是,确定所述第一注册信息所指向的第一数据包为查询到的数据包。
8.根据权利要求6或7所述的服务端,其特征在于,
每一个所述数据包均包括:目标动态组件的样式、结构和事件动作,其中,所述目标动态组件为所述前端框架中,用于加载运行所述数据包的、针对工具栏的动态组件;
和/或,
所述前端打包机制包括:基于Angular的打包机制。
9.客户端,其特征在于,包括:
第一处理单元,用于在打开前端框架时展示所述前端框架的工具栏,其中,所述工具栏中展示有,分别与外部服务端的配置中心中注册的每一个注册信息相对应的功能图标;
第一交互单元,用于接收外部针对所述至少一个功能图标中任一第一功能图标的打开请求;
第二交互单元,用于根据所述打开请求,将针对所述第一功能图标的加载请求发送给所述服务端;接收所述服务端返回的、所述第一功能图标对应的第一注册信息所指向的第一数据包,其中,不同数据包所具有的工具栏扩展功能不同;
第二处理单元,用于启动所述前端框架中预先开发好的、针对所述工具栏的动态组件;利用所述动态组件加载运行所述第一数据包,以实现所述第一数据包所具有的工具栏扩展功能。
10.工具栏插件化系统,其特征在于,包括:
如权利要求6至8中任一所述的服务端,和,至少一个如权利要求9所述的客户端。
CN202010145857.8A 2020-03-05 2020-03-05 工具栏插件化方法、装置及系统 Pending CN111381741A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010145857.8A CN111381741A (zh) 2020-03-05 2020-03-05 工具栏插件化方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010145857.8A CN111381741A (zh) 2020-03-05 2020-03-05 工具栏插件化方法、装置及系统

Publications (1)

Publication Number Publication Date
CN111381741A true CN111381741A (zh) 2020-07-07

Family

ID=71217014

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010145857.8A Pending CN111381741A (zh) 2020-03-05 2020-03-05 工具栏插件化方法、装置及系统

Country Status (1)

Country Link
CN (1) CN111381741A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113656034A (zh) * 2021-08-24 2021-11-16 北京百度网讯科技有限公司 信息处理方法、装置、电子设备以及存储介质
CN113986248A (zh) * 2021-11-03 2022-01-28 北京字节跳动网络技术有限公司 一种代码生成方法、装置、计算机设备及存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090327926A1 (en) * 2008-06-30 2009-12-31 Yi Sun Method and system for implementing software customization module
CN103176789A (zh) * 2011-12-26 2013-06-26 腾讯科技(深圳)有限公司 一种实现开放平台功能扩展的方法及系统
CN103645919A (zh) * 2013-12-18 2014-03-19 用友软件股份有限公司 一种通过插件扩展管理信息系统功能的方法
CN104133669A (zh) * 2014-06-11 2014-11-05 腾讯科技(深圳)有限公司 一种桌面应用的控制方法及终端设备
CN104360884A (zh) * 2014-11-18 2015-02-18 久邦计算机技术(广州)有限公司 一种基于安卓系统的插件资源包加载方法
CN105204812A (zh) * 2015-09-29 2015-12-30 中国舰船研究设计中心 一种基于插件的多界面显控系统及其集成方法
CN107870787A (zh) * 2016-09-26 2018-04-03 平安科技(深圳)有限公司 应用程序插件化加载方法及系统
CN108595203A (zh) * 2018-04-28 2018-09-28 努比亚技术有限公司 应用功能执行方法、移动终端和计算机可读存储介质

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090327926A1 (en) * 2008-06-30 2009-12-31 Yi Sun Method and system for implementing software customization module
CN103176789A (zh) * 2011-12-26 2013-06-26 腾讯科技(深圳)有限公司 一种实现开放平台功能扩展的方法及系统
CN103645919A (zh) * 2013-12-18 2014-03-19 用友软件股份有限公司 一种通过插件扩展管理信息系统功能的方法
CN104133669A (zh) * 2014-06-11 2014-11-05 腾讯科技(深圳)有限公司 一种桌面应用的控制方法及终端设备
CN104360884A (zh) * 2014-11-18 2015-02-18 久邦计算机技术(广州)有限公司 一种基于安卓系统的插件资源包加载方法
CN105204812A (zh) * 2015-09-29 2015-12-30 中国舰船研究设计中心 一种基于插件的多界面显控系统及其集成方法
CN107870787A (zh) * 2016-09-26 2018-04-03 平安科技(深圳)有限公司 应用程序插件化加载方法及系统
CN108595203A (zh) * 2018-04-28 2018-09-28 努比亚技术有限公司 应用功能执行方法、移动终端和计算机可读存储介质

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113656034A (zh) * 2021-08-24 2021-11-16 北京百度网讯科技有限公司 信息处理方法、装置、电子设备以及存储介质
CN113656034B (zh) * 2021-08-24 2024-03-12 北京百度网讯科技有限公司 信息处理方法、装置、电子设备以及存储介质
CN113986248A (zh) * 2021-11-03 2022-01-28 北京字节跳动网络技术有限公司 一种代码生成方法、装置、计算机设备及存储介质
CN113986248B (zh) * 2021-11-03 2023-05-16 抖音视界有限公司 一种代码生成方法、装置、计算机设备及存储介质

Similar Documents

Publication Publication Date Title
US7761878B2 (en) System and method for stateful web-based computing
CN100375010C (zh) 一种提供动态向导界面的方法和系统
US20060047665A1 (en) System and method for simulating an application for subsequent deployment to a device in communication with a transaction server
US8065410B1 (en) Methods and apparatus for collecting performance metrics from a web site
US7089279B1 (en) Method and system for collaborating among interconnected client terminals
US20090300578A1 (en) System and Method For Developing An Application For Extending Access to Local Software Of A Wireless Device
US20110219293A1 (en) Method and apparatus for populating a form with data
US20050057560A1 (en) System and method for building wireless applications with intelligent mapping between user interface and data components
AU2005200852A1 (en) System and method for building wireless applications with intelligent mapping between user interface and data components
WO2001025908A2 (en) Presentation service architectures for netcentric computing systems
CN103927253A (zh) 多浏览器兼容性测试方法及系统
CN111381741A (zh) 工具栏插件化方法、装置及系统
CN111343181B (zh) 报文的处理方法,系统以及数据池和计算机可读存储介质
CN105243407A (zh) 读写智能卡的方法及装置
CN108415804A (zh) 获取信息的方法、终端设备及计算机可读存储介质
US20060190813A1 (en) Mobile device having extensible sofware for presenting server-side applications, software and methods
JP4244337B2 (ja) カスタマ・サポートのためのウェブ・ブラウザ・コントロール
JP6877343B2 (ja) 非構造化メッセージの処理
CN114222256A (zh) 消息发送方法、装置及电子设备
CN111767229A (zh) 性能测试方法、装置和设备
CN114661375A (zh) 应用集成方法及装置
CN113761428A (zh) 页面渲染方法、装置、系统、存储介质及电子设备
US7287274B1 (en) Method and system for providing security to a client server operating a browser
US7685258B2 (en) Disconnectible applications
CN101772196A (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

Application publication date: 20200707

RJ01 Rejection of invention patent application after publication