Application control method, application control device, electronic equipment and storage medium
By monitoring page address changes through the sub-application and coordinating with the main application, the click operation of the target menu is determined and triggered, which solves the problem of automatic opening of page addresses in the micro-frontend architecture and improves user experience and operation accuracy.
Patent Information
- Application Number
- CN202510539818.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-04-27
- Publication Date
- 2025-09-16
AI Technical Summary
In the existing micro-frontend architecture, the routing status between the main application and the sub-application lacks effective coordination, resulting in the inability to automatically open the corresponding page according to the address bar link, affecting operational efficiency and user experience.
The sub-application monitors page address changes, obtains the current page address, and collaborates with the main application to automatically open the target menu and the corresponding page by determining the target menu and triggering a click operation.
It realizes the automatic triggering of the click operation of the target menu according to the page address, improves the user experience, avoids repeated loading of the same page and waste of resources, and ensures the accurate matching and loading consistency of the menu and page.
Smart Images

Figure CN120653338A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of data processing, and more specifically, to a control method for an application, a control device for an application, an electronic device, and a storage medium in the field of data processing. Background Art
[0002] As web applications grow in size and complexity, existing technologies have adopted a micro-frontend architecture to manage these applications. This architecture consists of a main application and sub-applications. However, in existing technologies, when using a micro-frontend architecture to manage applications, the main application is typically responsible for rendering the global navigation menu and loading sub-applications, while the sub-applications independently handle internal page routing. Due to the lack of effective coordination between the routing states of the main application and sub-applications, it is impossible to open the corresponding page according to the address bar link, which affects operational efficiency and functional accessibility, and reduces the user experience.
[0003] Therefore, in the micro-frontend framework, how to automatically open the corresponding page according to the page address has become an urgent problem that needs to be solved. Summary of the Invention
[0004] The present application provides an application control method, an application control device, an electronic device, and a storage medium. The method can automatically open a corresponding page according to the page address, thereby improving the user experience.
[0005] In a first aspect, a method for controlling an application is provided. The method is applied to a main application in a micro-frontend architecture, where the micro-frontend architecture includes a main application and sub-applications. The method includes:
[0006] When the sub-application detects a change in the page address, it obtains the changed current page address;
[0007] Determine the target menu based on the current page address;
[0008] Trigger a click operation on the target menu;
[0009] In response to the click operation, the target menu is opened and the page corresponding to the current page address is displayed.
[0010] In an embodiment of the present application, since the sub-application monitors the changes in the page address, it can obtain the changed current page address in time when the page address changes; compared with the existing technology, this solution can achieve collaboration with the main application when the sub-application monitors the change in the page address, so that the main application can capture the event of the page address change; therefore, the main application can determine the target menu based on the current page address, and by triggering the click operation of the target menu, realize the function of automatically opening the target menu and the corresponding page; the above solution can realize the automatic triggering of the click operation of the target menu based on the page address, open the target menu and display the corresponding page, and improve the user experience.
[0011] In conjunction with the first aspect, in some possible implementations, triggering a click operation on a target menu includes:
[0012] When the current page address meets the preset conditions, a click operation is triggered;
[0013] Among them, the preset conditions include: the current page address is different from the first page address and the second page address, the first page address is the page address of the menu that was open before the sub-application monitored the page address change, and the second page address is the address corresponding to the preset page.
[0014] In an embodiment of the present application, a click operation on the target menu is triggered when the current page address is different from both the first page address and the second page address. By setting the current page address to be different from the first page address, it is ensured that the current page address is not obtained based on clicking the menu, that is, the current page address is different from the page address of the menu in the open state, which can avoid opening multiple pages that are the same as the open state, avoiding the waste of resources and the confusion of the display interface caused by repeated loading of the same page; by setting the current page address to be different from the second page address, the interference of the preset page is filtered out, and the menu operation caused by the preset page is prevented from being triggered incorrectly, thereby improving the user experience.
[0015] In combination with the first aspect and the above implementations, in some possible implementations, after triggering a click operation on the target menu, the method further includes:
[0016] Update the first page address to the current page address.
[0017] In an embodiment of the present application, by updating the first page address to the current page address, it is ensured that the page address of the menu in the open state recorded in the main application is synchronized with the page address of the currently actually opened page; the above scheme can record the page address of the updated menu in time after the click operation of the target menu is automatically triggered based on the page address change, and provide an accurate reference path for the subsequent automatic triggering of a new target menu based on the page address change, avoiding the problem of repeated opening of pages and inability to respond to page address change operations, thereby improving the operational accuracy of application control.
[0018] In combination with the first aspect and the above implementations, in some possible implementations, the present invention further includes:
[0019] Get the global menu, which includes the mapping relationship between page addresses and menus;
[0020] Based on the current page address, determine the target menu, including:
[0021] Determine the target menu based on the current page address and the global menu.
[0022] In an embodiment of the present application, by pre-defining the mapping relationship between the page address and the menu in the global menu, the target menu is matched based on the current page address, and the target menu can be accurately located to ensure that the menu and the page address strictly correspond. This improves the accuracy of the matching between the page address and the target menu, reduces the risk of mismatching, and ensures the accuracy of menu expansion and current page loading.
[0023] In combination with the first aspect and the above implementations, in some possible implementations, in response to a click operation, opening a target menu and displaying a page corresponding to the current page address includes:
[0024] Based on the current page address and the global menu, determine the target hierarchical relationship of the target menu in the global menu;
[0025] Based on the target hierarchy, the target menu is opened to display the page corresponding to the current page address.
[0026] In an embodiment of the present application, based on the current page address and the global menu, the target hierarchical relationship of the target menu in the complete menu structure can be accurately determined; opening the target menu and displaying the page based on the target hierarchical relationship can ensure the consistency of the menu structure and the page path, avoiding the problem of the target menu's parent menu not being expanded, resulting in the inability to display or interaction failure, and ensuring the accuracy of menu expansion and current page loading.
[0027] In combination with the first aspect and the above implementations, in some possible implementations, the present invention further includes:
[0028] Determine whether the global menu includes the target menu;
[0029] Trigger click operations on the target menu, including:
[0030] Triggers a click action when the global menu includes a target menu.
[0031] In an embodiment of the present application, by determining whether the global menu includes the target menu, a click operation is triggered only when the target menu is included, thereby filtering out loading requests for illegal or undefined page addresses and avoiding invalid operations caused by path matching errors or non-existent menus. The above scheme ensures the validity of the menu click operation, while avoiding invalid operations and reducing error handling overhead, thereby reducing resource waste while ensuring the stability of application control.
[0032] In combination with the first aspect and the above implementations, in some possible implementations, the present invention further includes:
[0033] When the global menu does not include the target menu, a prompt message is displayed to inform the user that the page corresponding to the current page address cannot be opened.
[0034] In an embodiment of the present application, when it is detected that the global menu does not include the target menu, a prompt is given to the user to avoid invalid page loading due to problems such as path errors, insufficient permissions or menu configuration omissions; the above solution can provide timely feedback to the user when there is a loading failure problem, thereby improving the user's operating experience.
[0035] In a second aspect, an application control device is provided. The device is applied to a main application in a micro-frontend architecture. The micro-frontend architecture includes a main application and sub-applications. The device includes:
[0036] The acquisition module is used to obtain the changed current page address when the sub-application monitors the page address change;
[0037] The processing module is used to determine the target menu based on the current page address; trigger a click operation on the target menu; and in response to the click operation, open the target menu and display the page corresponding to the current page address.
[0038] It should be understood that the expansion, limitation, explanation and description of the relevant content in the above-mentioned first aspect also apply to the same content in the second aspect.
[0039] In a third aspect, an electronic device is provided, comprising a memory and a processor; the memory is used to store executable program code, and the processor is used to call and run the executable program code from the memory, so that the electronic device executes the control method of the application in the above-mentioned first aspect or any possible implementation of the first aspect.
[0040] In a fourth aspect, a computer program product is provided, comprising: a computer program code, which, when executed on a computer, enables the computer to execute the control method of the application in the above-mentioned first aspect or any possible implementation of the first aspect.
[0041] In a fifth aspect, a computer-readable storage medium is provided, which stores a computer program code. When the computer program code runs on a computer, the computer executes the control method of the application in the above-mentioned first aspect or any possible implementation of the first aspect. BRIEF DESCRIPTION OF THE DRAWINGS
[0042] Figure 1 This is a schematic diagram of a micro-frontend architecture provided by this application;
[0043] Figure 2 This is a schematic diagram of an interface of a micro-frontend architecture provided by an embodiment of the present application applied to a browser;
[0044] Figure 3 is a schematic flow chart of a control method for an application provided in an embodiment of the present application;
[0045] Figure 4 is a schematic flow chart of another control method of an application provided in an embodiment of the present application;
[0046] Figure 5 This is a schematic diagram of the structure of a control device for an application provided in an embodiment of the present application;
[0047] Figure 6 This is a schematic diagram of the structure of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0048] The following will clearly and thoroughly describe the technical solutions in this application in conjunction with the accompanying drawings. In the description of the embodiments of this application, unless otherwise specified, " / " means or, for example, A / B can mean A or B: "and / or" in the text is only a description of the association relationship of associated objects, indicating that there can be three relationships, for example, A and / or B can mean: A exists alone, A and B exist at the same time, and B exists alone. In addition, in the description of the embodiments of this application, "multiple" means two or more than two.
[0049] In the following, the terms "first" and "second" are used for descriptive purposes only and should not be understood to imply or suggest relative importance or implicitly indicate the number of technical features indicated. Therefore, a feature defined as "first" or "second" may explicitly or implicitly include one or more of the features.
[0050] Before introducing the method of the embodiment of the present application, the professional terms that may be involved in the embodiment of the present application are first explained.
[0051] Micro-frontend architecture: Also known as micro-frontend framework, front-end microservices architecture, modular front-end architecture, distributed front-end architecture, component-based front-end architecture, etc. Micro-frontend architecture is a technical architecture that splits a monolithic front-end application or single-page web application (SPA) into multiple independent sub-applications. Each sub-application can be independently developed, deployed, and run, and is centrally scheduled and integrated by the main application.
[0052] Qiankun Framework: It can also be called Qiankun Framework, Qiankun Architecture, etc. It is a micro-frontend architecture that can help developers build and manage complex SPAs by providing functions such as multi-application management and routing isolation.
[0053] Main application: It can also be called base application, host application, framework application, etc.; the main application is the core scheduling unit in the micro-frontend architecture, responsible for the registration, management and global state coordination of sub-applications.
[0054] Sub-application: can also be called micro-application, functional module, plug-in application, distributed application, etc.; sub-application is a functional unit in the micro-front-end architecture that can be developed independently to meet different types of requirements.
[0055] Menu: It can also be called an interactive portal, service directory, function list, navigation bar, etc.; the menu is the entry interface for user operations, usually in a hierarchical structure, used to organize sub-applications or functional modules.
[0056] Page address: also known as routing path, sub-application path, resource locator, function identifier, etc.; used to identify the location of resources within a sub-application or across sub-applications.
[0057] Global state: can also be called shared state, central state, distributed state, etc.; global state can be used to represent common variables or information containers that can be shared between the main application and sub-applications in the micro-frontend architecture. The information stored in the global state is globally accessible, that is, the entire micro-frontend architecture can obtain the information stored in the global state.
[0058] As web applications grow in size and complexity, micro-frontend frameworks are currently being used to manage these applications. Micro-frontend frameworks split applications into multiple sub-applications, centrally managed by a master application, supporting independent development, deployment, and operation. This addresses the issue of monolithic applications being too large and hindering collaborative development. The master application in a micro-frontend framework typically controls the loading and rendering of sub-applications through a menu. When a user clicks a menu item, the master application parses the routing path in the menu configuration, loads the corresponding sub-application, and renders its page.
[0059] Figure 1 This is a schematic diagram of a micro front-end architecture provided by the present application; the micro front-end architecture 100 includes a main application 101 and a sub-application 102; Figure 1 As shown in (a), main application 101 serves as the base application in micro-frontend architecture 100. It integrates sub-applications 102 to meet different needs. Main application 101 is responsible for integrating sub-applications 102 into the page. Sub-applications 102 maintain independent lifecycles and rendering mechanisms at runtime and can use different technology stacks.
[0060] Optionally, the micro front-end architecture 100 includes a main application 103 and a sub-application 104; Figure 1 As shown in (b), the main application 103 includes the sub-application 104. The main application 103 needs to register the sub-application 104 and embed the sub-application 104 into the layout of the main application 103 through mechanisms such as routing configuration.
[0061] Figure 2 This is a schematic diagram of the interface of a micro-front-end architecture applied to a browser provided by this application; Figure 2 As shown in (a), 200 may be a browser display interface, 201 may be an address bar, 202 may be a menu, and 203 may be a page rendered based on the address in 201.
[0062] For example, Figure 2 As shown in (b), 204 can be the display interface of the vehicle resource management system, 205 can be the address bar, 206 can be the left menu of the vehicle management system, 211, 212, 213 and 214 can be the first-level menus of the vehicle management system, including owner services, vehicle management, system messages and system settings respectively, 221, 222, 223 and 224 can be the second-level menus under the first-level menu vehicle management 212, including basic information, related information, vehicle editing and vehicle query respectively, and 207 can be the page corresponding to the second-level menu basic information 221.
[0063] For example, when it is detected that the first-level menu vehicle management 212 is expanded, if a click operation on the second-level menu basic information 221 is detected, the main application obtains the address path of the second-level menu basic information 221, 205 automatically loads the address path, and the main application loads the sub-application according to the address path. The sub-application further analyzes the address path and renders the page 207 corresponding to the second-level menu basic information 221.
[0064] However, in the prior art of using a micro-frontend framework to manage applications, the main application is typically responsible for rendering the global navigation menu and loading sub-applications, while the sub-applications independently handle internal page routing. Due to the lack of effective coordination between the routing states of the main and sub-applications, there is an issue where the corresponding page cannot be opened according to the address bar link. That is, when a user enters an address link directly in the address bar, the main application cannot automatically expand the corresponding menu according to the user's input address link, and cannot open the corresponding page. This affects operational efficiency and functional accessibility, and reduces the user experience.
[0065] In view of this, an embodiment of the present application provides an application control method, an application control device, an electronic device and a storage medium, which control the sub-application to monitor the page address. Since the sub-application monitors the changes in the page address, it can obtain the changed current page address in time when the page address changes; compared with the existing technology, this solution can realize the function of collaborating with the main application when the sub-application monitors the change of the page address; since the target menu is determined based on the current page address, the main application can automatically open the target menu and the corresponding page by triggering the click operation of the target menu; the above solution can realize the automatic triggering of the click operation of the target menu based on the page address, open the target menu and display the corresponding page, and improve the user experience.
[0066] It should be noted that the above description uses the micro-front-end architecture applied to the browser as an example; the control method of the application in the embodiment of the present application can be applied to other devices involving front-end multi-functional integration and front-end architecture, such as vehicle-mounted host systems and terminals, and the embodiment of the present application does not limit this.
[0067] The following combination Figure 3 A control method for an application provided in an embodiment of the present application is described in detail.
[0068] Figure 3 This is a schematic flow chart of a control method for an application provided in an embodiment of the present application. Figure 3 As shown, the method 300 includes S310 to S340, and S310 to S340 are described in detail below.
[0069] For example, Figure 3The method 300 shown may be executed by a vehicle; or, executed by a processor in a vehicle; or, executed by a chip mounted in a processor in a vehicle; or, executed by a software platform integrated in an electronic device; or, executed by a browser.
[0070] S310: When the sub-application monitors that the page address has changed, it obtains the changed current page address.
[0071] In an embodiment of the present application, the sub-application monitors the page address. When it detects a change in the page address, it indicates that internal link navigation or user input of a page link may have occurred. At this time, the main application needs to obtain the changed current page address.
[0072] For example, when internal link navigation or user input of a page link may occur, in order to notify the main application of the event of a page address change, a parameter A in a global state can be pre-defined, and parameter A changes with the sub-application page address; for example, whenever a change in the sub-application page address is detected, parameter A generates a random value, which is equivalent to assigning a new random number to parameter A.
[0073] In one embodiment, after detecting that the main application has started, the global state is initialized and parameter A is automatically set to an initial value. When the sub-application detects a change in the page address, parameter A is automatically updated to a new random number. The main application continuously monitors changes in the global state and, upon detecting a change in parameter A, obtains the changed page address.
[0074] Optionally, when parameter A generates a random value, the timestamp and the random value generated by the timestamp may be combined to avoid the re-generated random value from being repeated with the previous random value.
[0075] For example, when detecting a change in parameter A in the global state, the main application may obtain the current page address through a predefined algorithm, for example, determining the current page address through a hash value of a uniform resource locator.
[0076] Optionally, the main application can obtain the current page address through the interface with the sub-application in the global state, which is not limited in this embodiment of the present application.
[0077] S320: Determine the target menu based on the current page address.
[0078] In an embodiment of the present application, the main application obtains the changed current page address, and determines the menu corresponding to the current page address based on the current page address.
[0079] For example, Figure 2As shown in (b) , if the sub-application detects that the page address in 205 has changed, based on the changed current page address, it determines that the target menu corresponding to the current page address is the secondary menu basic information 221 .
[0080] In one implementation, the method further includes:
[0081] Obtain a global menu; determine a target menu based on the current page address, including: determining a target menu based on the current page address and the global menu.
[0082] The global menu includes all menus in the main application and the mapping relationship between all menus and page addresses.
[0083] It should be understood that the global menu can be defined in a hierarchical tree structure, which is not limited in the embodiments of the present application.
[0084] In an embodiment of the present application, the target menu is determined based on the current page address and the global menu.
[0085] For example, Figure 2 As shown in (c), the main application obtains the current page address as car-sys / admin / vehicle / basic. Based on the global menu, the corresponding relationship between all menus and page addresses is obtained. For example, the address corresponding to the first-level menu vehicle management 212 is car-sys / admin / staff, and the address corresponding to the second-level menu basic information 221 is car-sys / admin / staff / basic-info. It is determined that the target menu corresponding to the current page address is the second-level menu basic information 221.
[0086] Optionally, when determining the target menu based on the current page address and the global menu, the target menu may be found by using a quick search algorithm, a recursive traversal algorithm, or the like, which is not limited in this embodiment of the present application.
[0087] In one embodiment, if the current page address is different from the page address of any menu in the global menu, that is, the paths do not completely match, the menu with the highest similarity to the current page address is determined as the target menu.
[0088] For example, taking the vehicle management system as an example, the main application obtains the current page address as car-sys / admin / vehicle / basic, and the address corresponding to the vehicle management menu obtained based on the global menu is car-sys / admin / vehicle. The address corresponding to the basic information menu in the submenu of the vehicle management menu is car-sys / admin / vehicle / basic-info. It can be determined that the basic information menu is the menu with the highest similarity to the current page address, and the basic information menu is determined as the target menu.
[0089] In another embodiment, if the current page address is different from the page address of any menu in the global menu, that is, the paths do not completely match, the parent menu closest to the current page address is determined as the target menu.
[0090] For example, taking the vehicle management system as an example, the main application obtains the current page address as car-sys / admin / vehicle / basic, and the address corresponding to the vehicle management menu obtained based on the global menu is car-sys / admin / vehicle. The address corresponding to the basic information menu in the submenu of the vehicle management menu is car-sys / admin / vehicle / basic-info. The current page address does not completely match any address in the global menu. The parent menu closest to the current page address (i.e., the personnel management menu) is determined as the target menu.
[0091] In the above implementation method, through the mapping relationship between the page address and the menu in the predefined global menu, the target menu is matched based on the current page address, which can accurately locate the target menu and ensure that the menu and the page address strictly correspond. This improves the accuracy of the matching between the page address and the target menu, reduces the risk of mismatching, and ensures the accuracy of menu expansion and current page loading.
[0092] S330: Trigger a click operation on the target menu.
[0093] The click operation is a simulated click operation implemented through code, which may include expanding the parent menu level by level, highlighting the target menu, etc.
[0094] In an embodiment of the present application, after the target menu is determined, a click operation on the target menu is automatically triggered.
[0095] It should be noted that the click operation in the above-mentioned triggering of the click operation on the target menu is used to represent a simulated click operation to click on the target menu.
[0096] For example, Figure 2As shown in (c), 206 is the left menu of the vehicle management system; based on the current page address in 205, the target menu is determined to be the secondary menu basic information 221, 206 is automatically opened, and the parent menu of the target menu (i.e., the primary menu vehicle management 212) is expanded, and the target menu (i.e., the secondary menu basic information 221) is automatically clicked.
[0097] Optionally, after the target menu is automatically clicked, the target menu is automatically highlighted.
[0098] In one implementation, the method includes:
[0099] When the current page address meets the preset conditions, a click operation is triggered;
[0100] Among them, the preset conditions include: the current page address is different from the first page address and the second page address, the first page address is the page address of the menu that was in the open state before the sub-application monitored the change in the page address, and the second page address is the address corresponding to the preset page; the preset page can be a pre-configured page, such as a home page or an error page.
[0101] In an embodiment of the present application, when the current page address is different from the page address of the menu that was opened before the sub-application monitored the change in the page address, and the current page address is different from the second page address, the click operation of the target menu is automatically triggered.
[0102] For example, a parameter B can be preset in the main application, and the parameter B is used to record the page address of the menu clicked each time. Figure 2 As shown in (b), if it is detected that the user clicks on the secondary menu basic information 221, parameter B records the page address car-sys / admin / vehicle / basic-info corresponding to the secondary menu basic information 221. At this time, the sub-application monitors the change of the page address, such as Figure 2 As shown in (c), the current page address is determined to be car-sys / admin / vehicle / basic, and the target menu is determined to be the first-level menu Vehicle Management 212. When it is determined that the current page address is different from the page address of the menu that was open before the page address changed (i.e., the page address car-sys / admin / vehicle / basic-info recorded in parameter B), and the current page address is different from the page addresses of the homepage and error page, the left menu is automatically triggered to expand, and the parent menu of the target menu (i.e., the first-level menu Vehicle Management 212) is expanded, and the target menu (i.e., the second-level menu Basic Information 221) is automatically clicked.
[0103] In one embodiment, when the current page address is the same as the page address of the menu that was open before the sub-application detected the page address change, and the current page address is different from the second page address, it means that the current page address is the same as the page address of the menu that was open when the page change was detected. At this time, a page duplication prompt message is sent to the user.
[0104] For example, if a user clicks on a secondary menu item, the sub-application will render the page corresponding to the secondary menu item. Parameter B records the address of the clicked menu item: car-sys / admin / vehicle / ref-info. If the sub-application detects that the current page is car-sys / admin / vehicle / ref-info, it will display a message indicating that the page is a duplicate.
[0105] In another embodiment, when the current page address is different from the page address of the menu that was opened before the sub-application monitored the page address change, and the current page address is the same as the second page address, the page corresponding to the second page address is displayed.
[0106] For example, the current page address is / , which is the same as the page address of the preset homepage, and the page address of the menu that was open before the sub-application detected the page address change was car-sys / admin / vehicle; at this time, there is no need to trigger a click operation on the target menu, and the homepage page is displayed directly.
[0107] In another embodiment, the current page address and the page address before the page address changes both belong to the page addresses corresponding to the bottom-level menu, and the current page address and the page address before the page address changes belong to the same parent menu. At this time, there is no need to expand the menus step by step. It is only necessary to cancel the highlighting of the menu before the page address changes and highlight the target menu.
[0108] For example, the clicked menu before the page address changes is the secondary menu basic information 221, such as Figure 2As shown in (b), it is detected that the page address is switched from car-sys / admin / vehicle / basic-info to car-sys / admin / vehicle / ref-info. Since the target menu is the secondary menu associated information 222, it belongs to the same parent menu as the clicked menu before the page address changed, which is the secondary menu basic information 221, that is, the first-level menu vehicle management 212; since the secondary menu basic information 221 has been clicked before the page address changed, that is, the first-level menu vehicle management 212 is in the expanded state, there is no need to re-trigger the step-by-step expansion operation of the parent menu of the target menu. At this time, the highlighting of the secondary menu basic information 221 is canceled, and the target menu, that is, the secondary menu associated information 222, is highlighted.
[0109] In the above implementation, when the current page address is different from both the first page address and the second page address, a click operation on the target menu is triggered. By setting the current page address to be different from the first page address, it is ensured that the current page address is not obtained based on clicking the menu, that is, the current page address is different from the page address of the menu in the open state, which can avoid opening multiple pages that are the same as the open state, and avoid the waste of resources and the confusion of the display interface caused by repeated loading of the same page; by setting the current page address to be different from the second page address, the interference of the preset page is filtered out, and the menu operation caused by the preset page is prevented from being triggered incorrectly, thereby improving the user experience.
[0110] In another implementation, the method further includes:
[0111] When the page address corresponding to the target menu is different from the page address of the menu that was opened before the sub-application monitored the change of the page address, and the page address corresponding to the target menu is different from the second page address, the click operation of the target menu is automatically triggered.
[0112] In one implementation, the method further includes:
[0113] Determining whether the global menu includes a target menu; triggering a click operation on the target menu, including: triggering the click operation when the global menu includes the target menu.
[0114] In one embodiment, it is determined whether the global menu includes the target menu, and if it is determined that the global menu includes the target menu, a click operation on the target menu is automatically triggered.
[0115] Exemplarily, the main application checks the global menu level by level. If the main application detects that there is a menu item in the global menu that matches the target menu, and if the menu item has a parent menu, the main application automatically expands the parent menu of the menu item, highlights the menu item, and simulates the user clicking on the menu item; if the menu item does not have a parent menu, the main application highlights the menu item, and simulates the user clicking on the menu item.
[0116] In another embodiment, it is determined whether the global menu includes a target menu. If it is determined that the global menu includes the target menu, it is further determined whether the current page address meets the preset conditions. When the current page address meets the preset conditions, the click operation of the target menu is automatically triggered.
[0117] In yet another embodiment, in another embodiment, it is determined whether the global menu includes a target menu. When it is determined that the global menu includes the target menu, it is further determined whether the page address corresponding to the target menu meets the preset conditions. When the page address corresponding to the target menu meets the preset conditions, the click operation of the target menu is automatically triggered.
[0118] In the above implementation, by judging whether the target menu is included in the global menu, the click operation is triggered only when the target menu is included, filtering out loading requests of illegal or undefined page addresses, and avoiding invalid operations caused by path matching errors or non-existent menus; the above scheme ensures the validity of the menu click operation, while avoiding invalid operations and reducing error handling overhead, thereby reducing resource waste while ensuring the stability of application control.
[0119] In one implementation, the method further includes:
[0120] Displays a prompt message when the global menu does not include the target menu.
[0121] The prompt message is used to inform the user that the page corresponding to the current page address cannot be opened, for example: the page does not exist, please check the path.
[0122] Exemplarily, the main application detects that the target menu is not configured in the global menu, does not trigger any menu expansion or sub-application loading operation, and outputs a prompt message: the page cannot be opened.
[0123] Optionally, when the main application detects that the global menu does not include the target menu, it can analyze the cause of the problem, such as illegal path, non-existence of corresponding sub-application, lack of permission to access, etc., and display different prompt information based on the corresponding cause of the problem.
[0124] In the above implementation, when it is detected that the global menu does not include the target menu, a prompt is given to the user to avoid invalid page loading due to path errors, insufficient permissions or omissions in menu configuration; the above solution can provide timely feedback to the user when there is a loading failure problem, thereby improving the user's operating experience.
[0125] S340: In response to the click operation, open the target menu and display the page corresponding to the current page address.
[0126] In an embodiment of the present application, in response to the click operation on the target menu triggered in S330, the main application loads the sub-application according to the current page address or the page address corresponding to the target menu, and the sub-application renders the corresponding page.
[0127] For example, the target menu may be attendance records. The main application highlights the attendance record menu item, marks it as selected, loads the sub-application, and the sub-application renders the attendance record page to display punch-in data, absence records, and monthly summaries.
[0128] In one implementation, the method further includes:
[0129] Update the first page address to the current page address.
[0130] In an embodiment of the present application, after a click operation on a target menu is triggered, the first page address needs to be updated to the current page address.
[0131] For example, at the first moment, the currently open menu is the route overview, that is, the first page address is / nav / overview. At the second moment, the sub-application detects that the page address has changed, and the change is not caused by a menu click. The sub-application monitors the change and notifies the main application. The main application determines that the target menu is real-time traffic based on the changed current page address of / nav / traffic. The main application automatically clicks on the real-time traffic menu item, updates the first page address from / nav / overview to / nav / traffic, and the sub-application renders the page corresponding to real-time traffic.
[0132] Optionally, the first page address can be updated to the current page address after triggering a click operation on the target menu; the first page address can be updated to the current page address after triggering a click operation on the target menu and opening the target menu; the first page address can be updated to the current page address after triggering a click operation on the target menu and opening the target menu, and after the sub-application renders the corresponding page.
[0133] In the above implementation, by updating the first page address to the current page address, it is ensured that the page address of the menu in the open state recorded in the main application is synchronized with the current actually opened page address; the above scheme can record the page address of the updated menu in time after the click operation of the target menu is automatically triggered based on the page address change, and provide an accurate reference path for the subsequent automatic triggering of the new target menu based on the page address change, avoiding the problem of repeated opening of pages and inability to respond to page address change operations, thereby improving the operational accuracy of application control.
[0134] In another implementation, after the target menu is opened, the first page address is updated to the page address corresponding to the target menu.
[0135] It should be understood that since the current page address does not completely match the page address of the target menu, updating the first page address to the current page address in this case will cause duplicate pages to be opened subsequently. Therefore, when the current page address does not completely match the page address of the target menu, the first page is updated to the page address corresponding to the target menu.
[0136] In one implementation, the method includes:
[0137] Based on the current page address and the global menu, a target hierarchical relationship of the target menu in the global menu is determined; based on the target hierarchical relationship, the target menu is opened to display the page corresponding to the current page address.
[0138] For example, the current page address is / finance / salary / annual, and the global menu may include a predefined hierarchical structure, such as the first-level menu: financial system (path is / finance), the second-level menu: salary management (path is / finance / salary), the third-level menu: monthly report (path is / finance / salary / monthly), and annual summary (path is / finance / salary / annual). Based on the current page address and the global menu, the target hierarchical relationship can be determined as: financial system-salary management-annual summary. Based on the target hierarchical relationship, the corresponding menus are opened step by step, that is, the left menu bar is expanded first, and the financial system and salary management menu items are expanded in turn. The annual summary menu item is highlighted and a click operation is simulated. The sub-application renders the corresponding annual summary page.
[0139] Optionally, the current page address may be split into a hierarchical list, and the hierarchical list may be matched with each menu item in the global menu level by level to obtain a target hierarchical relationship.
[0140] In the above implementation, based on the current page address and the global menu, the target hierarchical relationship of the target menu in the complete menu structure can be accurately determined; opening the target menu and displaying the page based on the target hierarchical relationship can ensure the consistency of the menu structure and the page path, avoiding the problem of the target menu's parent menu not being expanded, resulting in the inability to display or interaction failure, and ensuring the accuracy of menu expansion and current page loading.
[0141] In the above embodiment, since the sub-application monitors the changes in the page address, it can obtain the changed current page address in time when the page address changes; compared with the existing technology, this solution can achieve collaboration with the main application when the sub-application monitors the change in the page address, so that the main application can capture the event of the page address change; therefore, the main application can determine the target menu based on the current page address, and by triggering the click operation of the target menu, realize the function of automatically opening the target menu and the corresponding page; the above solution can realize the automatic triggering of the click operation of the target menu based on the page address, open the target menu and display the corresponding page, and improve the user experience.
[0142] The following combination Figure 4 A control method for another application provided in an embodiment of the present application is described in detail.
[0143] Figure 4 This is a schematic flow chart of another control method for an application provided in an embodiment of the present application. Figure 4 As shown, the method 400 includes S401 to S414, and S401 to S414 are described in detail below.
[0144] S401. The main application records the currently clicked menu address.
[0145] Exemplarily, when any click operation on a menu is detected, the main application captures the click event and records the clicked menu address.
[0146] For example, a parameter B may be preset in the main application, and the parameter B is used to record the page address of the menu clicked each time.
[0147] Optionally, after recording the clicked menu address, the main application may store it in the local state management.
[0148] Optionally, the implementation of S401 can refer to Figure 3 The relevant description in S330 will not be repeated here.
[0149] S402: The main application monitors changes in the global state.
[0150] In an embodiment of the present application, the main application registers a global state monitoring mechanism when it is started, so as to continuously monitor modifications to the global state by sub-applications or other components.
[0151] Optionally, the implementation of S402 can refer to Figure 3 The relevant description in S310 is not repeated here.
[0152] S403: The sub-application monitors changes in the page address.
[0153] For example, when a user navigates to a new function page within a sub-application through an internal redirect, such as from "Navigation Settings" to "Map Management," the sub-application detects that the page address has changed. The sub-application promptly captures the new page address by listening for changes to its routing address.
[0154] Optionally, the implementation of S403 can refer to Figure 3 The relevant description in S310 is not repeated here.
[0155] S404: When a page address change is detected, the sub-application updates the value of the preset parameter in the global state.
[0156] For example, when internal link navigation or user input of a page link may occur, in order to notify the main application of the event of a page address change, a parameter A in a global state can be pre-defined, and parameter A changes with the sub-application page address; for example, whenever a change in the sub-application page address is detected, parameter A generates a random value, which is equivalent to assigning a new random number to parameter A.
[0157] Optionally, the implementation of S404 can refer to Figure 3 The relevant description in S310 is not repeated here.
[0158] S405: The main application monitors that the value of the preset parameter in the global state changes.
[0159] For example, after the sub-application detects that the page address has changed, the sub-application may update the value of parameter A in the global state, and the main application may detect that the parameter A has changed in the global state.
[0160] Optionally, the implementation of S405 can refer to Figure 3 The relevant description in S310 is not repeated here.
[0161] S406: The main application obtains the current page address after the page address is changed.
[0162] For example, when detecting a change in parameter A in the global state, the main application may obtain the current page address through a predefined algorithm, for example, determining the current page address through a hash value of a uniform resource locator.
[0163] Optionally, the implementation of S406 can refer to Figure 3 The relevant description in S310 is not repeated here.
[0164] S407 , determine whether there is a corresponding menu in the global menu for the current page address; if so, execute S409 ; if not, execute S408 .
[0165] In an embodiment of the present application, it is determined whether there is a corresponding menu in the global menu for the current page address; if so, it is further determined whether the changed current page address meets the preset conditions, and S409 is executed; if not, the page address cannot be rendered or displayed, and a prompt message is displayed at this time, and S408 is executed.
[0166] Optionally, the implementation of S407 can refer to Figure 3 The relevant description in S330 will not be repeated here.
[0167] S408: Display prompt information.
[0168] Exemplarily, the main application detects that the target menu is not configured in the global menu, does not trigger any menu expansion or sub-application loading operation, and outputs a prompt message: the page cannot be opened.
[0169] Optionally, the implementation of S408 can refer to Figure 3 The relevant description in S330 will not be repeated here.
[0170] S409. Determine whether the current page address is inconsistent with the recorded menu address currently clicked, whether the current page address is inconsistent with the homepage address, and whether the values of the preset parameters before and after the global change are inconsistent; if so, execute S411 to S414; if not, execute S410.
[0171] In an embodiment of the present application, it is determined whether the current page address is inconsistent with the menu address that records the current click, whether the current page address is inconsistent with the address of the homepage, and whether the values of the preset parameters before and after the global change are inconsistent; if so, that is, the current page address is inconsistent with the menu address that records the current click, the current page address is inconsistent with the address of the homepage, and the values of the preset parameters before and after the global change are inconsistent, then it can be determined that the current operation is not triggered by clicking the menu, and the current page address is not the address of the preset homepage, and the current page address is inconsistent with the page currently being displayed. At this time, it is necessary to simulate the click operation of the menu corresponding to the current page address, and render the page, and execute S411 to S414; if not, that is, the current page address is consistent with the menu address that records the current click, or the current page address is consistent with the address of the homepage, or the values of the preset parameters before and after the global change are consistent, then continue to display the page before the page address change is detected, and execute S410.
[0172] Optionally, if the current page address is consistent with the menu address recorded for the current click, a prompt message is sent to the user: open the duplicate page.
[0173] Optionally, if the current page address is consistent with the home page address, the home page is displayed.
[0174] Optionally, the implementation of S409 can refer to Figure 3 The relevant description in S330 will not be repeated here.
[0175] S410: Display the page before the page address changes.
[0176] Exemplarily, the page before the page address change is detected is displayed, that is, no operation is performed.
[0177] S411 : Based on the current page address and the global menu, determine the target hierarchical relationship between the target menu and the target menu in the global menu.
[0178] For example, the current page address is / finance / salary / annual, and the global menu may include a predefined hierarchical structure, such as the first-level menu: financial system (path is / finance), the second-level menu: salary management (path is / finance / salary), the third-level menu: monthly report (path is / finance / salary / monthly), and annual summary (path is / finance / salary / annual). Based on the current page address and the global menu, the target hierarchical relationship can be determined as: financial system-salary management-annual summary. Based on the target hierarchical relationship, the corresponding menus are opened step by step, that is, the left menu bar is expanded first, and the financial system and salary management menu items are expanded in turn. The annual summary menu item is highlighted and a click operation is simulated. The sub-application renders the corresponding annual summary page.
[0179] Optionally, the implementation of S411 can refer to Figure 3 The relevant description in S340 will not be repeated here.
[0180] S412. Based on the target hierarchical relationship, click the target menu.
[0181] For example, based on the target hierarchical relationship, the corresponding menus are opened step by step, that is, the left menu bar is expanded first, and the financial system and salary management menu items are expanded in turn, the annual summary menu item is highlighted, and a click operation is simulated.
[0182] Optionally, the implementation of S412 can refer to Figure 3 The relevant description in S340 will not be repeated here.
[0183] S413: Update the currently clicked menu address to the current page address.
[0184] Exemplarily, after highlighting the annual summary menu and simulating a click operation, the currently clicked menu address recorded by the main application is updated to the current page address.
[0185] Optionally, the implementation of S413 can refer to Figure 3 The relevant description in S340 will not be repeated here.
[0186] S414: The sub-application renders the page.
[0187] For example, the target menu is the annual summary. The sub-application renders the annual summary page, displays the annual employee salary data table, calls the back-end application program interface to obtain the annual employee salary data, and fills in the table content.
[0188] In the above embodiment, since the sub-application monitors the changes in the page address, it can obtain the changed current page address in time when the page address changes; compared with the existing technology, this solution can achieve collaboration with the main application when the sub-application monitors the change in the page address, so that the main application can capture the event of the page address change; therefore, the main application can determine the target menu based on the current page address, and by triggering the click operation of the target menu, realize the function of automatically opening the target menu and the corresponding page; the above solution can realize the automatic triggering of the click operation of the target menu based on the page address, open the target menu and display the corresponding page, and improve the user experience.
[0189] Combined with the above Figures 1 to 4 A control method for an application provided by an embodiment of the present application is described in detail; Figure 5 and Figure 6 The device embodiments of the present application are described in detail. It should be understood that the devices in the embodiments of the present application can execute the various methods of the aforementioned embodiments of the present application, that is, the specific working processes of the following various products can refer to the corresponding processes in the aforementioned method embodiments.
[0190] Figure 5 1 is a schematic diagram of a control device for an application provided in an embodiment of the present invention, which is applied to a main application in a micro-frontend architecture, wherein the micro-frontend architecture includes a main application and sub-applications. The control device 500 for the application includes an acquisition module 510 and a processing module 520.
[0191] The acquisition module is used to obtain the changed current page address when the sub-application monitors the page address change;
[0192] The processing module is used to determine the target menu based on the current page address; trigger a click operation on the target menu; and in response to the click operation, open the target menu and display the page corresponding to the current page address.
[0193] Optionally, as an embodiment, the processing module 520 is specifically configured to:
[0194] When the current page address meets the preset conditions, a click operation is triggered; wherein, the preset conditions include: the current page address is different from the first page address and the second page address, the first page address is the page address of the menu that was in the open state before the sub-application monitors the change in the page address, and the second page address is the address corresponding to the preset page.
[0195] Optionally, as an embodiment, the processing module 520 is further configured to:
[0196] Update the first page address to the current page address.
[0197] Optionally, as an embodiment, the processing module 520 is further configured to:
[0198] Acquire a global menu, which includes a mapping relationship between a page address and a menu; and determine a target menu based on the current page address, including: determining the target menu based on the current page address and the global menu.
[0199] Optionally, as an embodiment, the processing module 520 is specifically configured to:
[0200] Based on the current page address and the global menu, a target hierarchical relationship of the target menu in the global menu is determined; based on the target hierarchical relationship, the target menu is opened to display the page corresponding to the current page address.
[0201] Optionally, as an embodiment, the processing module 520 is further configured to:
[0202] Determining whether the global menu includes a target menu; triggering a click operation on the target menu, including: triggering the click operation when the global menu includes the target menu.
[0203] Optionally, as an embodiment, the processing module 520 is further configured to:
[0204] When the global menu does not include the target menu, a prompt message is displayed to inform the user that the page corresponding to the current page address cannot be opened.
[0205] It should be noted that the control device 500 of the above application is embodied in the form of a functional unit. The term "module" here can be implemented in the form of software and / or hardware, and is not specifically limited to this.
[0206] For example, a "module" may be a software program, a hardware circuit, or a combination of the two that implements the above-described functions. The hardware circuit may include an application-specific integrated circuit (ASIC), an electronic circuit, a processor (such as a shared processor, a dedicated processor, or a group processor, etc.) and memory for executing one or more software or firmware programs, combined logic circuits, and / or other suitable components that support the described functions.
[0207] Therefore, the units of each example described in the embodiments of this application can be implemented by electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professionals and technicians can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0208] Figure 6This is a structural diagram of an electronic device provided in an embodiment of the present application.
[0209] Exemplarily, the electronic device 600 includes a processor 610 , a memory 620 , and an executable program code 630 .
[0210] Exemplarily, the electronic device 600 includes one or more processors 610, which can support the electronic device 600 to implement the control method of the application in the method embodiment. The processor 610 can be a general-purpose processor or a special-purpose processor. For example, the processor 610 can be a central processing unit (CPU), a digital signal processor (DSP), an application-specific integrated circuit, a field programmable gate array (FPGA), or other programmable logic devices, such as discrete gates, transistor logic devices, or discrete hardware components.
[0211] For example, the processor 610 may be used to control the electronic device 600, execute software programs, and process data of the software programs. The electronic device 600 may also include a communication unit to implement signal input (reception) and output (transmission).
[0212] For example, the electronic device 600 may include one or more memories 620 on which executable program code 630 is stored. The executable program code 630 can be executed by the processor 610 to generate instructions, so that the processor 610 executes the control method of the application described in the above method embodiment according to the instructions. For example, the processor 610 executes according to the instructions: when the sub-application monitors a change in the page address, it obtains the changed current page address; based on the current page address, it determines the target menu; triggers a click operation on the target menu; and in response to the click operation, opens the target menu and displays the page corresponding to the current page address.
[0213] Optionally, data may be stored in the memory 620. Optionally, the processor 610 may read data stored in the memory 620. The data may be stored at the same storage address as the executable program code 630, or may be stored at a different storage address from the executable program code 630.
[0214] Exemplarily, the processor 610 and the memory 620 may be provided separately or integrated together, for example, integrated on a system on chip (SOC) of the terminal device.
[0215] Exemplarily, the memory 620 can be used to store relevant programs of the control method of the application provided in the embodiment of the present application, and the processor 610 can be used to call the executable program code 630 stored in the memory 620 when controlling the electronic device to execute the control method of the application in the embodiment of the present application.
[0216] The present application also provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the steps of the control method for the application of any of the aforementioned embodiments.
[0217] Among them, computer-readable storage media may include, but are not limited to, any type of disk, including floppy disks, optical disks, Digital Video Discs (DVDs), Compact Disc Read-Only Memory (CD-ROMs), microdrives and magneto-optical disks, Read-Only Memory (ROMs), Random Access Memory (RAMs), Erasable Programmable Read-Only Memory (EPROMs), Electrically Erasable Programmable Read-Only Memory (EEPROMs), Dynamic Random Access Memory (DRAMs), Video Random Access Memory (VRAMs), flash memory devices, magnetic or optical cards, nanosystems (including molecular memory ICs), or any type of medium or device suitable for storing instructions and / or data.
[0218] The present application also provides a computer program product. When the computer program product is run on a computer, it enables the computer to execute the above-mentioned related steps to implement the control method of the application in the above-mentioned embodiment.
[0219] In addition, the electronic device provided in the embodiments of the present application can specifically be a chip, component or module, and the electronic device may include a connected processor and memory; wherein the memory is used to store instructions, and when the electronic device is running, the processor can call and execute the instructions so that the chip executes the control method of the application in the above embodiment.
[0220] Among them, the electronic device, computer-readable storage medium, computer program product or chip provided in this application are all used to execute the control method of the corresponding application provided above. Therefore, the beneficial effects that can be achieved can refer to the beneficial effects in the control method of the corresponding application provided above, and will not be repeated here.
[0221] Through the description of the above implementation methods, technical personnel in the relevant field can understand that for the convenience and simplicity of description, only the division of the above-mentioned functional modules is used as an example. In actual applications, the above-mentioned functions can be distributed and completed by different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above.
[0222] In the embodiments provided in this application, it should be understood that the disclosed devices and methods can be implemented in other ways. For example, the device embodiments described above are merely schematic. For example, the division of modules or units is only a logical function division. In actual implementation, there may be other division methods, such as multiple units or components can be combined or integrated into another device, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.
[0223] The above content is merely a specific embodiment of the present application, but the scope of protection of the present application is not limited thereto. Any changes or substitutions that can be easily conceived by a person skilled in the art within the technical scope disclosed in this application should be included in the scope of protection of the present application. Therefore, the scope of protection of the present application should be based on the scope of protection of the claims.
Claims
1. A control method for an application, characterized in that: A method for applying a main application in a micro-frontend architecture, wherein the micro-frontend architecture includes the main application and sub-applications, includes: When the sub-application detects a change in the page address, it obtains the changed current page address; Determining a target menu based on the current page address; Triggering a click operation on the target menu; In response to the click operation, the target menu is opened and the page corresponding to the current page address is displayed.
2. The method according to claim 1, characterized in that The triggering of the click operation on the target menu includes: When the current page address meets a preset condition, triggering the click operation; Among them, the preset conditions include: the current page address is different from the first page address and the second page address, the first page address is the page address of the menu that was in the open state before the sub-application monitored the page address change, and the second page address is the address corresponding to the preset page.
3. The method according to claim 2, characterized in that After the triggering of the click operation on the target menu, the method further includes: The first page address is updated to the current page address.
4. The method according to any one of claims 1 to 3, characterized in that Also includes: Acquire a global menu, wherein the global menu includes a mapping relationship between a page address and a menu; The determining of the target menu based on the current page address includes: The target menu is determined based on the current page address and the global menu.
5. The method according to claim 4, characterized in that The step of opening the target menu in response to the click operation and displaying a page corresponding to the current page address includes: Determining a target hierarchical relationship of the target menu in the global menu based on the current page address and the global menu; Based on the target hierarchical relationship, the target menu is opened to display the page corresponding to the current page address.
6. The method according to claim 4, characterized in that Also includes: determining whether the global menu includes the target menu; The triggering of the click operation on the target menu includes: When the global menu includes the target menu, the click operation is triggered.
7. The method according to claim 6, characterized in that Also includes: When the global menu does not include the target menu, a prompt message is displayed, where the prompt message is used to prompt the user that the page corresponding to the current page address cannot be opened.
8. A control device for an application, characterized in that: A main application applied to a micro-frontend architecture, wherein the micro-frontend architecture includes the main application and sub-applications, and the device includes: An acquisition module, configured to acquire the changed current page address when the sub-application detects a change in the page address; The processing module is used to determine a target menu based on the current page address; trigger a click operation on the target menu; and in response to the click operation, open the target menu and display a page corresponding to the current page address.
9. An electronic device, characterized in that: The electronic device comprises: a memory for storing executable program code; A processor is configured to call and run the executable program code from the memory, so that the electronic device executes the method according to any one of claims 1 to 7.
10. A computer-readable storage medium, characterized in that The computer-readable storage medium stores a computer program, and when the computer program is executed, the method according to any one of claims 1 to 7 is implemented.
Citation Information
Patent Citations
Mobile application page control method and system
CN106339426A
Page permission control method, device and equipment and readable storage medium
CN113688343A
Page loading method, system and equipment based on micro-front-end architecture and storage medium
CN113806657A
Method and device for preventing main application from making sub-application test code online
CN114416473A
Page mutual jump closing method and system, electronic equipment and storage medium
CN116049598A