[go: up one dir, main page]

CN117216435A - Cache method, equipment and storage medium based on micro front-end architecture - Google Patents

Cache method, equipment and storage medium based on micro front-end architecture Download PDF

Info

Publication number
CN117216435A
CN117216435A CN202311188677.8A CN202311188677A CN117216435A CN 117216435 A CN117216435 A CN 117216435A CN 202311188677 A CN202311188677 A CN 202311188677A CN 117216435 A CN117216435 A CN 117216435A
Authority
CN
China
Prior art keywords
sub
application
page
information
cache
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.)
Granted
Application number
CN202311188677.8A
Other languages
Chinese (zh)
Other versions
CN117216435B (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.)
China United Network Communications Group Co Ltd
Unicom Digital Technology Co Ltd
China Unicom Internet of Things Corp Ltd
Original Assignee
China United Network Communications Group Co Ltd
Unicom Digital Technology Co Ltd
China Unicom Internet of Things Corp 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 China United Network Communications Group Co Ltd, Unicom Digital Technology Co Ltd, China Unicom Internet of Things Corp Ltd filed Critical China United Network Communications Group Co Ltd
Priority to CN202311188677.8A priority Critical patent/CN117216435B/en
Publication of CN117216435A publication Critical patent/CN117216435A/en
Application granted granted Critical
Publication of CN117216435B publication Critical patent/CN117216435B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请提供一种基于微前端架构的缓存方法、设备及存储介质,涉及微前端领域,包括:在接收用户发送的子应用的加载请求时,判断子应用是否首次加载;在首次加载时据预设路由数据和用户信息调用子应用获取第一实例化子应用;在非首次加载时获取第一缓存信息,根据第一缓存信息调用子应用获取第二实例化子应用;其中,第一缓存信息包括上一次子应用卸载时最后运行的子页面的第一路由数据、虚拟DOM节点和选框数据;在获取子应用的子页面关闭请求时,判断子页面是否为子应用运行的最后一个子页面;若确定子页面是子应用运行的最后一个子页面,更新第一缓存信息并卸载子应用。本申请用以解决现有微前端系统加载和缓存不便,不能跨应用缓存的问题。

This application provides a caching method, device and storage medium based on micro front-end architecture, which relates to the field of micro front-end, including: when receiving a loading request for a sub-application sent by the user, determining whether the sub-application is loaded for the first time; Assume that the routing data and user information call the sub-application to obtain the first instantiated sub-application; obtain the first cache information when it is not loaded for the first time, and call the sub-application according to the first cache information to obtain the second instantiated sub-application; where, the first cache information Including the first routing data, virtual DOM node and marquee data of the last sub-page that was run when the last sub-application was uninstalled; when obtaining the sub-application's sub-page closing request, determine whether the sub-page is the last sub-page that the sub-application runs. ; If it is determined that the subpage is the last subpage that the subapplication runs, update the first cache information and uninstall the subapplication. This application is used to solve the problem of inconvenient loading and caching of existing micro front-end systems and the inability to cache across applications.

Description

基于微前端架构的缓存方法、设备及存储介质Caching methods, equipment and storage media based on micro front-end architecture

技术领域Technical field

本申请涉及微前端领域,尤其涉及一种基于微前端架构的缓存方法、设备及存储介质。This application relates to the field of micro-front-end, and in particular to a caching method, device and storage medium based on micro-front-end architecture.

背景技术Background technique

现有的微前端架构中主应用中能够独立部署多个子应用,多个子应用独立灵活,能够独立开发、部署和运行。In the existing micro front-end architecture, the main application can independently deploy multiple sub-applications. Multiple sub-applications are independent and flexible, and can be developed, deployed and run independently.

现有的微前端系统基于qiankun微服务实现,框架默认提供的加载方式为registerMicroApps,即自动注册微应用方式,这种方式管理应用切换依赖路由路径:每次路由切换都会自动触发应用的卸载和加载,可能导致不必要的性能损耗的同时也会导致在内部路由跳转时触发应用的重载,现有技术中的缓存方式为组件级缓存,而在微前端框架中使用组件级缓存有诸多限制无法实现跨应用缓存。The existing micro front-end system is implemented based on qiankun microservices. The default loading method provided by the framework is registerMicroApps, which is the automatic registration method of micro applications. This method manages application switching depending on the routing path: each routing switch will automatically trigger the unloading and loading of the application. , may not only cause unnecessary performance loss, but also trigger application reloading when internal routing jumps. The caching method in the existing technology is component-level caching, and there are many restrictions on using component-level caching in micro-front-end frameworks. Cross-application caching is not possible.

针对上述缺陷,亟需一种基于微前端架构的缓存方法、设备及存储介质,能够可以更好地管理和控制页面的加载和缓存,提升用户体验。In view of the above defects, there is an urgent need for a caching method, device and storage medium based on micro-front-end architecture, which can better manage and control the loading and caching of pages and improve user experience.

发明内容Contents of the invention

本申请提供一种基于微前端架构的缓存方法、设备及存储介质,用以解决现有微前端系统加载和缓存不便,不能跨应用缓存的问题。This application provides a caching method, device and storage medium based on micro-front-end architecture to solve the problem of inconvenient loading and caching of existing micro-front-end systems and the inability to cache across applications.

第一方面,本申请提供一种基于微前端架构的缓存方法,用于微前端系统,所述微前端系统包括主应用和注册在所述主应用上的多个子应用,所述子应用包括一个或者多个子页面;所述方法包括:In a first aspect, this application provides a caching method based on a micro front-end architecture for a micro front-end system. The micro front-end system includes a main application and multiple sub-applications registered on the main application. The sub-applications include a or multiple subpages; the method includes:

在接收用户发送的所述子应用的加载请求时,判断所述子应用是否首次加载;When receiving the loading request of the sub-application sent by the user, determine whether the sub-application is loaded for the first time;

若为首次加载,根据预设路由数据和用户信息调用所述子应用,对所述子应用进行渲染获取第一实例化子应用;If it is loaded for the first time, the sub-application is called according to the preset routing data and user information, and the sub-application is rendered to obtain the first instantiated sub-application;

若非首次加载,获取第一缓存信息,根据所述第一缓存信息调用所述子应用,对所述子应用进行渲染获取第二实例化子应用;其中,所述第一缓存信息包括上一次所述子应用卸载时最后运行的子页面的第一路由数据、虚拟DOM节点和选框数据;If it is not loaded for the first time, the first cache information is obtained, the sub-application is called according to the first cache information, and the sub-application is rendered to obtain the second instantiated sub-application; wherein the first cache information includes the last time the sub-application was instantiated. Describes the first routing data, virtual DOM node and marquee data of the last subpage that was run when the sub-application was uninstalled;

在获取所述子应用的子页面关闭请求时,判断所述子页面是否为所述子应用运行的最后一个子页面;若确定子页面是所述子应用运行的最后一个子页面,更新所述第一缓存信息并卸载所述子应用。When obtaining the sub-page closing request of the sub-application, determine whether the sub-page is the last sub-page running by the sub-application; if it is determined that the sub-page is the last sub-page running by the sub-application, update the First cache the information and uninstall the sub-application.

在一种可能的设计中,同一所述子应用包括的所述子页面的路由前缀相同;所述判断所述子页面是否为所述子应用运行的最后一个子页面,包括:In one possible design, the routing prefixes of the subpages included in the same subapplication are the same; determining whether the subpage is the last subpage run by the subapplication includes:

获取所述子页面的第一路由前缀和其他正在运行的子页面的第二路由前缀,若存在所述第二路由前缀与所述第一路由前缀相同,则确定所述子页面不是所述子应用运行的最后一个子页面;若不存在所述第二路由前缀与所述第一路由前缀相同,则确定所述子页面是所述子应用运行的最后一个子页面。Obtain the first routing prefix of the subpage and the second routing prefix of other running subpages. If the second routing prefix is the same as the first routing prefix, it is determined that the subpage is not the subpage. The last subpage that the application runs; if the second routing prefix is not the same as the first routing prefix, it is determined that the subpage is the last subpage that the subapplication runs.

在一种可能的设计中,在所述在获取子页面关闭请求之前,所述方法还包括:In a possible design, before obtaining the subpage closing request, the method further includes:

所述子应用调用keep-alive组件根据正在运行的所述子页面的页面信息获取所述子应用的所述虚拟DOM节点,将所述虚拟DOM节点缓存至所述子应用数据库;The sub-application calls the keep-alive component to obtain the virtual DOM node of the sub-application based on the page information of the running sub-page, and caches the virtual DOM node to the sub-application database;

所述子应用使用form表单作为筛选器,筛选子页面内包括输入框、下拉框中的内容作为所述选框数据;将所述选框数据缓存至本地数据库;The sub-application uses the form form as a filter to filter the content in the sub-page including input boxes and drop-down boxes as the marquee data; cache the marquee data to a local database;

所述更新所述第一缓存信息,包括:The updating of the first cache information includes:

所述主应用向所述子应用发送卸载缓存请求,获取所述子应用发送的所述第一路由数据,所述虚拟DOM节点和所述选框数据作为第一缓存信息。The main application sends an uninstall cache request to the sub-application, and obtains the first routing data sent by the sub-application, the virtual DOM node and the box data as the first cache information.

在一种可能的设计中,所述将所述选框数据缓存至本地数据库,包括:In one possible design, caching the marquee data to a local database includes:

调用所述子页面的卸载流程钩子函数,读取所述form表单中的所述选框数据并所述本地数据库进行缓存。The uninstall process hook function of the sub-page is called to read the box data in the form and cache it in the local database.

在一种可能的设计中,在所述获取所述子应用发送的所述选框数据之后,所述方法还包括:In a possible design, after obtaining the box data sent by the sub-application, the method further includes:

所述子应用删除所述本地数据库内的所述选框数据。The sub-application deletes the marquee data in the local database.

在一种可能的设计中,在所述获取所述子应用发送的所述虚拟DOM节点之后,所述方法还包括:In a possible design, after obtaining the virtual DOM node sent by the sub-application, the method further includes:

所述子应用删除所述子应用数据库内的虚拟DOM节点。The sub-application deletes the virtual DOM node in the sub-application database.

在一种可能的设计中,所述在所述接收用户发送的所述子应用的加载请求之前,所述方法还包括:In a possible design, before receiving the loading request of the sub-application sent by the user, the method further includes:

所述主应用获取所述用户发送的登录请求信息和用户信息,根据所述登录请求信息和用户信息完成用户登录,将所述请求信息和用户信息发送至所述子应用与所述子应用共享。The main application obtains the login request information and user information sent by the user, completes the user login according to the login request information and user information, and sends the request information and user information to the sub-application to share with the sub-application .

第二方面,本申请提供一种基于微前端架构的缓存设备,用于微前端系统,所述微前端系统包括主应用和注册在所述主应用上的多个子应用,所述子应用包括一个或者多个子页面;所述设备包括:In the second aspect, this application provides a caching device based on a micro front-end architecture for use in a micro front-end system. The micro front-end system includes a main application and multiple sub-applications registered on the main application. The sub-applications include a or multiple sub-pages; the equipment includes:

判断模块,用于在接收用户发送的所述子应用的加载请求时,判断所述子应用是否首次加载;A judgment module, configured to judge whether the sub-application is loaded for the first time when receiving a loading request of the sub-application sent by the user;

第一实例化模块,用于若为首次加载,根据预设路由数据和用户信息调用所述子应用,对所述子应用进行渲染获取第一实例化子应用;The first instantiation module is used to call the sub-application according to the preset routing data and user information if it is loaded for the first time, and render the sub-application to obtain the first instantiated sub-application;

第二实例化模块,用于若非首次加载,获取第一缓存信息,根据所述第一缓存信息调用所述子应用,对所述子应用进行渲染获取第二实例化子应用;其中,所述第一缓存信息包括上一次所述子应用卸载时最后运行的子页面的第一路由数据、虚拟DOM节点和选框数据;The second instantiation module is used to obtain the first cache information if it is not loaded for the first time, call the sub-application according to the first cache information, render the sub-application and obtain the second instantiated sub-application; wherein, the The first cache information includes the first routing data, virtual DOM node and marquee data of the subpage that was last run when the sub-application was uninstalled last time;

缓存模块,用于在获取所述子应用的子页面关闭请求时,判断所述子页面是否为所述子应用运行的最后一个子页面;若确定子页面是所述子应用运行的最后一个子页面,更新所述第一缓存信息并卸载所述子应用。A caching module, configured to determine whether the sub-page is the last sub-page running by the sub-application when obtaining the sub-page closing request of the sub-application; if it is determined that the sub-page is the last sub-page running by the sub-application page, update the first cache information and uninstall the sub-application.

第三方面,本申请提供一种电子设备,包括:处理器,以及与所述处理器通信连接的存储器;In a third aspect, this application provides an electronic device, including: a processor, and a memory communicatively connected to the processor;

所述存储器存储计算机执行指令;The memory stores computer execution instructions;

所述处理器执行所述存储器存储的计算机执行指令,以实现上述一种基于微前端架构的缓存方法。The processor executes computer execution instructions stored in the memory to implement the above caching method based on a micro front-end architecture.

第四方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现上述一种基于微前端架构的缓存方法。In a fourth aspect, the present application provides a computer-readable storage medium. The computer-readable storage medium stores computer-executable instructions. When the computer-executable instructions are executed by a processor, they are used to implement the above-mentioned micro-front-end architecture-based system. caching methods.

本申请提供的一种基于微前端架构的缓存方法、设备及存储介质,包括:在获取子页面的关闭请求时,确定是否卸载子应用,在确定卸载子应用时,保存该子应用的子页面的虚拟DOM节点和选框数据作为第一缓存信息,所述第一缓存信息包括子应用上一次卸载时缓存的路由数据、虚拟DOM节点和选框数据;在获取子应用获取加载请求时判断所述子应用是否为第一次加载,若确定所述子应用不是第一次加载,根据第一缓存信息示例化所述子应用。能够实现以下技术效果:This application provides a caching method, device and storage medium based on a micro-front-end architecture, including: when obtaining a closing request of a sub-page, determining whether to uninstall the sub-application, and when determining to uninstall the sub-application, saving the sub-page of the sub-application The virtual DOM node and marquee data are used as the first cache information. The first cache information includes the routing data, virtual DOM node and marquee data cached when the sub-application was last uninstalled; when the sub-application obtains the loading request, it is determined that the Whether the sub-application is loaded for the first time. If it is determined that the sub-application is not loaded for the first time, the sub-application is instantiated according to the first cache information. The following technical effects can be achieved:

本申请在确定子应用卸载时获取第一缓存信息,第一缓存信息包括第一路由数据、虚拟DOM节点和选框数据;在收到子应用加载请求时根据第一缓存信息实例化子应用获取第二实例化子应用,获取的第二实例化子应用能够显示上次卸载时最后子页面的页面内容和选框中的内容;在避免重新加载的同时,提高加载效率,提升用户体验。This application obtains the first cache information when determining to uninstall the sub-application. The first cache information includes the first routing data, virtual DOM node and marquee data; when receiving the sub-application loading request, the sub-application is instantiated according to the first cache information to obtain The second instantiated sub-application can display the page content of the last sub-page and the content in the selection box when it was last uninstalled; while avoiding reloading, the loading efficiency is improved and the user experience is improved.

附图说明Description of drawings

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the following will briefly introduce the drawings that need to be used in the description of the embodiments or the prior art. Obviously, the drawings in the following description These are some embodiments of the present invention. For those of ordinary skill in the art, other drawings can be obtained based on these drawings without exerting creative efforts.

图1为本申请实施例提供的基于微前端架构的缓存方法的应用场景图;Figure 1 is an application scenario diagram of the caching method based on the micro front-end architecture provided by the embodiment of the present application;

图2为本申请实施例提供的基于微前端架构的缓存方法的流程图一;Figure 2 is a flowchart 1 of the caching method based on the micro front-end architecture provided by the embodiment of the present application;

图3为本申请实施例提供的基于微前端架构的缓存方法的流程图二;Figure 3 is a flow chart 2 of the caching method based on the micro front-end architecture provided by the embodiment of the present application;

图4为本申请实施例提供的基于微前端架构的缓存设备的结构图;Figure 4 is a structural diagram of a cache device based on a micro front-end architecture provided by an embodiment of the present application;

图5为本申请实施例提供的电子设备的硬件结构示意图。FIG. 5 is a schematic diagram of the hardware structure of an electronic device provided by an embodiment of the present application.

具体实施方式Detailed ways

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的设备和方法的例子,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。Exemplary embodiments will be described in detail herein, examples of which are illustrated in the accompanying drawings. When the following description refers to the drawings, the same numbers in different drawings refer to the same or similar elements unless otherwise indicated. The implementations described in the following exemplary embodiments do not represent all implementations consistent with this application. Rather, they are merely examples, and not exhaustive embodiments, of apparatus and methods consistent with certain aspects of the application as detailed in the appended claims. Based on the embodiments of the present invention, all other embodiments obtained by those of ordinary skill in the art without making creative efforts fall within the scope of protection of the present invention.

需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。It should be noted that the user information (including but not limited to user equipment information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in this application are all It is information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data need to comply with relevant laws, regulations and standards, and a corresponding operation entrance is provided for the user to choose to authorize or refuse.

需要说明的是,本申请实施例中,“示例性的”或者“例如”等词用于表示例子、例证或说明。本申请中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。It should be noted that in the embodiments of this application, words such as “exemplary” or “for example” are used to express examples, illustrations or illustrations. Any embodiment or design described herein as "exemplary" or "such as" is not intended to be construed as preferred or advantageous over other embodiments or designs. Rather, use of the words "exemplary" or "such as" is intended to present the concept in a concrete manner.

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。It should be noted that the terms “first”, “second”, “third”, “fourth”, etc. (if present) in the description and claims of the present invention and the above-mentioned drawings are used to distinguish similar objects and not necessarily used to describe a specific order or sequence. It is to be understood that the figures so used are interchangeable under appropriate circumstances so that the embodiments of the invention described herein, for example, can be practiced in sequences other than those illustrated or described herein.

需要说明的是,本申请实施例中的“在……时”,可以为在某种情况发生的瞬时,也可以为在某种情况发生后的一段时间内,本申请实施例对此不作具体限定。It should be noted that "at..." in the embodiments of the present application can be the instant when a certain situation occurs, or it can be a period of time after a certain situation occurs. The embodiments of the present application do not specify this. limited.

首先对本申请中的名词进行解释:First, the terms used in this application will be explained:

nginx服务器:是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like协议下发行。其特点是占有内存少,并发能力强,并且nginx的并发能力在同类型的网页服务器中表现较好。nginx server: It is a lightweight web server/reverse proxy server and email (IMAP/POP3) proxy server, released under the BSD-like protocol. Its characteristics are that it occupies less memory and has strong concurrency capabilities, and nginx's concurrency capabilities perform better among web servers of the same type.

qiankun框架:是一个基于single-spa的微前端实现库,single-spa框架更加易于使用,封装更多实用性的功能,本质上还是调用single-spa去实现微前端。qiankun框架通过使用一个主容器应用程序来工作,主应用程序充当所有微前端的子应用的入口点。每个微前端都是作为独立的应用程序开发的,可以独立部署,并通过定义的API与容器应用程序通信。qiankun framework: It is a micro front-end implementation library based on single-spa. The single-spa framework is easier to use and encapsulates more practical functions. In essence, it still calls single-spa to implement the micro front-end. The qiankun framework works by using a main container application that acts as the entry point for all sub-applications of micro frontends. Each microfrontend is developed as a standalone application, can be deployed independently, and communicates with the container application through a defined API.

图1为本申请实施例提供的基于微前端架构的缓存方法的应用场景图;如图1,本实施例方法用于微前端系统100,微前端系统100包括主应用110和注册在主应用上的多个子应用120,每个子应用120包括一个或者多个子页面;不同的子应用均拥有自己的权限和功能列表;Figure 1 is an application scenario diagram of the caching method based on the micro-front-end architecture provided by the embodiment of the present application; as shown in Figure 1, the method of this embodiment is used in the micro-front-end system 100. The micro-front-end system 100 includes a main application 110 and a system registered on the main application. Multiple sub-applications 120, each sub-application 120 includes one or more sub-pages; different sub-applications have their own permissions and function lists;

具体的,主应用110负责维护菜单、数据和页面元素的显示,而其他子应用120则根据自身权限负责维护全网的其他数据和页面元素加载。子应用120首先需注册到主应用110中,注册时,需要配置对应的入口地址、容器节点和路由信息等;通过qiankun提供的API来注册、启用、停止和卸载子应用120,同时监听子应用的生命周期,通过URL正则匹配加载相应子应用,并传递该子应用的菜单权限、元素权限以及token信息。Specifically, the main application 110 is responsible for maintaining the display of menus, data, and page elements, while other sub-applications 120 are responsible for maintaining the loading of other data and page elements across the entire network according to their own permissions. The sub-application 120 first needs to be registered in the main application 110. When registering, the corresponding entry address, container node and routing information need to be configured; the sub-application 120 is registered, enabled, stopped and uninstalled through the API provided by qiankun, and the sub-application is monitored at the same time. In the life cycle, the corresponding sub-application is loaded through URL regular matching, and the menu permissions, element permissions and token information of the sub-application are passed.

具体的,子应用120根据token信息单点登录系统,并重新加载路由和元素以及传递主应用传来的菜单和元素权限。加载完成后,该子应用120将页面渲染到主应用对应元素节点,同时子应用120也可以根据qiankun提供的API接口与主应用去沟通,共享主应用的样式、公共函数、组件等。每个子应用都是独立的前端应用平台,都有自己的路由、状态管理和UI组件库等。Specifically, the sub-application 120 uses the token information to log in to the system through single sign-in, reloads the routes and elements, and passes the menu and element permissions from the main application. After the loading is completed, the sub-application 120 renders the page to the corresponding element node of the main application. At the same time, the sub-application 120 can also communicate with the main application according to the API interface provided by qiankun and share the main application's styles, public functions, components, etc. Each sub-application is an independent front-end application platform with its own routing, state management, UI component library, etc.

具体的,在微前端系统100的具体部署时,需要将每个子应用120打包成静态资源放置在对应的nginx服务器上,配置在同一个nginx端口下;在主应用110中引入qiankun框架,在主应用110中配置子应用120对应的名称,入口地址,容器节点和路由信息。Specifically, during the specific deployment of the micro front-end system 100, each sub-application 120 needs to be packaged into a static resource and placed on the corresponding nginx server, configured under the same nginx port; the qiankun framework is introduced into the main application 110, and the qiankun framework is introduced into the main application 110. The name, entry address, container node and routing information corresponding to the sub-application 120 are configured in the application 110.

在一些实施例中,微前端系统为用于电信运营商的5G专网管理平台,将连接管理平台、资源管理平台、产品自服务平台和端网协同平台作为子应用在主应用上进行注册。其中现有的五个平台都不是针对5G功能进行的开发,利用电信运营商的5G专网管理平台能够将五个子系统组合成一个整体,并且过滤五个子应用的5G功能,实现5G专网系统的模块化和组件化。In some embodiments, the micro front-end system is a 5G private network management platform for telecom operators, and the connection management platform, resource management platform, product self-service platform, and terminal-network collaboration platform are registered as sub-applications on the main application. None of the existing five platforms are developed for 5G functions. The telecom operator's 5G private network management platform can be used to combine the five subsystems into a whole and filter the 5G functions of the five sub-applications to realize a 5G private network system. modularity and componentization.

连接管理平台:提供2/3G、4G、5G、NB连接设备的管理服务,包括5G设备管理,通信资费管理、账单管理等功能服务。Connection management platform: Provides management services for 2/3G, 4G, 5G, and NB connection equipment, including 5G equipment management, communication tariff management, bill management and other functional services.

资源管理平台:提供资源管理、性能监控、告警监控功能。Resource management platform: Provides resource management, performance monitoring, and alarm monitoring functions.

产品自服务平台:提供跨区域漫游、5G LAN、业务看板等功能。Product self-service platform: Provides cross-regional roaming, 5G LAN, business dashboard and other functions.

端网协同平台:提供包括设备管理、电子围栏、高精定位等端网协同能力的展示和管理。Terminal-network collaboration platform: Provides display and management of terminal-network collaboration capabilities including equipment management, electronic fences, high-precision positioning, etc.

数字孪生平台:基于AI、大数据等技术,提供包括大屏展示、场景化定制、数字分析等数字孪生功能。Digital twin platform: Based on technologies such as AI and big data, it provides digital twin functions including large-screen display, scene-based customization, and digital analysis.

下面结合附图对本申请实施例提供的基于微前端架构的缓存方法进行详细地介绍。The caching method based on the micro front-end architecture provided by the embodiment of the present application will be introduced in detail below with reference to the accompanying drawings.

图2为本申请实施例提供的基于微前端架构的缓存方法流程图一;如图2示,用于微前端系统,微前端系统包括主应用和注册在主应用上的多个子应用,子应用包括一个或者多个子页面;该方法包括:Figure 2 is a flowchart 1 of a caching method based on micro-front-end architecture provided by the embodiment of the present application; as shown in Figure 2, it is used in a micro-front-end system. The micro-front-end system includes a main application and multiple sub-applications registered on the main application. The sub-applications Include one or more subpages; the method includes:

S210、在接收用户发送的子应用的加载请求时,判断子应用是否首次加载;若为首次加载执行步骤S220;若非首次加载执行步骤230;S210. When receiving the loading request of the sub-application sent by the user, determine whether the sub-application is loaded for the first time; if it is loaded for the first time, execute step S220; if it is not loaded for the first time, execute step 230;

具体的,在切换页面时,需要通过用户手动加载子应用的方式进行加载,用户可以选择加载当前子应用的页面,也可以选择加载其他子应用的页面;在接收用户子应用的加载请求时不会触发卸载流程,首先判断子应用是否为首次加载。Specifically, when switching pages, the user needs to manually load the sub-application. The user can choose to load the page of the current sub-application or the page of other sub-applications; when receiving the loading request of the user's sub-application, no The uninstall process will be triggered. First, it will be determined whether the sub-application is loaded for the first time.

S220、根据预设路由数据和用户信息调用子应用,对子应用进行渲染获取第一实例化子应用;S220. Call the sub-application according to the preset routing data and user information, render the sub-application and obtain the first instantiated sub-application;

具体的,其中,用户信息在主应用登录时与子应用共享的信息;预设路由数据为子应用在注册时设置的子应用初始化预设路由信息;根据预设路由数据和用户信息直接实例化子应用,获取的第一实例化子应用为初次加载的,不存在缓存信息的实例化子应用。Specifically, the user information is shared with the sub-application when the main application logs in; the preset routing data is the sub-application initialization preset routing information set when the sub-application registers; it is directly instantiated according to the preset routing data and user information Sub-application, the first instantiated sub-application obtained is the instantiated sub-application that is loaded for the first time and does not have cache information.

S230、获取第一缓存信息,根据子应用的第一缓存信息调用子应用,对子应用进行渲染获取第二实例化子应用;其中,第一缓存信息包括子应用上一次卸载时最后运行的子页面的第一路由数据、虚拟DOM节点和选框数据;S230. Obtain the first cache information, call the sub-application according to the first cache information of the sub-application, render the sub-application and obtain the second instantiated sub-application; wherein the first cache information includes the sub-application that was last run when the sub-application was last uninstalled. The first routing data, virtual DOM node and marquee data of the page;

具体的;根据第一路由数据、虚拟DOM节点和选框数据实例化子应用获取第二实例化子应用,获取的第二实例化子应用能够显示上次子应用卸载时运行的最后一个子页面和页面中选框中的内容;Specifically; instantiate the sub-application according to the first routing data, virtual DOM node and marquee data to obtain the second instantiated sub-application, and the obtained second instantiated sub-application can display the last sub-page that was run when the last sub-application was uninstalled. and the content in the check box on the page;

S240、在获取子应用的子页面关闭请求时,判断子页面是否为子应用运行的最后一个子页面;若确定子页面是子应用运行的最后一个子页面,更新第一缓存信息并卸载子应用。S240. When obtaining the sub-page closing request of the sub-application, determine whether the sub-page is the last sub-page running by the sub-application; if it is determined that the sub-page is the last sub-page running by the sub-application, update the first cache information and uninstall the sub-application .

具体的,在子应用的最后一个子页面获取用户发送的关闭请求时,触发卸载流程并且更新第一缓存信息。Specifically, when the last sub-page of the sub-application obtains a closing request sent by the user, the uninstall process is triggered and the first cache information is updated.

本申请实施例提供方法,在获取子页面的关闭请求时,确定是否卸载子应用,在确定卸载子应用时,保存该子应用的子页面的虚拟DOM节点和选框数据作为第一缓存信息,第一缓存信息包括子应用上一次卸载时缓存的第一路由数据、虚拟DOM节点和选框数据;在获取子应用获取加载请求时判断子应用是否为第一次加载,若确定子应用不是第一次加载,根据第一缓存信息示例化子应用,能够实现以下技术效果:Embodiments of the present application provide a method to determine whether to uninstall the sub-application when obtaining a closing request of a sub-page, and to save the virtual DOM node and marquee data of the sub-application's sub-page as the first cache information when determining to uninstall the sub-application. The first cache information includes the first routing data, virtual DOM node and marquee data cached when the sub-application was last uninstalled; when obtaining the loading request of the sub-application, it is determined whether the sub-application is loaded for the first time. If it is determined that the sub-application is not the first load, Once loaded, the sub-application is instantiated based on the first cache information, which can achieve the following technical effects:

本实施例在确定子应用卸载时获取第一缓存信息,第一缓存信息包括第一路由数据、虚拟DOM节点和选框数据;在收到子应用加载请求时根据第一缓存信息实例化子应用获取第二实例化子应用,获取的第二实例化子应用能够显示上次卸载时最后子页面的页面内容和选框中的内容;在避免重新加载的同时,提高加载效率,提升用户体验。This embodiment obtains the first cache information when determining to uninstall the sub-application. The first cache information includes the first routing data, virtual DOM node and marquee data; when receiving the sub-application loading request, the sub-application is instantiated according to the first cache information. Obtain the second instantiated sub-application. The obtained second instantiated sub-application can display the page content of the last sub-page and the content in the selection box when it was last uninstalled; while avoiding reloading, it improves loading efficiency and improves user experience.

图3为本申请实施例提供的基于微前端架构的缓存方法的流程图二;如图3所示,该方法包括:Figure 3 is a flowchart 2 of the caching method based on the micro front-end architecture provided by the embodiment of the present application; as shown in Figure 3, the method includes:

S310、主应用获取用户发送的登录请求信息和用户信息,根据登录请求信息和用户信息完成用户登录,将请求信息和用户信息发送至子应用与子应用共享;S310. The main application obtains the login request information and user information sent by the user, completes the user login according to the login request information and user information, and sends the request information and user information to the sub-application to share with the sub-application;

在一些具体实现方式中,S310通过以下方式实现:In some specific implementation methods, S310 is implemented in the following ways:

S311、主应用获取用户发送的登录请求信息和用户信息,根据用户请求信息获取token信息并进行用户登录;后端将token信息保存在浏览器cookies中,并使用后端redis(子应用数据库)来进行缓存登录信息。S311. The main application obtains the login request information and user information sent by the user, obtains the token information according to the user request information and performs user login; the backend saves the token information in browser cookies and uses the backend redis (sub-application database). Caching login information.

S312、调用用户信息查询接口,缓存到redis中。前端将用户信息缓存到vue状态管理器vuex(内存)中。当浏览器刷新时,vuex缓存信息会失效,需要重新调用用户信息查询接口来更新最新的缓存信息。S312. Call the user information query interface and cache it in redis. The front end caches user information into the vue state manager vuex (memory). When the browser is refreshed, the vuex cache information will be invalid, and the user information query interface needs to be called again to update the latest cache information.

S313、主应用定义全局状态,并监听token信息和用户信息的缓存变化;当token信息和用户信息发生变化时,通过qiankun props方法将更新的token信息和用户信息传递给子应用,更新子应用的token信息和用户信息。S313. The main application defines the global state and monitors the cache changes of token information and user information; when the token information and user information change, the updated token information and user information are passed to the sub-application through the qiankun props method, and the sub-application is updated. Token information and user information.

具体的,本步骤用于进行用户信息和登录信息的前后端同步并且监听其缓存变化进行实时更新和同步,保证系统运行的稳定性。Specifically, this step is used to synchronize the front-end and back-end of user information and login information and monitor their cache changes for real-time updates and synchronization to ensure the stability of system operation.

S320、在接收用户发送的子应用的加载请求时,判断子应用是否首次加载;若为首次加载执行步骤S330;若非首次加载执行步骤340;S320. When receiving the loading request of the sub-application sent by the user, determine whether the sub-application is loaded for the first time; if it is loaded for the first time, execute step S330; if it is not loaded for the first time, execute step 340;

具体的,根据第一缓存信息的缓存变量判断子应用是否为首次加载,若为该子应用为首次加载,则第一缓存信息中不存在缓存变量,即不存在第一路由数据、选框数据和虚拟DOM节点,具体的,若第一缓存信息中不存在缓存变量,则确定该子应用为首次加载,若第一缓存信息中存在缓存变量,则确定该子应用非首次加载。Specifically, it is determined according to the cache variable of the first cache information whether the sub-application is loaded for the first time. If the sub-application is loaded for the first time, there is no cache variable in the first cache information, that is, there is no first routing data or marquee data. and virtual DOM nodes. Specifically, if there is no cache variable in the first cache information, it is determined that the sub-application is loaded for the first time. If there is a cache variable in the first cache information, it is determined that the sub-application is not loaded for the first time.

S330、根据预设路由数据和用户信息调用子应用,对子应用进行渲染获取第一实例化子应用;跳转至S350;S330: Call the sub-application according to the preset routing data and user information, render the sub-application and obtain the first instantiated sub-application; jump to S350;

具体的,用户信息用于获取该用户在子应用的权限和筛选用户信息,预设路由数据为子应用在注册时设置的子应用初始化预设路由信息;预设路由数据包括路由地址和路由参数等,用于示例化子应用,所获取的第一实例化子应用为初次加载的,不存在缓存信息的实例化子应用。Specifically, user information is used to obtain the user's permissions in the sub-application and filter user information. The preset routing data is the sub-application initialization preset routing information set when the sub-application is registered; the preset routing data includes routing addresses and routing parameters. etc., used to instantiate a sub-application. The obtained first instantiated sub-application is an instantiated sub-application that is loaded for the first time and does not have cache information.

在一些实施例中,根据路由数据和用户信息通过render方法获取第一实例化子应用;In some embodiments, the first instantiated sub-application is obtained through the render method according to routing data and user information;

S340、获取第一缓存信息,根据子应用的第一缓存信息调用子应用,对子应用进行渲染获取第二实例化子应用;其中,第一缓存信息包括子应用上一次卸载时最后运行的子页面的第一路由数据、虚拟DOM节点和选框数据,继续执行S350;S340. Obtain the first cache information, call the sub-application according to the first cache information of the sub-application, render the sub-application and obtain the second instantiated sub-application; wherein the first cache information includes the sub-application that was last run when the sub-application was last uninstalled. For the first routing data, virtual DOM node and marquee data of the page, continue to execute S350;

具体的;根据第一路由数据、虚拟DOM节点和选框数据实例化子应用获取第二实例化子应用,获取的第二实例化子应用能够显示上次子应用卸载时运行的最后一个子页面和页面中选框中的内容;Specifically; instantiate the sub-application according to the first routing data, virtual DOM node and marquee data to obtain the second instantiated sub-application, and the obtained second instantiated sub-application can display the last sub-page that was run when the last sub-application was uninstalled. and the content in the check box on the page;

在一些实施例中,在获取第一缓存信息后,子应用在本地数据库内删除选框数据,在子应用数据库删除虚拟DOM节点;用以释放内存。In some embodiments, after obtaining the first cache information, the sub-application deletes the marquee data in the local database and deletes the virtual DOM node in the sub-application database to release memory.

S350、在子页面运行时,根据子页面的页面信息获取子应用的虚拟DOM节点保存在子应用缓存;筛选子页面内包括输入框、下拉框中的内容作为选框数据保存在本地缓存;S350. When the sub-page is running, obtain the virtual DOM node of the sub-application based on the page information of the sub-page and save it in the sub-application cache; filter the contents of the input box and drop-down box in the sub-page and save them in the local cache as marquee data;

具体的,将子应用使用keep-alive组件获取子应用的虚拟DOM节点保存在子应用缓存;Specifically, the sub-application uses the keep-alive component to obtain the virtual DOM node of the sub-application and saves it in the sub-application cache;

具体的,卸载子应用会调用页面的销毁流程钩子函数destroyed。在该生命周期内,读取筛选器表单的数据,并存入缓存中。为了区分不同页面的缓存,缓存的key值为页面的定义组件名字,其中下拉框不仅缓存键值,还要缓存选中的名称。Specifically, uninstalling a sub-application will call the page's destruction process hook function destroyed. During this life cycle, the data of the filter form is read and stored in the cache. In order to distinguish the cache of different pages, the cached key value is the name of the defined component of the page. The drop-down box not only caches the key value, but also caches the selected name.

具体的,引入会话级本地缓存sessionStorage用于存储选框数据,先读取本地缓存sessionStorage中的缓存。若命中该页面缓存,则加载缓存并更新form表单的查询条件变量。该缓存基于会话,在主应用调用不同的子应用时可以读取,能够在重载时利用VUE的生命周期来实现应用级缓存,通过实例化能够显示页面中输入框选择框的内容。Specifically, the session-level local cache sessionStorage is introduced to store the marquee data, and the cache in the local cache sessionStorage is first read. If the page cache is hit, the cache is loaded and the query condition variable of the form is updated. The cache is based on sessions and can be read when the main application calls different sub-applications. It can use the life cycle of VUE to implement application-level caching when reloading. It can display the content of the input box selection box in the page through instantiation.

S360、在获取子应用的子页面关闭请求时,判断子页面是否为子应用运行的最后一个子页面;若确定子页面是子应用运行的最后一个子页面,卸载子应用并获取第一路由数据、虚拟DOM节点和选框数据作为第一缓存信息进行更新。S360. When obtaining the sub-application's sub-page closing request, determine whether the sub-page is the last sub-page that the sub-application runs; if it is determined that the sub-page is the last sub-page that the sub-application runs, uninstall the sub-application and obtain the first routing data , the virtual DOM node and the marquee data are updated as the first cache information.

具体的,主应用采用多页签的方式监听路由变化,当切换同一个子应用的子页面时,主应用不重新加载该子应用,也不会触发卸载流程;而不同子应用的页面切换时,需要通过手动加载子应用的方式进行加载。手动加载不会触发子框架的卸载流程。Specifically, the main application uses multiple tabs to monitor routing changes. When switching sub-pages of the same sub-application, the main application will not reload the sub-application, nor will it trigger the uninstall process; when switching pages of different sub-applications, You need to manually load the sub-application. Manual loading will not trigger the unloading process of the subframe.

具体的,同一子应用包括的子页面的路由前缀相同;获取子页面的第一路由前缀和其他正在运行的子页面的第二路由前缀,若存在第二路由前缀与第一路由前缀相同,则确定子页面不是子应用运行的最后一个子页面;若不存在第二路由前缀与第一路由前缀相同,则确定子页面是子应用运行的最后一个子页面。Specifically, the routing prefixes of subpages included in the same sub-application are the same; the first routing prefix of the subpage and the second routing prefix of other running subpages are obtained. If there is a second routing prefix that is the same as the first routing prefix, then It is determined that the subpage is not the last subpage that the subapplication runs; if there is no second route prefix that is the same as the first route prefix, it is determined that the subpage is the last subpage that the subapplication runs.

具体的,在确定子页面为子应用运行的最后一个子页面时,从子应用缓存中获取虚拟DOM节点、从本地缓存中获取选框数据,获取最后一个子页面的路由数据作为第一路由数据,将用以更新第一缓存信息。Specifically, when determining that the subpage is the last subpage running in the subapplication, the virtual DOM node is obtained from the subapplication cache, the marquee data is obtained from the local cache, and the routing data of the last subpage is obtained as the first routing data. , will be used to update the first cache information.

在一些实施例中,在应用卸载时,定义全局变量保存,即定义“Router=this.instance.$router;Vnode=this.instance.vnode”作为虚拟DOM节点,其中$router和_vnode为VUE框架实例变量,_vnode为一个对象,包含节点名称、节点的文本,子节点、数据以及数据的keepalive属性等。In some embodiments, when the application is uninstalled, global variables are defined to be saved, that is, "Router=this.instance.$router; Vnode=this.instance.vnode" is defined as a virtual DOM node, where $router and _vnode are VUE frameworks. Instance variable, _vnode is an object, including node name, node text, child nodes, data and keepalive attributes of data, etc.

本申请实施例提供方法,在主应用完成用户登录时共享登录信息和用户信息,在确定子应用卸载时获取第一缓存信息,第一缓存信息包括第一路由数据、虚拟DOM节点和选框数据;在获取子应用获取加载请求时判断子应用是否为第一次加载,若确定子应用不是第一次加载,根据第一缓存信息示例化子应用。本申请实施例能够实现以下技术效果:Embodiments of the present application provide a method to share login information and user information when the main application completes user login, and obtain first cache information when determining to uninstall the sub-application. The first cache information includes first routing data, virtual DOM nodes and marquee data. ; When obtaining the loading request of the sub-application, determine whether the sub-application is loaded for the first time. If it is determined that the sub-application is not loaded for the first time, the sub-application is instantiated according to the first cache information. The embodiments of this application can achieve the following technical effects:

本实施例进行用户信息和登录信息的前后端同步并且监听其缓存变化进行实时更新和同步,保证系统运行的稳定性。This embodiment performs front-end and back-end synchronization of user information and login information and monitors cache changes for real-time updates and synchronization to ensure the stability of system operation.

采用手动注册微应用的方式来管理子应用缓存,在获取子应用的子页面关闭请求时,确定该子页面是为该子应用运行的最后一个子页面时,获取第一缓存信息并卸载子应用,第一缓存信息中的第一路由数据和虚拟DOM节点;在子应用渲染使用缓存的实例上的虚拟DOM节点替换子应用实例化,从而实现微前端应用级缓存,从而提升了系统的可维护性和扩展性,可以减少应用的创建和卸载过程,从而降低性能开销,提高应用的响应速度和性能。Use manual registration of micro-applications to manage sub-application cache. When obtaining the sub-application's sub-page closing request and determining that the sub-page is the last sub-page running for the sub-application, obtain the first cache information and uninstall the sub-application. , the first routing data and virtual DOM node in the first cache information; the virtual DOM node on the cached instance for sub-application rendering replaces the sub-application instantiation, thereby realizing micro-front-end application-level caching, thus improving the maintainability of the system It can reduce the creation and uninstallation process of applications, thereby reducing performance overhead and improving application response speed and performance.

本实施例还通过本地缓存储选框数据,与虚拟DOM节点相互配合。根据第一缓存信息实例化子应用获取的第二实例化子应用,在能够显示上次卸载时最后子页面的同时,还能够显示最后子页面上选框中的内容;避免浏览器刷新或重载后搜索条件无法显示给用户带来的不便。This embodiment also stores the marquee data through local cache and cooperates with the virtual DOM node. The second instantiated sub-application obtained by instantiating the sub-application based on the first cache information can not only display the last sub-page when it was uninstalled last time, but also display the content in the check box on the last sub-page; avoiding browser refresh or restart The inconvenience caused to users due to the inability to display search conditions after downloading.

本发明实施例可以根据上述方法示例对电子设备或主控设备进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本发明实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。Embodiments of the present invention can divide the electronic device or the main control device into functional modules according to the above method examples. For example, each functional module can be divided corresponding to each function, or two or more functions can be integrated into one processing unit. . The above integrated units can be implemented in the form of hardware or software function modules. It should be noted that the division of modules in the embodiment of the present invention is schematic and is only a logical function division. In actual implementation, there may be other division methods.

图4为本申请实施例提供的基于微前端架构的缓存设备的结构示意图一;如图4所示,设备40包括:Figure 4 is a schematic structural diagram of a caching device based on a micro front-end architecture provided by an embodiment of the present application. As shown in Figure 4, the device 40 includes:

判断模块401,用于在接收用户发送的子应用的加载请求时,判断子应用是否首次加载;The judgment module 401 is used to judge whether the sub-application is loaded for the first time when receiving a loading request of the sub-application sent by the user;

第一实例化模块402,用于若为首次加载,根据预设路由数据和用户信息调用子应用,对子应用进行渲染获取第一实例化子应用;The first instantiation module 402 is used to call the sub-application according to the preset routing data and user information if it is loaded for the first time, and render the sub-application to obtain the first instantiated sub-application;

第二实例化模块403,用于若非首次加载,获取第一缓存信息,根据第一缓存信息调用子应用,对子应用进行渲染获取第二实例化子应用;其中,第一缓存信息包括上一次子应用卸载时最后运行的子页面的第一路由数据、虚拟DOM节点和选框数据;The second instantiation module 403 is used to obtain the first cache information if it is not loaded for the first time, call the sub-application according to the first cache information, render the sub-application and obtain the second instantiated sub-application; wherein the first cache information includes the last time The first routing data, virtual DOM node and marquee data of the last subpage that was run when the sub-application was uninstalled;

缓存模块404,用于在获取子应用的子页面关闭请求时,判断子页面是否为子应用运行的最后一个子页面;若确定子页面是子应用运行的最后一个子页面,更新第一缓存信息并卸载子应用。The cache module 404 is used to determine whether the sub-page is the last sub-page that the sub-application runs when obtaining the sub-page closing request of the sub-application; if it is determined that the sub-page is the last sub-page that the sub-application runs, update the first cache information and uninstall the sub-application.

进一步的,同一子应用包括的子页面的路由前缀相同;缓存模块404,还用于:Further, the routing prefixes of subpages included in the same sub-application are the same; the cache module 404 is also used to:

获取子页面的第一路由前缀和其他正在运行的子页面的第二路由前缀,若存在第二路由前缀与第一路由前缀相同,则确定子页面不是子应用运行的最后一个子页面;若不存在第二路由前缀与第一路由前缀相同,则确定子页面是子应用运行的最后一个子页面。Obtain the first routing prefix of the subpage and the second routing prefix of other running subpages. If there is a second routing prefix that is the same as the first routing prefix, it is determined that the subpage is not the last subpage running by the subapplication; if not If the second route prefix is the same as the first route prefix, it is determined that the subpage is the last subpage that the subapplication runs.

进一步的,在获取子页面关闭请求之前,缓存模块404,具体还用于:Further, before obtaining the sub-page closing request, the cache module 404 is also specifically used for:

子应用调用keep-alive组件根据正在运行的子页面的页面信息获取子应用的虚拟DOM节点,将虚拟DOM节点缓存至子应用数据库;The sub-application calls the keep-alive component to obtain the virtual DOM node of the sub-application based on the page information of the running sub-page, and caches the virtual DOM node to the sub-application database;

子应用使用form表单作为筛选器,筛选子页面内包括输入框、下拉框中的内容作为选框数据;将选框数据缓存至本地数据库;The sub-application uses the form form as a filter to filter the content in the input box and drop-down box in the sub-page as marquee data; cache the marquee data to the local database;

缓存模块404,具体还用于:Cache module 404, specifically also used for:

主应用向子应用发送卸载缓存请求,获取子应用发送的第一路由数据,虚拟DOM节点和选框数据作为第一缓存信息。The main application sends an uninstall cache request to the sub-application, and obtains the first routing data, virtual DOM node and marquee data sent by the sub-application as the first cache information.

进一步的,缓存模块404,具体还用于:Further, the cache module 404 is specifically used for:

调用子页面的卸载流程钩子函数,读取form表单中的选框数据并进行缓存。Call the subpage's uninstall process hook function to read the check box data in the form and cache it.

进一步的,缓存模块404,具体还用于:Further, the cache module 404 is specifically used for:

获取子应用发送的选框数据之后子应用删除本地数据库内的选框数据。After obtaining the marquee data sent by the sub-application, the sub-application deletes the marquee data in the local database.

进一步的,缓存模块404,具体还用于:Further, the cache module 404 is specifically used for:

在获取子应用发送的虚拟DOM节点之后,子应用删除子应用数据库内的虚拟DOM节点。After obtaining the virtual DOM node sent by the sub-application, the sub-application deletes the virtual DOM node in the sub-application database.

进一步的,判断模块401,还用于:Further, the judgment module 401 is also used to:

在接收用户发送的子应用的加载请求之前,主应用获取用户发送的登录请求信息和用户信息,根据登录请求信息和用户信息完成用户登录,将请求信息和用户信息发送至子应用与子应用共享。Before receiving the loading request of the sub-application sent by the user, the main application obtains the login request information and user information sent by the user, completes the user login based on the login request information and user information, and sends the request information and user information to the sub-application to share with the sub-application .

本实施例提供的基于微前端架构的缓存设备,可执行上述基于微前端架构的缓存方法,其实现原理和技术效果类似,本实施例此处不再赘述。The caching device based on the micro-front-end architecture provided in this embodiment can execute the above-mentioned caching method based on the micro-front-end architecture. Its implementation principles and technical effects are similar, and will not be described again in this embodiment.

在前述的一种基于微前端架构的缓存设备的具体实现中,各模块可以被实现为处理器,处理器可以执行存储器中存储的计算机执行指令,使得处理器执行上述基于微前端架构的缓存方法。In the specific implementation of the aforementioned caching device based on micro-front-end architecture, each module can be implemented as a processor, and the processor can execute computer execution instructions stored in the memory, so that the processor executes the above-mentioned caching method based on micro-front-end architecture. .

图5为本申请实施例提供的电子设备的结构示意图。如图5所示,该电子设备50包括:至少一个处理器501和存储器502。该电子设备50还包括通信部件503。其中,处理器501、存储器502以及通信部件503通过总线504连接。FIG. 5 is a schematic structural diagram of an electronic device provided by an embodiment of the present application. As shown in FIG. 5 , the electronic device 50 includes: at least one processor 501 and a memory 502 . The electronic device 50 also includes communication components 503 . Among them, the processor 501, the memory 502 and the communication component 503 are connected through the bus 504.

在具体实现过程中,至少一个处理器501执行存储器502存储的计算机执行指令,使得至少一个处理器501执行如上电子设备侧所执行的基于微前端架构的缓存方法。In a specific implementation process, at least one processor 501 executes the computer execution instructions stored in the memory 502, so that the at least one processor 501 executes the caching method based on the micro front-end architecture as executed on the electronic device side.

处理器501的具体实现过程可参见上述方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。The specific implementation process of the processor 501 can be found in the above-mentioned method embodiments. The implementation principles and technical effects are similar and will not be described again in this embodiment.

在上述实施例中,应理解,处理器可以是中央处理单元(英文:CentralProcessing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:DigitalSignal Processor,简称:DSP)、专用集成电路(英文:Application Specific IntegratedCircuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。In the above embodiments, it should be understood that the processor may be a central processing unit (English: Central Processing Unit, referred to as: CPU), or other general-purpose processor, digital signal processor (English: Digital Signal Processor, referred to as: DSP), Application Specific Integrated Circuit (English: Application Specific Integrated Circuit, abbreviation: ASIC), etc. A general-purpose processor may be a microprocessor or the processor may be any conventional processor, etc. The steps of the method disclosed in conjunction with the invention can be directly embodied and executed by a hardware processor, or executed by a combination of hardware and software modules in the processor.

存储器可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器。The memory may include high-speed RAM memory and may also include non-volatile storage NVM, such as at least one disk memory.

总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component,PCI)总线或扩展工业标准体系结构(ExtendedIndustry Standard Architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。The bus may be an Industry Standard Architecture (Industry Standard Architecture, ISA) bus, a Peripheral Component Interconnect (PCI) bus, or an Extended Industry Standard Architecture (Extended Industry Standard Architecture, EISA) bus, etc. The bus can be divided into address bus, data bus, control bus, etc. For ease of presentation, the bus in the drawings of this application is not limited to only one bus or one type of bus.

上述针对电子设备以及主控设备所实现的功能,对本发明实施例提供的方案进行了介绍。可以理解的是,电子设备或主控设备为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。结合本发明实施例中所公开的实施例描述的各示例的单元及算法步骤,本发明实施例能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同的方法来实现所描述的功能,但是这种实现不应认为超出本发明实施例的技术方案的范围。The above describes the solution provided by the embodiment of the present invention with respect to the functions implemented by the electronic device and the main control device. It can be understood that, in order to implement the above functions, the electronic device or the main control device includes corresponding hardware structures and/or software modules for executing each function. With reference to the units and algorithm steps of each example described in the embodiments disclosed in the embodiments of the present invention, the embodiments of the present invention can be implemented in the form of hardware or a combination of hardware and computer software. Whether a function is performed by hardware or computer software driving the hardware depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered to go beyond the scope of the technical solutions of the embodiments of the present invention.

本申请还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,当处理器执行计算机执行指令时,实现如上基于微前端架构的缓存方法。This application also provides a computer-readable storage medium. Computer-executable instructions are stored in the computer-readable storage medium. When the processor executes the computer-executed instructions, the above caching method based on the micro front-end architecture is implemented.

上述的计算机可读存储介质,上述可读存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。可读存储介质可以是通用或专用计算机能够存取的任何可用介质。The above-mentioned computer-readable storage medium, the above-mentioned readable storage medium can be implemented by any type of volatile or non-volatile storage device or their combination, such as static random access memory (SRAM), electrically erasable memory. Programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, magnetic or optical disk. Readable storage media can be any available media that can be accessed by a general purpose or special purpose computer.

一种示例性的可读存储介质耦合至处理器,从而使处理器能够从该可读存储介质读取信息,且可向该可读存储介质写入信息。当然,可读存储介质也可以是处理器的组成部分。处理器和可读存储介质可以位于专用集成电路(Application Specific IntegratedCircuits,简称:ASIC)中。当然,处理器和可读存储介质也可以作为分立组件存在于电子设备或主控设备中。An exemplary readable storage medium is coupled to the processor such that the processor can read information from the readable storage medium and write information to the readable storage medium. Of course, the readable storage medium may also be an integral part of the processor. The processor and the readable storage medium may be located in Application Specific Integrated Circuits (ASIC). Of course, the processor and the readable storage medium may also exist as discrete components in the electronic device or the host control device.

本申请还提供了一种计算机程序产品,计算机程序产品包括:计算机程序,计算机程序存储在可读存储介质中,电子设备的至少一个处理器可以从可读存储介质读取计算机程序,至少一个处理器执行计算机程序使得电子设备执行上述任一实施例提供的方案。This application also provides a computer program product. The computer program product includes: a computer program. The computer program is stored in a readable storage medium. At least one processor of the electronic device can read the computer program from the readable storage medium. At least one processor The computer program is executed by the computer so that the electronic device executes the solution provided by any of the above embodiments.

本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。Persons of ordinary skill in the art can understand that all or part of the steps to implement the above method embodiments can be completed by hardware related to program instructions. The aforementioned program can be stored in a computer-readable storage medium. When the program is executed, the steps including the above-mentioned method embodiments are executed; and the aforementioned storage media include: ROM, RAM, magnetic disks, optical disks and other media that can store program codes.

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。Finally, it should be noted that the above embodiments are only used to illustrate the technical solution of the present invention, but not to limit it. Although the present invention has been described in detail with reference to the foregoing embodiments, those of ordinary skill in the art should understand that: The technical solutions described in the foregoing embodiments can still be modified, or some or all of the technical features can be equivalently replaced; and these modifications or substitutions do not deviate from the essence of the corresponding technical solutions from the technical solutions of the embodiments of the present invention. scope.

Claims (10)

1.一种基于微前端架构的缓存方法,其特征在于,用于微前端系统,所述微前端系统包括主应用和注册在所述主应用上的多个子应用,所述子应用包括一个或者多个子页面;所述方法包括:1. A caching method based on micro front-end architecture, characterized in that it is used in a micro front-end system. The micro front-end system includes a main application and multiple sub-applications registered on the main application. The sub-applications include one or Multiple subpages; the method includes: 在接收用户发送的所述子应用的加载请求时,判断所述子应用是否首次加载;When receiving the loading request of the sub-application sent by the user, determine whether the sub-application is loaded for the first time; 若为首次加载,根据预设路由数据和用户信息调用所述子应用,对所述子应用进行渲染获取第一实例化子应用;If it is loaded for the first time, the sub-application is called according to the preset routing data and user information, and the sub-application is rendered to obtain the first instantiated sub-application; 若非首次加载,获取第一缓存信息,根据所述第一缓存信息调用所述子应用,对所述子应用进行渲染获取第二实例化子应用;其中,所述第一缓存信息包括上一次所述子应用卸载时最后运行的子页面的第一路由数据、虚拟DOM节点和选框数据;If it is not loaded for the first time, the first cache information is obtained, the sub-application is called according to the first cache information, and the sub-application is rendered to obtain the second instantiated sub-application; wherein the first cache information includes the last time the sub-application was instantiated. Describes the first routing data, virtual DOM node and marquee data of the last subpage that was run when the sub-application was uninstalled; 在获取所述子应用的子页面关闭请求时,判断所述子页面是否为所述子应用运行的最后一个子页面;若确定子页面是所述子应用运行的最后一个子页面,更新所述第一缓存信息并卸载所述子应用。When obtaining the sub-page closing request of the sub-application, determine whether the sub-page is the last sub-page running by the sub-application; if it is determined that the sub-page is the last sub-page running by the sub-application, update the First cache the information and uninstall the sub-application. 2.根据权利要求1所述的方法,其特征在于,同一所述子应用包括的所述子页面的路由前缀相同;所述判断所述子页面是否为所述子应用运行的最后一个子页面,包括:2. The method according to claim 1, characterized in that the routing prefixes of the sub-pages included in the same sub-application are the same; and the determination of whether the sub-page is the last sub-page run by the sub-application ,include: 获取所述子页面的第一路由前缀和其他正在运行的子页面的第二路由前缀,若存在所述第二路由前缀与所述第一路由前缀相同,则确定所述子页面不是所述子应用运行的最后一个子页面;若不存在所述第二路由前缀与所述第一路由前缀相同,则确定所述子页面是所述子应用运行的最后一个子页面。Obtain the first routing prefix of the subpage and the second routing prefix of other running subpages. If the second routing prefix is the same as the first routing prefix, it is determined that the subpage is not the subpage. The last subpage that the application runs; if the second routing prefix is not the same as the first routing prefix, it is determined that the subpage is the last subpage that the subapplication runs. 3.根据权利要求1所述的方法,其特征在于,在所述在获取子页面关闭请求之前,所述方法还包括:3. The method according to claim 1, characterized in that, before obtaining the sub-page closing request, the method further includes: 所述子应用调用keep-alive组件根据正在运行的所述子页面的页面信息获取所述子应用的所述虚拟DOM节点,将所述虚拟DOM节点缓存至所述子应用数据库;The sub-application calls the keep-alive component to obtain the virtual DOM node of the sub-application based on the page information of the running sub-page, and caches the virtual DOM node to the sub-application database; 所述子应用使用form表单作为筛选器,筛选子页面内包括输入框、下拉框中的内容作为所述选框数据;将所述选框数据缓存至本地数据库;The sub-application uses the form form as a filter to filter the content in the sub-page including input boxes and drop-down boxes as the marquee data; cache the marquee data to a local database; 所述更新所述第一缓存信息,包括:The updating of the first cache information includes: 所述主应用向所述子应用发送卸载缓存请求,获取所述子应用发送的所述第一路由数据,所述虚拟DOM节点和所述选框数据作为第一缓存信息。The main application sends an uninstall cache request to the sub-application, and obtains the first routing data sent by the sub-application, the virtual DOM node and the box data as the first cache information. 4.根据权利要求3所述的方法,其特征在于,所述将所述选框数据缓存至本地数据库,包括:4. The method according to claim 3, characterized in that caching the marquee data to a local database includes: 调用所述子页面的卸载流程钩子函数,读取所述form表单中的所述选框数据并所述本地数据库进行缓存。The uninstall process hook function of the sub-page is called to read the box data in the form and cache it in the local database. 5.根据权利要求4所述的方法,其特征在于,在所述获取所述子应用发送的所述选框数据之后,所述方法还包括:5. The method according to claim 4, wherein after obtaining the box data sent by the sub-application, the method further includes: 所述子应用删除所述本地数据库内的所述选框数据。The sub-application deletes the marquee data in the local database. 6.根据权利要求4所述的方法,其特征在于,在所述获取所述子应用发送的所述虚拟DOM节点之后,所述方法还包括:6. The method according to claim 4, wherein after obtaining the virtual DOM node sent by the sub-application, the method further includes: 所述子应用删除所述子应用数据库内的虚拟DOM节点。The sub-application deletes the virtual DOM node in the sub-application database. 7.根据权利要求1所述的方法,其特征在于,所述在所述接收用户发送的所述子应用的加载请求之前,所述方法还包括:7. The method according to claim 1, characterized in that, before receiving the loading request of the sub-application sent by the user, the method further includes: 所述主应用获取所述用户发送的登录请求信息和用户信息,根据所述登录请求信息和用户信息完成用户登录,将所述请求信息和用户信息发送至所述子应用与所述子应用共享。The main application obtains the login request information and user information sent by the user, completes the user login according to the login request information and user information, and sends the request information and user information to the sub-application to share with the sub-application . 8.一种基于微前端架构的缓存设备,其特征在于,用于微前端系统,所述微前端系统包括主应用和注册在所述主应用上的多个子应用,所述子应用包括一个或者多个子页面;所述设备包括:8. A caching device based on micro-front-end architecture, characterized in that it is used in a micro-front-end system. The micro-front-end system includes a main application and multiple sub-applications registered on the main application. The sub-applications include one or Multiple sub-pages; the equipment includes: 判断模块,用于在接收用户发送的所述子应用的加载请求时,判断所述子应用是否首次加载;A judgment module, configured to judge whether the sub-application is loaded for the first time when receiving a loading request of the sub-application sent by the user; 第一实例化模块,用于若为首次加载,根据预设路由数据和用户信息调用所述子应用,对所述子应用进行渲染获取第一实例化子应用;The first instantiation module is used to call the sub-application according to the preset routing data and user information if it is loaded for the first time, and render the sub-application to obtain the first instantiated sub-application; 第二实例化模块,用于若非首次加载,获取第一缓存信息,根据所述第一缓存信息调用所述子应用,对所述子应用进行渲染获取第二实例化子应用;其中,所述第一缓存信息包括上一次所述子应用卸载时最后运行的子页面的第一路由数据、虚拟DOM节点和选框数据;The second instantiation module is used to obtain the first cache information if it is not loaded for the first time, call the sub-application according to the first cache information, render the sub-application and obtain the second instantiated sub-application; wherein, the The first cache information includes the first routing data, virtual DOM node and marquee data of the subpage that was last run when the sub-application was uninstalled last time; 缓存模块,用于在获取所述子应用的子页面关闭请求时,判断所述子页面是否为所述子应用运行的最后一个子页面;若确定子页面是所述子应用运行的最后一个子页面,更新所述第一缓存信息并卸载所述子应用。A caching module, configured to determine whether the sub-page is the last sub-page running by the sub-application when obtaining the sub-page closing request of the sub-application; if it is determined that the sub-page is the last sub-page running by the sub-application page, update the first cache information and uninstall the sub-application. 9.一种电子设备,其特征在于,包括:处理器,以及与所述处理器通信连接的存储器;9. An electronic device, characterized by comprising: a processor, and a memory communicatively connected to the processor; 所述存储器存储计算机执行指令;The memory stores computer execution instructions; 所述处理器执行所述存储器存储的计算机执行指令,以实现如权利要求1至7任一项所述的方法。The processor executes computer-executable instructions stored in the memory to implement the method according to any one of claims 1 to 7. 10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1至7任一项所述的方法。10. A computer-readable storage medium, characterized in that computer-executable instructions are stored in the computer-readable storage medium, and when executed by a processor, the computer-executable instructions are used to implement any one of claims 1 to 7 the method described.
CN202311188677.8A 2023-09-14 2023-09-14 Cache method, equipment and storage medium based on micro front-end architecture Active CN117216435B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311188677.8A CN117216435B (en) 2023-09-14 2023-09-14 Cache method, equipment and storage medium based on micro front-end architecture

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311188677.8A CN117216435B (en) 2023-09-14 2023-09-14 Cache method, equipment and storage medium based on micro front-end architecture

Publications (2)

Publication Number Publication Date
CN117216435A true CN117216435A (en) 2023-12-12
CN117216435B CN117216435B (en) 2025-07-08

Family

ID=89047622

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311188677.8A Active CN117216435B (en) 2023-09-14 2023-09-14 Cache method, equipment and storage medium based on micro front-end architecture

Country Status (1)

Country Link
CN (1) CN117216435B (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114579904A (en) * 2022-03-01 2022-06-03 浪潮云信息技术股份公司 Page cache implementation method based on anchor route distribution type micro front end
CN114647518A (en) * 2020-12-21 2022-06-21 腾讯科技(深圳)有限公司 Micro front-end system, sub-application loading method and computer readable storage medium
CN115629739A (en) * 2022-10-24 2023-01-20 新华三技术有限公司 Front-end system implementation method, device, equipment and storage medium
CN116204398A (en) * 2023-05-06 2023-06-02 北京合众伟奇科技股份有限公司 Page caching method, processing device and computer readable storage medium

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114647518A (en) * 2020-12-21 2022-06-21 腾讯科技(深圳)有限公司 Micro front-end system, sub-application loading method and computer readable storage medium
US20230036980A1 (en) * 2020-12-21 2023-02-02 Tencent Technology (Shenzhen) Company Limited Micro-frontend system, sub-application loading method, electronic device, computer program product, and computer-readable storage medium
CN114579904A (en) * 2022-03-01 2022-06-03 浪潮云信息技术股份公司 Page cache implementation method based on anchor route distribution type micro front end
CN115629739A (en) * 2022-10-24 2023-01-20 新华三技术有限公司 Front-end system implementation method, device, equipment and storage medium
CN116204398A (en) * 2023-05-06 2023-06-02 北京合众伟奇科技股份有限公司 Page caching method, processing device and computer readable storage medium

Also Published As

Publication number Publication date
CN117216435B (en) 2025-07-08

Similar Documents

Publication Publication Date Title
CN111026490B (en) Page rendering method and device, electronic equipment and storage medium
CN112667263B (en) Dynamic update method, device, electronic device and storage medium of Flutter component
CN112118565A (en) Multi-tenant service grayscale publishing method, apparatus, computer equipment and storage medium
CN109842656B (en) Intelligent and compatible multi-protocol Internet of Vehicles service method, Internet of Vehicles gateway system
CN114024853B (en) A method, system and related components for collecting hardware information of bare metal nodes
CN106331065A (en) Proxy application for host system with service container and system
US9477497B2 (en) Methods for determining resource dependency and systems thereof
US20170168807A1 (en) Method and electronic device for updating application program
CN106790601B (en) Service address reading device, system and method
CN109800367A (en) Webpage loading method, device, computer equipment and storage medium
CN114448895A (en) Application access method, device, equipment and medium
CN117435262A (en) Component dynamic loading method, device, electronic equipment and storage medium
US20050102685A1 (en) Method and system of generically managing tables for network processors
CN117216435A (en) Cache method, equipment and storage medium based on micro front-end architecture
CN113127023A (en) Method, device and system for upgrading service
CN110704041A (en) Software development method and device
CN120255977A (en) Execution method, terminal device and storage medium of micro front-end program
CN117668392A (en) Micro front-end multi-project multi-tab presentation method, device, equipment and media
CN113114493B (en) Network element configuration constraint checking method and system
CN116842297A (en) A microservice-based web front-end application integration system and method
CN107343042B (en) Browser traffic hijacking method and device and mobile terminal
CN115981923A (en) Business disaster tolerance method and device, computer equipment and storage medium
US12487832B2 (en) System and method for software state management
CN114448787A (en) CDN system channel configuration method, device, equipment and storage medium
CN113515458A (en) Method and system for reducing resource consumption of test environment based on Envoy plug-in

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
GR01 Patent grant
GR01 Patent grant