WO2020015562A1 - 路由跳转的方法和装置 - Google Patents
路由跳转的方法和装置 Download PDFInfo
- Publication number
- WO2020015562A1 WO2020015562A1 PCT/CN2019/095379 CN2019095379W WO2020015562A1 WO 2020015562 A1 WO2020015562 A1 WO 2020015562A1 CN 2019095379 W CN2019095379 W CN 2019095379W WO 2020015562 A1 WO2020015562 A1 WO 2020015562A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- jump
- routing
- routing information
- route
- interface
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
Definitions
- the present invention relates to the field of computer technology, and in particular, to a method and a device for route jump.
- APP Application
- componentization i.e., multiple The process of splitting and reorganizing functional modules
- namespaces that is, responsible for naming management of class names in a computer language to prevent the same class name conflicts
- ARouter is Facebook's open source Android platform, which provides middleware for page jumps and services to provide routing functions.
- the technical solution based on ARouter only supports Activity (that is, the user interface control provided by the software toolkit, which is equivalent to the interface of the APP) and Fragment (That is, the user interface control provided by the software toolkit, its carrier is Activity); two, the route interception mechanism cannot intercept in a certain order; three, stored in SharePreferencs (that is, the local cache application provided by the software toolkit The routing address in the (Program Interface) file is displayed in plain text, and the security is low.
- Activity that is, the user interface control provided by the software toolkit, which is equivalent to the interface of the APP
- Fragment That is, the user interface control provided by the software toolkit, its carrier is Activity
- two the route interception mechanism cannot intercept in a certain order
- three stored in SharePreferencs (that is, the local cache application provided by the software toolkit
- the routing address in the (Program Interface) file is displayed in plain text, and the security is low.
- embodiments of the present invention provide a method and a device for routing jumps, which can implement multiple types of interface jumps and ensure the stability and scalability of applications.
- a method for route jump is provided.
- a routing jump method includes: receiving a jump request to a target interface, and acquiring routing information corresponding to the jump request according to the jump request, where the routing information includes a route Address information and route jump type; determine the route jump rule corresponding to the jump request according to the route jump type; jump to the target interface according to the route address information and the route jump rule .
- the method before acquiring the routing information corresponding to the jump request, includes: determining whether the routing information warehouse includes routing information corresponding to the jump request, and if so, obtaining from the routing information warehouse Routing information corresponding to the jump request; otherwise, the jump request is rejected.
- the method further includes: determining whether the application to which the target interface belongs is a new version or according to the version information in the local cache.
- the developer version if it is, update the total routing information of the application and the version information of the application in the local cache; store the total routing information in the local cache to the local cache based on the hash table data storage structure format Described in the routing information warehouse.
- the routing information includes: route interception information; and after acquiring routing information corresponding to the jump request, the method further includes: performing interception processing according to the route interception information according to a preset priority rule, If the interception processing fails, the jump request is rejected.
- the route jump type includes at least one of the following: an interface jump type, an instance acquisition type, or a call interface type.
- the route jump rule is to call an application program interface of the system or obtain a class instance object based on a programming language's reflection technology; if the route jump If the type is an instance acquisition type, the routing and jumping rule is based on the reflection technology of the programming language to obtain the class instance object. If the routing and jumping type is a call interface type, the routing and jumping rule is exposed through the routing framework. interface.
- a device for route jump is provided.
- An apparatus for routing jump includes: an obtaining module, configured to receive a jump request for jumping to a target interface, and obtain routing information corresponding to the jump request according to the jump request.
- the routing information includes routing address information and a routing jump type; a determining module configured to determine a routing jumping rule corresponding to the jumping request according to the routing jumping type; a jumping module configured to according to the routing address Information and the routing jump rule, jump to the target interface.
- the obtaining module is further configured to determine whether routing information corresponding to the jump request is included in the routing information warehouse, and if yes, obtain routing information corresponding to the jump request from the routing information warehouse, Otherwise, the jump request is rejected.
- the obtaining module is further configured to determine whether the application to which the target interface belongs is a new version or a developer version according to the version information in the local cache, and if so, update the application in the local cache.
- General routing information and version information of the application storing the total routing information in the local cache in the routing information warehouse based on a hash table data storage structure format.
- the obtaining module is further configured to: for each interface controlled by the routing framework in the application, route annotate each of the interfaces separately, and then compile and process the marked interfaces to generate the interfaces. Routing information; synthesizing the total routing information of the application according to the routing information of the interface; encrypting the total routing information, and storing the encrypted total routing information and the version information of the application to the application Local cache.
- the routing information includes: route interception information; and the determining module is further configured to execute an interception process according to a preset priority rule according to the route interception information, and reject the hop if the interception process fails. Forward request.
- the route jump type includes at least one of the following: an interface jump type, an instance acquisition type, or a call interface type.
- the determining module is further configured to: if the route jump type is an interface jump type, the route jump rule is an application program interface that calls a system or obtains a class instance based on a programming language reflection technology Object; if the route jump type is an instance acquisition type, the route jump rule is a class instance object based on a programming language's reflection technology; if the route jump type is a call interface type, the route jump Turn rules are interfaces exposed through the routing framework.
- an electronic device is provided.
- An electronic device includes: one or more processors; a storage device configured to store one or more programs, and when the one or more programs are executed by the one or more processors, The method for causing the one or more processors to implement the route jump of the embodiment of the present invention.
- a computer-readable medium is provided.
- a computer-readable medium stores a computer program thereon.
- the program is executed by a processor, a method for implementing a route jump according to an embodiment of the present invention is provided.
- An embodiment of the above invention has the following advantages or beneficial effects: it can obtain the route jump type and route jump address according to the received jump request, and complete the jump to the target interface, so that multiple types of interface jumps can be realized Turn to ensure the stability and scalability of the application; in the embodiment of the present invention, it is first determined whether the routing information corresponding to the jump request exists in the routing information warehouse, thereby reducing the time for routing jumps and improving the efficiency of routing jumps; the present invention In the embodiment, before obtaining the routing information, verify the version information of the application, so as to ensure the validity and real-timeness of the routing information. In the embodiment of the present invention, the routing information is stored in the routing information warehouse, so that the local file storage and conversion can be realized.
- the generated routing information is encrypted, and then the encrypted routing information is stored, so that the security of the routing information can be improved.
- Rules to intercept the processing which can improve the routing jump method Efficiency and practicality; embodiment of the present invention depending on the type of routing jumps, jump for different rules, so that different types of interfaces can be implemented jump.
- FIG. 2 is a schematic diagram of a main flow of a route jump method according to a reference embodiment of the present invention
- FIG. 3 is a schematic diagram of a main process of a method for determining total routing information of an application to which a target interface belongs according to a reference embodiment of the present invention
- FIG. 4 is a schematic structural diagram of a routing jump frame according to an embodiment of the present invention.
- FIG. 5 is a schematic diagram of main modules of a device for routing forwarding according to an embodiment of the present invention.
- FIG. 6 is an exemplary system architecture diagram to which embodiments of the present invention can be applied;
- FIG. 7 is a schematic structural diagram of a computer system suitable for implementing a terminal device or a server according to an embodiment of the present invention.
- FIG. 1 is a schematic diagram of a main flow of a route jump method according to an embodiment of the present invention.
- the method for route hopping mainly includes the following steps:
- Step S101 Receive a jump request for jumping to a target interface, and obtain routing information corresponding to the jump request according to the received jump request.
- the routing information in the present invention may include routing address information and routing jump types.
- the routing information may include routing address information and routing jump types, where the routing address information refers to a specific routing address that needs to be redirected, and the routing jump types may include: Actvity, Fragment, and Service (that is, services provided by the software toolkit) Control, this service control is mainly used to perform related tasks in the background when the app exits, for example, when a song listening app is exited, the song still plays normally, BroadCast (that is, the broadcast control provided by the software toolkit, the broadcast control It is mainly used to receive system or custom broadcast messages, such as receiving SMS notifications, ContentProvider (that is, the content providing control provided by the software toolkit, which is mainly used for information sharing between multiple APPs, such as , A certain APP calls the system's address book) or IProvider (that is, the control provided by the software toolkit to execute other commands).
- Actvity, Fragment, and Service that is, services provided by the software toolkit
- BroadCast that is, the broadcast control provided
- the method of routing jump may include: determining whether the routing information warehouse includes routing information corresponding to the jump request. , The routing information corresponding to the jump request is obtained from the routing information warehouse; otherwise, the jump request is rejected.
- the purpose of this step is to inquire whether the routing information is included in the routing information warehouse before calling the routing information. If the routing information is found, it is considered that the jump request can be performed. If the routing information warehouse does not include the routing information, Then think that you cannot jump to the target interface.
- the routing information warehouse of the present invention is equivalent to a large storage pool for storing all routing information. In the present invention, the routing information warehouse in the routing jump frame is represented by WareHouse.
- the present invention needs to store the routing information to the routing
- the specific method can be explained as follows: according to the version information in the local cache, determine whether the application to which the target interface belongs is a new version or a developer version, and if so, update the total routing information of the application and the version information of the application in the local cache. Based on the hash table data storage structure format, the total routing information in the local cache is stored in the routing information warehouse.
- the new version refers to the new version of the application
- the developer version refers to the initial development version of the application.
- a shopping app has version 1.01, 1.02, and 1.03, and version 1.01 is the developer version of the shopping app.
- Version 1.03 is the new version of the shopping app.
- the application version is constantly updated, the total routing information of the application will increase, decrease, or change. For example, when version 1.03 adds a component C compared to version 1.02, the routing information about component C will increase. Therefore, the present invention determines whether the version information of the current application is a new version or a developer version according to the stored version information.
- the process of updating the total routing information of the application in the local cache in the above steps may include: first determining whether the application is a new version or a developer version (Debuggable mode, which is specifically used for developing and debugging print logs) and determining the version The method is to compare with the version information stored in the local cache. If any of the above two conditions are met, the ClassUtils tool class in the routing and jumping framework is called. The role of this tool class is to find this based on the application package name.
- the names of all classes under the package name, and are compatible with the multi-dex that is, the type of executable file on the Android platform
- the system installation package for example, the Android installation package AndroidPackage (Apk)
- the local cache can be implemented by the SharePrefrences API (that is, the local cache application program interface provided by the software toolkit) in the jump framework.
- the routing information in the local cache is stored into the routing information warehouse in the format of a hash table data storage structure.
- the advantage of doing so is that the routing information storage is converted into a memory cache, which can speed up the speed of obtaining routing address information.
- the format of the hash table data storage structure in the present invention may be in the form of a key-value pair Key-Value, where Key is routing address information, and Value is other routing information, which is represented by RouteMeta.
- RouteMeta may include: ClassName of route jump, BundleData of transmitted data information, RouteType of route interception information (see below for details), etc.
- This ClassName corresponds to the interface (Activity / Fragment) or The required service interface class, so the route jump type of this route jump request is determined according to the ClassName.
- the method may further include: for the interface controlled by the routing framework in the application, Each interface is marked with a route, and then the marked interface is compiled and processed to generate the route information of the interface; the total route information of the application is synthesized according to the route information of the interface; the total route information is encrypted, and the encrypted total route is encrypted Information and application version information are stored in a local cache.
- route labeling is performed on the interface that needs to be controlled by the routing framework. Only the interface that performs route marking can be redirected through the routing jump framework of the present invention.
- routing address information For example, component processing is performed on an APP to obtain multiple service modules, each of which has multiple interfaces.
- the present invention performs route labeling processing and compilation processing on interfaces that require a routing framework control, and finally generates routing information for the interface. Then put all the generated routing information together to synthesize the total routing information of the APP.
- the present invention encrypts the total routing information and then stores it in a local cache, and at the same time stores the unique identifier of the application, that is, version information, in a local cache.
- the specific process of generating routing address information can be explained as:
- Annotation Processoror Task provided by Gradle (that is, a project automation build tool) executes the annotation processor (RouteProcessor) in the compilation unit (Compliler unit) in the routing jump framework during the compilation period. Relevant processing logic, and generate Java files in the project "/ build / generated / source / apt / packagename /" directory;
- the generated Java file includes two classes that implement IRouteGroup and IRouteRoot respectively.
- the class name format is determined by RouteProcessor.
- the processing logic that implements the IRouteGroup interface is used to fill routing group information into the routing information warehouse and implement the IRouteRoot interface.
- the processing logic fills all routing address information marked with @Route into the routing information warehouse;
- the routing information may further include routing intercept information.
- the method for route jump may further include: performing interception processing according to a preset priority rule according to the route interception information, and rejecting the jump request if the interception processing fails.
- Route interception information refers to the operation information that needs to be executed before jumping to the target interface.
- Priority rules refer to the need to intercept multiple times before jumping to the target interface. Set a priority level for each interception; preset priority The rules may be intercepted in a natural order, that is, in the order of high priority to low priority. Of course, it may also be performed in other ordering manners, which is not limited in the present invention.
- the successful interception processing in the present invention may further include that the jump request does not need to perform an interception operation, that is, it can directly jump from the component A to the entry interface of the component B without other interception operations.
- Step S102 Determine a route jump rule corresponding to the jump request according to the route jump type.
- the route jump type may include at least one of the following: interface jump type, instance acquisition type, or call interface type.
- the route jump types mentioned above may include: Actvity, Fragment, Service, BroadCast, ContentProvider or IProvider.
- the present invention divides the above route jump types into three types, namely interface jump type, instance acquisition type and calling interface type.
- different route jump types have different route jump rules.
- the route jump type is an interface jump type
- the route jump rule is an application that calls the system The program interface or the reflection technology based on the programming language is used to obtain the class instance object; if the route jump type is the instance acquisition type, the routing jump rule is based on the programming language reflection technology to obtain the class instance object; if the route jump type is the call interface Type, then the routing rules are interfaces exposed through the routing framework.
- the route jump type of the jump request is obtained according to the routing information, and the jump type may include Actvity, Fragment, Service, BroadCast, ContentProvider, or IProvider; then, according to the obtained route jump type, respectively call Different processing methods:
- route jump type is Activity
- application program interface for example, ActivityCompat API
- system for example, Android system
- Bundle that is, the Android system class, use Transfer data between Activities
- the reflection class technology based on the programming language is used to obtain the class instance object, where the programming language can be Java;
- FIG. 2 is a schematic diagram of a main flow of a route jump method according to a reference embodiment of the present invention. As shown in FIG. 2, the main flow of the method for routing redirection according to the present invention may include:
- Step S201 Receive a jump request to a target interface, and determine total routing information of an application to which the target interface belongs;
- Step S202 Determine whether the total routing information includes the routing information corresponding to the jump request. If yes, go to step S203; otherwise, go to step S208;
- Step S203 Obtain routing information corresponding to the jump request, where the routing information includes: routing address information, routing jump type, and routing intercept information;
- Step S204 According to the route interception information, execute an interception process according to a preset priority rule
- Step S205 Determine whether the interception process passes. If the interception process fails, step S206 is performed, otherwise, step S208 is performed;
- Step S206 Determine a route jump rule corresponding to the jump request according to the route jump type
- Step S207 Jump to the target interface according to the routing jump rule according to the routing address information
- Step S208 The jump request is rejected.
- FIG. 3 is a schematic diagram of the main process of a method for determining the total routing information of the application to which the target interface belongs according to an embodiment of the present invention.
- the main process of the method for determining total routing information of an application to which a target interface belongs according to the present invention may include:
- Step S301 label routing for each interface in the application that needs to be controlled by the routing framework, and then compile the labeled interface to generate routing information for each interface that needs to be controlled by the routing framework;
- Step S302 Synthesize the total routing information of the application according to each interface that needs to be controlled by the routing framework
- Step S303 encrypt the total routing information, and store the encrypted total routing information and application version information in a local cache;
- Step S304 determine whether the current application is a new version or a developer version according to the application version information in the local cache, and if so, execute step S305; otherwise, execute step S306;
- Step S305 Update the total routing information of the application and the version information of the application in the local cache
- Step S306 Based on the hash table data storage structure format, the total routing information in the local cache is stored in the routing information warehouse.
- FIG. 4 is a schematic structural diagram of a frame for route forwarding according to an embodiment of the present invention.
- the structure of the routing jump framework of the present invention may include: a custom annotation unit, a compilation unit, and an application program interface unit.
- Custom annotation units are used to define different types of annotations.
- the custom annotation unit that is, the custom Annotation unit, defines three types of annotations, which are:
- the target interface marks the key value passed to this interface with the key structure of the data structure format, indicating that the target interface needs to obtain the value corresponding to this key value.
- Data the carrier carrying the data can be a Bundle in Android system, and the parsing data can be the open source library Gson provided by Google;
- Route annotation annotation Route that is, route annotation for the interface in the component. Only when this annotation is marked, can the route jump framework of the present invention be used for route jump.
- the compiling unit namely the Compiler unit, is used to compile the annotations in the custom annotation unit and generate a programming language file. Since the Compiler unit corresponds to a custom Annotation unit, the Compiler unit includes three annotation processors, namely: the routing data annotation processor AutowiredProcessor for processing the @Autowired annotation; the routing interception annotation processor InterceptorProcessor for the @Interceptor Annotations are processed; RouteProcessor annotation processor RouteProcessor is used to process @Route annotations.
- the application program interface unit that is, the API unit, is used to implement route jump according to the programming language file generated by the compilation unit.
- the API unit in the present invention includes the following key classes:
- JRouter which exposes a unified interface that implements component routing and redirection. This class is a singleton design pattern
- ControlCenter which controls the logic center of route jump, including route jump fault tolerance processing, route loss degradation processing, etc .;
- IRouteGroup which is grouped according to the routing address.
- the Java file that implements this interface is generated in the project directory build directory through APT.
- the interface implementation logic calls the hash table HashMap in Warehouse to store the grouping address. "/ login / otp" and “/ login / register”, these two addresses belong to the "login” group, usually the group name is related to the component name divided according to business functions;
- IInterceptor which implements the route interception interface according to the business logic
- IProvider when a component needs to expose a service interface to other components, it needs to inherit this class
- Thread Pool Thread Pool, processing time-consuming tasks
- ClassUtils which is mainly used to scan all the ClassNames contained in the package by specifying the package name.
- the route jump type and route jump address can be obtained according to the received jump request, and the jump to the target interface is completed, so that multiple types of The interface jump ensures the stability and scalability of the application.
- the routing information corresponding to the jump request exists in the routing information warehouse, thereby reducing the time for route jump and improving the efficiency of route jump;
- verify the version information of the application so that the validity and real-time nature of the routing information can be guaranteed;
- the routing information is stored in the routing information warehouse, so that local files can be realized
- the storage is converted into a memory cache to speed up the acquisition of routing information.
- the generated routing information is encrypted, and then the encrypted routing information is stored, so that the security of the routing information can be improved.
- Set rules for interception processing which can improve the routing jump method Efficiency and practicality; embodiment of the present invention depending on the type of routing jumps, jump for different rules, so that different types of interfaces can be implemented jump.
- FIG. 5 is a schematic diagram of main modules of a device for routing forwarding according to an embodiment of the present invention.
- the device 500 for routing and redirecting according to the present invention mainly includes the following modules: an acquiring module 501, a determining module 502, and a redirecting module 503.
- the obtaining module 501 may be configured to receive a jump request for jumping to a target interface, and obtain corresponding routing information according to the received jump request.
- the routing information may include routing address information and a routing jump type.
- the determining module 502 may be configured to determine a route jump rule corresponding to the jump request according to the route jump type.
- the jump module 503 may be configured to jump to a target interface according to the routing address information and the routing jump rules.
- the obtaining module 501 may be further configured to determine whether the routing information warehouse includes routing information corresponding to the jump request, and if so, obtain the routing information corresponding to the jumping request from the routing information warehouse; otherwise, reject the jumping request.
- the obtaining module 501 may be further configured to determine whether the application to which the target interface belongs is a new version or a developer version according to the version information in the local cache, and if so, update the total routing information and application of the application in the local cache. Based on the hash table data storage structure format, the total routing information in the local cache is stored in the routing information warehouse.
- the obtaining module 501 may be further configured to: for each interface controlled by the routing framework in the application, route annotate each interface separately, and then compile the marked interface to generate routing information of the interface; according to the interface To synthesize the total routing information of the application; encrypt the total routing information, and store the encrypted total routing information and the application version information in the local cache.
- the routing information may include routing intercept information.
- the determining module 502 may be further configured to perform an interception process according to a preset priority rule according to the route interception information, and reject the jump request if the interception process fails.
- the route jump type may include at least one of the following: interface jump type, instance acquisition type, or call interface type.
- the determining module 502 may also be used: if the route jump type is an interface jump type, the route jump rule is to call the application program interface of the system or obtain a class instance object based on a programming language reflection technology; if The route jump type is the instance acquisition type, and the route jump rule is based on the programming language's reflection technology to obtain the class instance object. If the route jump type is the call interface type, the route jump rule is the interface exposed through the routing framework.
- the route jump type and route jump address can be obtained, and the jump to the target interface is completed, so that various types of interface jumps can be realized to ensure the stability of the application.
- extensibility in the embodiment of the present invention, it is first determined whether the routing information corresponding to the jump request exists in the routing information warehouse, thereby reducing the time for routing jumps and improving the efficiency of routing jumps; in the embodiment of the present invention, the routing information is obtained Previously, the version information of the application was verified to ensure the validity and real-time nature of the routing information.
- the routing information is stored in the routing information warehouse, so that the local file storage can be converted into a memory cache to speed up the routing information.
- the generated routing information is encrypted, and then the encrypted routing information is stored, thereby improving the security of the routing information; in the embodiment of the present invention, interception processing is performed according to a preset rule, so that the Improve the effectiveness and practicability of the route jump method; the invention is implemented
- different jump rules are formulated, so that different types of interface jumps can be realized.
- the system architecture 600 may include terminal devices 601, 602, and 603, a network 604, and a server 605.
- the network 604 is used to provide a medium for a communication link between the terminal devices 601, 602, 603 and the server 605.
- the network 604 may include various connection types, such as wired, wireless communication links, or fiber optic cables, and so on.
- Terminal devices 601, 602, and 603 Users can use terminal devices 601, 602, and 603 to interact with the server 605 through the network 604 to receive or send messages and the like.
- Various communication client applications can be installed on the terminal devices 601, 602, and 603, such as shopping applications, web browser applications, search applications, instant messaging tools, email clients, social platform software, and the like (only examples).
- the terminal devices 601, 602, and 603 may be various electronic devices having a display screen and supporting web browsing, including but not limited to smart phones, tablet computers, laptop computers, and desktop computers.
- the server 605 may be a server that provides various services, for example, a background management server that provides support for a shopping website browsed by a user using the terminal devices 601, 602, and 603 (only examples).
- the background management server can analyze and process the received product information query request and other data, and feed back the processing results (such as target push information and product information-just examples) to the terminal device.
- the method for route redirection provided by the embodiment of the present invention is generally performed by the server 605, and accordingly, the device for route redirection is generally set in the server 605.
- terminal devices, networks, and servers in FIG. 6 are merely exemplary. According to implementation needs, there can be any number of terminal devices, networks, and servers.
- FIG. 7 shows a schematic structural diagram of a computer system 700 suitable for implementing a terminal device according to an embodiment of the present invention.
- the terminal device shown in FIG. 7 is only an example, and should not impose any limitation on the functions and scope of use of the embodiments of the present invention.
- the computer system 700 includes a central processing unit (CPU) 701, which can be loaded into a random access memory (RAM) 703 from a program stored in a read-only memory (ROM) 702 or from a storage section 708. Instead, perform various appropriate actions and processes.
- RAM random access memory
- ROM read-only memory
- various programs and data required for the operation of the system 700 are also stored.
- the CPU 701, ROM 702, and RAM 703 are connected to each other through a bus 704.
- An input / output (I / O) interface 705 is also connected to the bus 704.
- the following components are connected to the I / O interface 705: an input portion 706 including a keyboard, a mouse, and the like; an output portion 707 including a cathode ray tube (CRT), a liquid crystal display (LCD), and a speaker; a storage portion 708 including a hard disk and the like And a communication section 709 including a network interface card such as a LAN card, a modem, and the like.
- the communication section 709 performs communication processing via a network such as the Internet.
- the driver 710 is also connected to the I / O interface 705 as needed.
- a removable medium 711 such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, etc., is installed on the drive 710 as necessary, so that a computer program read therefrom is installed into the storage section 708 as necessary.
- the process described above with reference to the flowchart may be implemented as a computer software program.
- the disclosed embodiments include a computer program product including a computer program carried on a computer-readable medium, the computer program containing program code for performing the method shown in the flowchart.
- the computer program may be downloaded and installed from a network through the communication section 709, and / or installed from a removable medium 711.
- this computer program is executed by a central processing unit (CPU) 701
- CPU central processing unit
- the computer-readable medium shown in the present invention may be a computer-readable signal medium or a computer-readable storage medium or any combination of the foregoing.
- the computer-readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of computer-readable storage media may include, but are not limited to: electrical connections with one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable Programming read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination of the foregoing.
- a computer-readable storage medium may be any tangible medium containing or storing a program, and the program may be used by or in combination with an instruction execution system, apparatus, or device.
- the computer-readable signal medium may include a data signal transmitted in baseband or transmitted as a part of a carrier wave, in which a computer-readable program code is carried. Such a propagated data signal may take many forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the foregoing.
- the computer-readable signal medium may also be any computer-readable medium other than a computer-readable storage medium, and the computer-readable medium may send, propagate, or transmit a program for use by or in connection with an instruction execution system, apparatus, or device .
- Program code embodied on a computer-readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
- each block in the flowchart or block diagram may represent a module, a program segment, or a part of code, which contains one or more of the logic functions used to implement the specified logic.
- Executable instructions may also occur in a different order than those marked in the drawings. For example, two successively represented boxes may actually be executed substantially in parallel, and they may sometimes be executed in the reverse order, depending on the functions involved.
- each block in the block diagram or flowchart, and combinations of blocks in the block diagram or flowchart can be implemented with a dedicated hardware-based system that performs the specified function or operation, or can be implemented with A combination of dedicated hardware and computer instructions.
- the modules described in the embodiments of the present invention may be implemented by software or hardware.
- the described module may also be provided in a processor, for example, it may be described as: a processor includes an acquisition module, a determination module, and a jump module.
- a processor includes an acquisition module, a determination module, and a jump module.
- the names of these modules do not constitute a limitation on the module itself in some cases.
- the acquisition module can also be described as "receiving a jump request to the target interface and obtaining a jump according to the jump request" Module for requesting corresponding routing information.
- the present invention also provides a computer-readable medium.
- the computer-readable medium may be included in the device described in the foregoing embodiments, or may exist alone without being assembled into the device.
- the computer-readable medium carries one or more programs.
- the device includes: receiving a jump request to a target interface, and obtaining a jump request according to the jump request.
- the routing information corresponding to the transfer request.
- the routing information includes the routing address information and the routing jump type. According to the routing jump type, determine the routing jump rule corresponding to the jump request. According to the routing address information and the routing jump rule, jump to the destination. interface.
- the route jump type and route jump address according to the received jump request, and complete the jump to the target interface, so that multiple types of interface jumps can be realized, ensuring the application's Stability and scalability; in the embodiment of the present invention, it is first judged whether the routing information corresponding to the jump request exists in the routing information warehouse, thereby reducing the time for routing jumps and improving the efficiency of route jumps; Before routing information, verify the version information of the application to ensure the validity and real-timeness of the routing information.
- the routing information is stored in the routing information warehouse, so that the local file storage can be converted into a memory cache to speed up Speed of obtaining routing information; in the embodiment of the present invention, the generated routing information is encrypted, and then the encrypted routing information is stored, thereby improving the security of the routing information; in the embodiment of the present invention, interception processing is performed according to a preset rule, This can improve the effectiveness and practicability of the route jump method; In the embodiment of the invention, different jumping rules are formulated according to different types of route jumping, so that different types of interface jumping can be realized.
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了路由跳转的方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:接收跳转至目标界面的跳转请求,并根据跳转请求获取跳转请求对应的路由信息,路由信息包括路由地址信息和路由跳转类型;根据路由跳转类型,确定跳转请求对应的路由跳转规则;根据路由地址信息和路由跳转规则,跳转至目标界面。该实施方式根据接收的跳转请求,获取路由跳转类型和路由跳转地址,完成到目标界面的跳转,实现了多种类型的界面跳转,保证了应用的稳定性和扩展性。
Description
本发明涉及计算机技术领域,尤其涉及一种路由跳转的方法和装置。
随着应用程序(Application,简称APP)的业务功能越来越复杂,业务代码的耦合程度(即,业务代码之间相互关联的度量)高,组件化(即,解耦复杂系统时将多个功能模块拆分、重组的过程)成为解决这种场景的有力方案。对APP实施组件化后,不同的组件(即,业务模块)处于不同的命名空间(即,用于在计算机语言中负责类名的命名管理,防止相同的类名冲突),会导致组件间不能进行常规的跳转,因此用于解决组件间跳转的路由框架应运而生。
现有技术中,只有利用开源库ARouter进行组件跳转的方法可以满足业务需求,其中ARouter是阿里巴巴开源的安卓平台的对页面跳转、服务提供路由功能的中间件。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:一、基于ARouter的技术方案,只支持Activity(即,软件工具包提供的用户界面控件,相当于APP的界面)和Fragment(即,软件工具包提供的用户界面控件,它的载体为Activity)的跳转;二、路由拦截机制不能按照一定顺序进行拦截;三、存储在SharePreferencs(即,软件工具包提供的本地缓存应用程序接口)文件中的路由地址是明文展示,安全性较低。
发明内容
有鉴于此,本发明实施例提供一种路由跳转的方法和装置,能够实现多种类型的界面跳转,保证应用的稳定性和扩展性。
为实现上述目的,根据本发明实施例的一个方面,提供了一种路由跳转的方法。
本发明实施例的一种路由跳转的方法,包括:接收跳转至目标界面的跳转请求,并根据所述跳转请求获取所述跳转请求对应的路由信息,所述路由信息包括路由地址信息和路由跳转类型;根据所述路由跳转类型,确定所述跳转请求对应的路由跳转规则;根据所述路由地址信息和所述路由跳转规则,跳转至所述目标界面。
可选地,在获取所述跳转请求对应的路由信息之前,所述方法包括:判断路由信息仓库中是否包括所述跳转请求对应的路由信息,若是,则从所述路由信息仓库中获取所述跳转请求对应的路由信息,否则,拒绝所述跳转请求。
可选地,在判断路由信息仓库中是否包括所述跳转请求对应的路由信息之前,所述方法还包括:根据本地缓存中的版本信息,判断所述目标界面所属的应用是否为新版本或者开发者版本,若是,则更新所述本地缓存中所述应用的总路由信息和所述应用的版本信息;基于散列表数据存储结构格式,将所述本地缓存中所述总路由信息存储至所述路由信息仓库中。
可选地,在根据本地缓存中的版本信息,判断所述目标界面所属的应用是否为新版本或者开发者版本之前,所述方法还包括:针对所述应用中通过路由框架控制的界面,分别对每个所述界面进行路由标注,然后对已标注的界面进行编译处理,生成所述界面的路由信息;根据所述界面的路由信息,合成所述应用的总路由信息;对所述总路由信息进行加密,并将加密后的所述总路由信息和所述应用的版本信息存储至所述本地缓存中。
可选地,所述路由信息包括:路由拦截信息;以及在获取所述跳转请求对应的路由信息之后,所述方法还包括:根据路由拦截信息,按照预设的优先级规则执行拦截处理,若拦截处理不通过,则拒绝所述跳转请求。
可选地,所述路由跳转类型包括以下各项中至少一项:界面跳转类型、实例获取类型或调用接口类型。
可选地,若所述路由跳转类型是界面跳转类型,则所述路由跳转规则是调用系统的应用程序接口或者是基于编程语言的反射技术获取类实例对象;若所述路由跳转类型是实例获取类型,则所述路由跳转规则是基于编程语言的反射技术获取类实例对象;若所述路由跳转类型是调用接口类型,则所述路由跳转规则是通过路由框架暴露的接口。
为实现上述目的,根据本发明实施例的再一方面,提供了一种路由跳转的装置。
本发明实施例的一种路由跳转的装置,包括:获取模块,用于接收跳转至目标界面的跳转请求,并根据所述跳转请求获取所述跳转请求对应的路由信息,所述路由信息包括路由地址信息和路由跳转类型;确定模块,用于根据所述路由跳转类型,确定所述跳转请求对应的路由跳转规则;跳转模块,用于根据所述路由地址信息和所述路由跳转规则,跳转至所述目标界面。
可选地,所述获取模块还用于:判断路由信息仓库中是否包括所述跳转请求对应的路由信息,若是,则从所述路由信息仓库中获取所述跳转请求对应的路由信息,否则,拒绝所述跳转请求。
可选地,所述获取模块还用于:根据本地缓存中的版本信息,判断所述目标界面所属的应用是否为新版本或者开发者版本,若是,则 更新所述本地缓存中所述应用的总路由信息和所述应用的版本信息;基于散列表数据存储结构格式,将所述本地缓存中所述总路由信息存储至所述路由信息仓库中。
可选地,所述获取模块还用于:针对所述应用中通过路由框架控制的界面,分别对每个所述界面进行路由标注,然后对已标注的界面进行编译处理,生成所述界面的路由信息;根据所述界面的路由信息,合成所述应用的总路由信息;对所述总路由信息进行加密,并将加密后的所述总路由信息和所述应用的版本信息存储至所述本地缓存中。
可选地,所述路由信息包括:路由拦截信息;以及所述确定模块还用于:根据路由拦截信息,按照预设的优先级规则执行拦截处理,若拦截处理不通过,则拒绝所述跳转请求。
可选地,所述路由跳转类型包括以下各项中至少一项:界面跳转类型、实例获取类型或调用接口类型。
可选地,所述确定模块还用于:若所述路由跳转类型是界面跳转类型,则所述路由跳转规则是调用系统的应用程序接口或者是基于编程语言的反射技术获取类实例对象;若所述路由跳转类型是实例获取类型,则所述路由跳转规则是基于编程语言的反射技术获取类实例对象;若所述路由跳转类型是调用接口类型,则所述路由跳转规则是通过路由框架暴露的接口。
为实现上述目的,根据本发明实施例的再一方面,提供了一种电子设备。
本发明实施例的一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例的 路由跳转的方法。
为实现上述目的,根据本发明实施例的又一方面,提供了一种计算机可读介质。
本发明实施例的一种计算机可读介质,其上存储有计算机程序,程序被处理器执行时实现本发明实施例的路由跳转的方法。
上述发明中的一个实施例具有如下优点或有益效果:能够根据接收的跳转请求,获取路由跳转类型和路由跳转地址,完成到目标界面的跳转,从而可以实现多种类型的界面跳转,保证应用的稳定性和扩展性;本发明实施例中首先判断路由信息仓库中是否存在跳转请求对应的路由信息,从而可以减少路由跳转的时间,提高路由跳转的效率;本发明实施例中在获取路由信息之前,验证应用的版本信息,从而可以保证路由信息的有效性和实时性;本发明实施例中将路由信息存储在路由信息仓库中,从而可以实现将本地文件存储转换为内存缓存,加快路由信息的获取速度;本发明实施例中对生成的路由信息进行加密,然后存储加密后的路由信息,从而可以提高路由信息的安全性;本发明实施例中按照预设的规则进行拦截处理,从而可以提高路由跳转方法的有效性和实用性;本发明实施例中根据不同的路由跳转类型,制定不同的跳转规则,从而可以实现不同类型的界面跳转。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明实施例的路由跳转的方法的主要流程的示意图;
图2是根据本发明一个可参考实施例的路由跳转的方法的主要流程的示意图;
图3是根据本发明一个可参考实施例的确定目标界面所属应用的总路由信息的方法的主要流程的示意图;
图4是根据本发明实施例的路由跳转的框架的结构示意图;
图5是根据本发明实施例的路由跳转的装置的主要模块的示意图;
图6是本发明实施例可以应用于其中的示例性系统架构图;
图7是适于用来实现本发明实施例的终端设备或服务器的计算机系统的结构示意图。
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图1是根据本发明实施例的路由跳转的方法的主要流程的示意图。根据本发明的一个可参考实施例,如图1所示,路由跳转的方法的主要包括以下步骤:
步骤S101:接收跳转至目标界面的跳转请求,并根据接收的跳转请求获取跳转请求对应的路由信息。其中,本发明中路由信息可以包括路由地址信息和路由跳转类型。对APP实施组件化后,若组件A需要跳转至组件B的入口界面,则组件B的入口界面是目标界面,本发明需要首先接收组件A跳转至组件B的入口界面的跳转请求,然后获取执行该跳转请求需要的路由信息。其中,路由信息可以包括路由地址信息和路由跳转类型,其中路由地址信息是指具体需要跳转的路由地址,路由跳转类型可以包括:Actvity、Fragment、Service(即,软件工具包提供的服务控件,该服务控件主要用于当APP退出时,在后台执行相关任务,例如,当退出某听歌APP时,歌曲仍正常播放)、BroadCast(即,软件工具包提供的广播控件,该广播控件主要用于接 收系统或自定义的广播消息,例如,收到短信通知)、ContentProvider(即,软件工具包提供的内容提供控件,该内容提供控件主要用于多个APP之间的信息共享,例如,某个APP调用系统的通讯录)或IProvider(即,软件工具包提供的执行其他命令的控件)。
作为本发明的又一个实施例,在步骤S101中获取跳转请求对应的路由信息之前,本发明的路由跳转的方法可以包括:判断路由信息仓库中是否包括跳转请求对应的路由信息,若是,则从路由信息仓库中获取跳转请求对应的路由信息,否则,拒绝跳转请求。本步骤的目的是在调用路由信息之前,查询路由信息仓库中是否包括该路由信息,如果查询到该路由信息,则认为可以执行此次跳转请求,如果路由信息仓库中不包括该路由信息,那么认为不能跳转到目标界面。本发明的路由信息仓库相当于是一个大的存储池,用于存储所有的路由信息。本发明中,路由跳转框架中的路由信息仓库用WareHouse表示。
考虑到需要从路由信息仓库中获取到路由信息,因此,作为本发明的再一个实施例,在判断路由信息仓库中是否包括跳转请求对应的路由信息之前,本发明需要将路由信息存储到路由信息仓库中,具体方法可以解释为:根据本地缓存中的版本信息,判断目标界面所属的应用是否为新版本或者开发者版本,若是,则更新本地缓存中应用的总路由信息和应用的版本信息;基于散列表数据存储结构格式,将本地缓存中总路由信息存储至路由信息仓库中。其中,新版本是指应用的新版本,开发者版本是指应用的最初开发版本,比如,某购物APP具有1.01版本、1.02版本、以及1.03版本,而1.01版本是该购物APP的开发者版本,1.03版本是该购物APP的新版本。由于应用版本的不断更新,则该应用的总路由信息会增加、减少或者改变,比如说,1.03版本相比于1.02版本,增加了某个组件C,则会增加有关组件C的路由信息。因此,本发明根据存储的版本信息判断当前应用的版本信息是否为新版本或者是开发者版本。
本发明中,上述步骤的更新本地缓存中应用的总路由信息的过程可以包括:首先判断此应用是否为新版本或者开发者版本(Debuggable模式,专门用来供开发调试打印日志使用),判断版本的方式是通过与存储本地缓存中的版本信息进行比较,若满足以上两个条件中的任意一个,则调用路由跳转框架中的ClassUtils工具类,此工具类的作用是根据应用包名寻找此包名下的所有类的名称,并对系统的安装包(例如,安卓系统的安装包AndroidPackage,即Apk)中存在的多dex(即,Android平台上可执行文件的类型)情况做了兼容处理,获得最新的路由信息后再重新存入本地缓存中,保证了路由信息的有效性。
本发明中,本地缓存可以通过跳转框架中的SharePrefrences API(即,软件工具包提供的本地缓存应用程序接口)实现。然后,将本地缓存中的路由信息以散列表数据存储结构格式存储至路由信息仓库中,这样做的好处是将路由信息存储转换为内存缓存,可以加快获取路由地址信息的速度。本发明中的散列表数据存储结构格式可以键值对Key-Value的形式,Key为路由地址信息,Value为其他路由信息,用RouteMeta表示。在本发明中,RouteMeta可以包括:路由跳转类信息ClassName、传输的数据信息Bundle Data和路由拦截信息RouteType(具体解释见下文)等,此ClassName即对应所要跳转的界面(Activity/Fragment)或所需要的服务接口类,因此根据ClassName确定此次路由跳转请求的路由跳转类型。
作为本发明的再一个实施例,在根据本地缓存中的版本信息,判断目标界面所属的应用是否为新版本或者开发者版本之前,方法还可以包括:针对应用中通过路由框架控制的界面,对每个界面进行路由标注,然后对已标注的界面进行编译处理,生成界面的路由信息;根据界面的路由信息,合成应用的总路由信息;对总路由信息进行加密,并将加密后的总路由信息和应用的版本信息存储至本地缓存中。本发明中,对需要路由框架控制的界面进行路由标注,只有进行路由标注的界面才可以通过本发明的路由跳转框架进行跳转。例如,对某个APP 进行组件化处理,得到多个业务模块,每个业务模块有多个界面,本发明对需要路由框架控制的界面进行路由标注处理和编译处理,最后生成界面的路由信息,然后将生成的所有路由信息放在一起,合成了该APP的总路由信息。为了提高路由信息的安全性,本发明对总路由信息进行加密,然后存储至本地缓存中,同时将该应用的唯一标识,即版本信息,存储至本地缓存中。具体的生成路由地址信息的过程可以解释为:
(1)在需要由路由跳转框架进行控制的界面标注@Route;
(2)通过Gradle(即,一种项目自动化构建工具)提供的Annotation Processor Task(APT)在编译时期,执行路由跳转框架中的编译单元(Compliler单元)中的注解处理器(RouteProcessor)中的相关处理逻辑,并在工程“/build/generated/source/apt/packagename/”目录下生成Java文件;
(3)生成的Java文件中包括两个分别实现了IRouteGroup和IRouteRoot的类,类名格式由RouteProcessor决定,其中实现了IRouteGroup接口的处理逻辑为向路由信息仓库填充路由分组信息,实现了IRouteRoot接口的处理逻辑为向路由信息仓库填充所有带有@Route标注的路由地址信息;
(4)通过以上三个步骤,已经获取到了整个APP的路由地址信息,接着调用系统提供的SharePrefrences应用程序接口把整个路由地址信息存入本地缓存中。
本发明实施例中,路由信息还可以包括:路由拦截信息。在步骤S101在获取跳转请求对应的路由信息之后,路由跳转的方法还可以包括:根据路由拦截信息,按照预设的优先级规则执行拦截处理,若拦截处理不通过,则拒绝跳转请求。路由拦截信息是指跳转到目标界面之前,需要执行的操作信息;优先级规则是指跳转至目标界面之前,需要多次拦截,则对每次拦截设置优先级等级;预设的优先级规则可以是按照自然排序,即从优先级高到优先级低的顺序进行拦截,当然也可以是按照其他排序方式,本发明对此不做限定。例如,在跳转至 目标界面之前,判断是否需要登陆,若不需要登陆,则跳转至目标界面,若需要登陆,则跳转至登陆界面,而拦截处理不通过是指登陆信息错误,则会拒绝此次跳转请求。本发明中拦截处理成功还可以包括此次跳转请求不需要执行拦截操作,即可以直接从组件A跳转到组件B的入口界面,没有其他拦截操作。
步骤S102:根据路由跳转类型,确定跳转请求对应的路由跳转规则。本发明实施例中,路由跳转类型可以包括以下各项中至少一项:界面跳转类型、实例获取类型或调用接口类型。上文提到路由跳转类型可以包括:Actvity、Fragment、Service、BroadCast、ContentProvider或IProvider,本发明将上述路由跳转类型分为三类,即界面跳转类型、实例获取类型和调用接口类型。
本发明实施例中,不同的路由跳转类型具有不同的路由跳转规则,作为本发明的又一个实施例,若路由跳转类型是界面跳转类型,则路由跳转规则是调用系统的应用程序接口或者是基于编程语言的反射技术获取类实例对象;若路由跳转类型是实例获取类型,则路由跳转规则是基于编程语言的反射技术获取类实例对象;若路由跳转类型是调用接口类型,则路由跳转规则是通过路由框架暴露的接口。具体解释为:首先,根据路由信息获取到此次跳转请求的路由跳转类型,跳转类型可以包括Actvity、Fragment、Service、BroadCast、ContentProvider或IProvider;然后,根据获取的路由跳转类型分别调用不同的处理方式:
(1)若路由跳转类型是Activity,则调用系统(比如,安卓系统)原始提供的应用程序接口(比如,ActivityCompat API)进行界面跳转,并可通过Bundle(即,安卓系统的类,用于Activity之间传输数据)进行数据传递。调用此类的方法为:
ActivityCompat.startActivity()
ActivityCompat.startActivityForResult();
(2)若跳转类型是Fragment、Service、BroadCast或 ContentProvider,则基于编程语言的反射技术获取类实例对象,其中编程语言可以是Java;
(3)若跳转类型是IProvide,则直接通过路由跳转框架暴露的接口进行界面跳转。
步骤S103:根据路由地址信息和路由跳转规则跳转至目标界面。在上述步骤S101获取到路由地址信息之后,在步骤S102中确定了此次跳转请求的路由跳转规则之后,根据路由地址信息按照规则跳转至此目标界面。
图2是根据本发明一个可参考实施例的路由跳转的方法的主要流程的示意图。如图2所示,本发明的路由跳转的方法的主要流程可以包括:
步骤S201:接收跳转至目标界面的跳转请求,并确定目标界面所属应用的总路由信息;
步骤S202:判断总路由信息中是否包括此次跳转请求对应的路由信息,若是,执行步骤S203,否则,执行步骤S208;
步骤S203:获取此次跳转请求对应的路由信息,其中路由信息包括:路由地址信息、路由跳转类型和路由拦截信息;
步骤S204:根据路由拦截信息,按照预设的优先级规则执行拦截处理;
步骤S205:判断拦截处理是否通过,若拦截处理不通过,则执行步骤S206,否则,执行步骤S208;
步骤S206:根据路由跳转类型,确定跳转请求对应的路由跳转规则;
步骤S207:根据路由地址信息,按照路由跳转规则跳转至目标界面;
步骤S208:拒绝此次跳转请求。
需要注意的是,步骤S206在上文已经具体解释,此处不再累述。 此外,上述步骤S201确定目标界面所属应用的总路由信息,图3是根据本发明一个可参考实施例的确定目标界面所属应用的总路由信息的方法的主要流程的示意图。如图3所示,本发明的确定目标界面所属应用的总路由信息的方法的主要流程可以包括:
步骤S301:对应用中每个需要路由框架控制的界面进行路由标注,然后对已标注的界面进行编译处理,生成每个需要路由框架控制的界面的路由信息;
步骤S302:根据每个需要路由框架控制的界面,合成应用的总路由信息;
步骤S303:对总路由信息进行加密,并将加密后的总路由信息和应用的版本信息存储至本地缓存中;
步骤S304:根据本地缓存中的应用版本信息,判断当前应用是否为新版本或者开发者版本,若是,则执行步骤S305,否则,执行步骤S306;
步骤S305:更新本地缓存中应用的总路由信息和应用的版本信息;
步骤S306:基于散列表数据存储结构格式,将本地缓存中总路由信息存储至路由信息仓库中。
图4是根据本发明实施例的路由跳转的框架的结构示意图。如图4所示,本发明的路由跳转框架的结构可以包括:自定义注解单元、编译单元和应用程序接口单元。
自定义注解单元用于定义不同类型的注解。本发明中自定义注解单元,即自定义Annotation单元,自定义了三种类型的注解,分别为:
(1)路由数据注解Autowired,在不同组件携带数据进行跳转时,目标界面对传递到本界面以键值对数据结构格式的Key值进行标注,表明目标界面需要获取到此Key值对应的Value数据,其中携带数据的载体可以为安卓系统中的Bundle,解析数据可以为谷歌提供的开源库Gson;
(2)路由拦截注解Interceptor,即对界面跳转是否需要进行路由 拦截进行标注;
(3)路由标注注解Route,即对组件中的界面进行路由标注,只有标注了此注解,才能使用本发明的路由跳转框架进行路由跳转。
编译单元,即Compiler单元,用于对自定义注解单元中的注解进行编译处理,并生成编程语言文件。由于Compiler单元对应自定义Annotation单元,因此Compiler单元包括三个注解处理器,分别为:路由数据注解处理器AutowiredProcessor,用于对@Autowired注解进行处理;路由拦截注解处理器InterceptorProcessor,用于对@Interceptor注解进行处理;路由标注注解处理器RouteProcessor,用于对@Route注解进行处理。
应用程序接口单元,即API单元,用于根据编译单元生成的编程语言文件实现路由跳转。本发明中API单元包含以下关键类:
(1)JRouter,对外暴露实现组件路由跳转的统一接口,此类为单例设计模式;
(2)ControlCenter,控制路由跳转逻辑中心,包括路由跳转容错处理,路由丢失降级处理等;
(3)Warehouse,路由信息仓库;
(4)IRouteRoot,加载路由地址进入路由信息仓库,在编译时会通过APT在工程目录build目录生成实现此接口的Java文件;
(5)IRouteGroup,根据路由地址进行分组,在编译时会通过APT在工程目录build目录下生成实现此接口的Java文件,接口实现逻辑调用Warehouse中哈希表HashMap存储分组地址,例如路由地址为“/login/otp”和“/login/register”,这两个地址都属于“login”这个分组,通常分组名称与根据业务功能划分的组件名相关;
(6)IInterceptor,根据业务逻辑实现路由拦截接口;
(7)IProvider,当组件需要暴露服务接口给其他组件时,需要继承此类;
(8)Thread Pool,线程池,处理耗时任务;
(9)RouteMeta,定义路由相关信息;
(10)UniqueKeyTreeMap,用来规范路由地址,具有唯一性;
(11)ClassUtils,主要用来实现通过指定包名,扫描包下面包含的所有的ClassName。
根据本发明实施例的路由跳转的技术方案可以看出,能够根据接收的跳转请求,获取路由跳转类型和路由跳转地址,完成到目标界面的跳转,从而可以实现多种类型的界面跳转,保证应用的稳定性和扩展性;本发明实施例中首先判断路由信息仓库中是否存在跳转请求对应的路由信息,从而可以减少路由跳转的时间,提高路由跳转的效率;本发明实施例中在获取路由信息之前,验证应用的版本信息,从而可以保证路由信息的有效性和实时性;本发明实施例中将路由信息存储在路由信息仓库中,从而可以实现将本地文件存储转换为内存缓存,加快路由信息的获取速度;本发明实施例中对生成的路由信息进行加密,然后存储加密后的路由信息,从而可以提高路由信息的安全性;本发明实施例中按照预设的规则进行拦截处理,从而可以提高路由跳转方法的有效性和实用性;本发明实施例中根据不同的路由跳转类型,制定不同的跳转规则,从而可以实现不同类型的界面跳转。
图5是根据本发明实施例的路由跳转的装置的主要模块的示意图。如图5所示,本发明的路由跳转的装置500主要包括如下模块:获取模块501、确定模块502和跳转模块503。
其中,获取模块501可用于接收跳转至目标界面的跳转请求,并根据接收的跳转请求获取其对应的路由信息,其中,路由信息可以包括路由地址信息和路由跳转类型。确定模块502可用于根据路由跳转类型,确定跳转请求对应的路由跳转规则。跳转模块503可用于根据路由地址信息和路由跳转规则,跳转至目标界面。
本发明实施例中,获取模块501还可用于:判断路由信息仓库中 是否包括跳转请求对应的路由信息,若是,则从路由信息仓库中获取跳转请求对应的路由信息,否则,拒绝跳转请求。
本发明实施例中,获取模块501还可用于:根据本地缓存中的版本信息,判断目标界面所属的应用是否为新版本或者开发者版本,若是,则更新本地缓存中应用的总路由信息和应用的版本信息;基于散列表数据存储结构格式,将本地缓存中总路由信息存储至路由信息仓库中。
本发明实施例中,获取模块501还可用于:针对应用中通过路由框架控制的界面,分别对每个界面进行路由标注,然后对已标注的界面进行编译处理,生成界面的路由信息;根据界面的路由信息,合成应用的总路由信息;对总路由信息进行加密,并将加密后的总路由信息和应用的版本信息存储至本地缓存中。
本发明实施例中,路由信息可以包括:路由拦截信息。确定模块502还可用于:根据路由拦截信息,按照预设的优先级规则执行拦截处理,若拦截处理不通过,则拒绝跳转请求。
本发明实施例中,路由跳转类型可以包括以下各项中至少一项:界面跳转类型、实例获取类型或调用接口类型。
本发明实施例中,确定模块502还可用于:若路由跳转类型是界面跳转类型,则路由跳转规则是调用系统的应用程序接口或者是基于编程语言的反射技术获取类实例对象;若路由跳转类型是实例获取类型,则路由跳转规则是基于编程语言的反射技术获取类实例对象;若路由跳转类型是调用接口类型,则路由跳转规则是通过路由框架暴露的接口。
从以上描述可以看出,能够根据接收的跳转请求,获取路由跳转 类型和路由跳转地址,完成到目标界面的跳转,从而可以实现多种类型的界面跳转,保证应用的稳定性和扩展性;本发明实施例中首先判断路由信息仓库中是否存在跳转请求对应的路由信息,从而可以减少路由跳转的时间,提高路由跳转的效率;本发明实施例中在获取路由信息之前,验证应用的版本信息,从而可以保证路由信息的有效性和实时性;本发明实施例中将路由信息存储在路由信息仓库中,从而可以实现将本地文件存储转换为内存缓存,加快路由信息的获取速度;本发明实施例中对生成的路由信息进行加密,然后存储加密后的路由信息,从而可以提高路由信息的安全性;本发明实施例中按照预设的规则进行拦截处理,从而可以提高路由跳转方法的有效性和实用性;本发明实施例中根据不同的路由跳转类型,制定不同的跳转规则,从而可以实现不同类型的界面跳转。
图6示出了可以应用本发明实施例的路由跳转的方法或路由跳转的装置的示例性系统架构600。
如图6所示,系统架构600可以包括终端设备601、602、603,网络604和服务器605。网络604用以在终端设备601、602、603和服务器605之间提供通信链路的介质。网络604可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备601、602、603通过网络604与服务器605交互,以接收或发送消息等。终端设备601、602、603上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
终端设备601、602、603可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器605可以是提供各种服务的服务器,例如对用户利用终端设备601、602、603所浏览的购物类网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的产品信息查询请求等数据进行分析等处理,并将处理结果(例如目标推送信息、产品信息--仅为示例)反馈给终端设备。
需要说明的是,本发明实施例所提供的路由跳转的方法一般由服务器605执行,相应地,路由跳转的装置一般设置于服务器605中。
应该理解,图6中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
下面参考图7,其示出了适于用来实现本发明实施例的终端设备的计算机系统700的结构示意图。图7示出的终端设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图7所示,计算机系统700包括中央处理单元(CPU)701,其可以根据存储在只读存储器(ROM)702中的程序或者从存储部分708加载到随机访问存储器(RAM)703中的程序而执行各种适当的动作和处理。在RAM 703中,还存储有系统700操作所需的各种程序和数据。CPU 701、ROM 702以及RAM 703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
以下部件连接至I/O接口705:包括键盘、鼠标等的输入部分706;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分707;包括硬盘等的存储部分708;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分709。通信部分709经由诸如因特网的网络执行通信处理。驱动器710也根据需要连接至I/O接口705。可拆卸介质711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器710上,以便于从其上读出的计算机程序根据需要 被安装入存储部分708。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分709从网络上被下载和安装,和/或从可拆卸介质711被安装。在该计算机程序被中央处理单元(CPU)701执行时,执行本发明的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括获取模块、确定模块和跳转模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,获取模块还可以被描述为“接收跳转至目标界面的跳转请求,并根据跳转请求获取跳转请求对应的路由信息的模块”。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:接收跳转至目标界面的跳转请求,并根据跳转请求获取跳转请求对应的路由信息,路由信息包括路由地址信息和路由跳转类型;根据路由跳转类型,确定跳转请求对应的路由跳转规则;根据路由地址信息和路由跳转规则,跳转至目标界面。
根据本发明实施例的技术方案,能够根据接收的跳转请求,获取路由跳转类型和路由跳转地址,完成到目标界面的跳转,从而可以实 现多种类型的界面跳转,保证应用的稳定性和扩展性;本发明实施例中首先判断路由信息仓库中是否存在跳转请求对应的路由信息,从而可以减少路由跳转的时间,提高路由跳转的效率;本发明实施例中在获取路由信息之前,验证应用的版本信息,从而可以保证路由信息的有效性和实时性;本发明实施例中将路由信息存储在路由信息仓库中,从而可以实现将本地文件存储转换为内存缓存,加快路由信息的获取速度;本发明实施例中对生成的路由信息进行加密,然后存储加密后的路由信息,从而可以提高路由信息的安全性;本发明实施例中按照预设的规则进行拦截处理,从而可以提高路由跳转方法的有效性和实用性;本发明实施例中根据不同的路由跳转类型,制定不同的跳转规则,从而可以实现不同类型的界面跳转。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (16)
- 一种路由跳转的方法,其特征在于,包括:接收跳转至目标界面的跳转请求,并根据所述跳转请求获取所述跳转请求对应的路由信息,所述路由信息包括路由地址信息和路由跳转类型;根据所述路由跳转类型,确定所述跳转请求对应的路由跳转规则;根据所述路由地址信息和所述路由跳转规则,跳转至所述目标界面。
- 根据权利要求1所述的方法,其特征在于,在获取所述跳转请求对应的路由信息之前,所述方法包括:判断路由信息仓库中是否包括所述跳转请求对应的路由信息,若是,则从所述路由信息仓库中获取所述跳转请求对应的路由信息,否则,拒绝所述跳转请求。
- 根据权利要求2所述的方法,其特征在于,在判断路由信息仓库中是否包括所述跳转请求对应的路由信息之前,所述方法还包括:根据本地缓存中的版本信息,判断所述目标界面所属的应用是否为新版本或者开发者版本,若是,则更新所述本地缓存中所述应用的总路由信息和所述应用的版本信息;基于散列表数据存储结构格式,将所述本地缓存中所述总路由信息存储至所述路由信息仓库中。
- 根据权利要求3所述的方法,其特征在于,在根据本地缓存中的版本信息,判断所述目标界面所属的应用是否为新版本或者开发者版本之前,所述方法还包括:针对所述应用中通过路由框架控制的界面,分别对每个所述界面进行路由标注,然后对已标注的界面进行编译处理,生成所述界面的路由信息;根据所述界面的路由信息,合成所述应用的总路由信息;对所述总路由信息进行加密,并将加密后的所述总路由信息和所述应用的版本信息存储至所述本地缓存中。
- 根据权利要求1所述的方法,其特征在于,所述路由信息包括:路由拦截信息;以及在获取所述跳转请求对应的路由信息之后,所述方法还包括:根据路由拦截信息,按照预设的优先级规则执行拦截处理,若拦截处理不通过,则拒绝所述跳转请求。
- 根据权利要求1所述的方法,其特征在于,所述路由跳转类型包括以下各项中至少一项:界面跳转类型、实例获取类型或调用接口类型。
- 根据权利要求6所述的方法,其特征在于,若所述路由跳转类型是界面跳转类型,则所述路由跳转规则是调用系统的应用程序接口或者是基于编程语言的反射技术获取类实例对象;若所述路由跳转类型是实例获取类型,则所述路由跳转规则是基于编程语言的反射技术获取类实例对象;若所述路由跳转类型是调用接口类型,则所述路由跳转规则是通过路由框架暴露的接口。
- 一种路由跳转的装置,其特征在于,包括:获取模块,用于接收跳转至目标界面的跳转请求,并根据所述跳转请求获取所述跳转请求对应的路由信息,所述路由信息包括路由地址信息和路由跳转类型;确定模块,用于根据所述路由跳转类型,确定所述跳转请求对应的路由跳转规则;跳转模块,用于根据所述路由地址信息和所述路由跳转规则,跳 转至所述目标界面。
- 根据权利要求8所述的装置,其特征在于,所述获取模块还用于:判断路由信息仓库中是否包括所述跳转请求对应的路由信息,若是,则从所述路由信息仓库中获取所述跳转请求对应的路由信息,否则,拒绝所述跳转请求。
- 根据权利要求9所述的装置,其特征在于,所述获取模块还用于:根据本地缓存中的版本信息,判断所述目标界面所属的应用是否为新版本或者开发者版本,若是,则更新所述本地缓存中所述应用的总路由信息和所述应用的版本信息;基于散列表数据存储结构格式,将所述本地缓存中所述总路由信息存储至所述路由信息仓库中。
- 根据权利要求10所述的装置,其特征在于,所述获取模块还用于:针对所述应用中通过路由框架控制的界面,分别对每个所述界面进行路由标注,然后对已标注的界面进行编译处理,生成所述界面的路由信息;根据所述界面的路由信息,合成所述应用的总路由信息;对所述总路由信息进行加密,并将加密后的所述总路由信息和所述应用的版本信息存储至所述本地缓存中。
- 根据权利要求8所述的装置,其特征在于,所述路由信息包括:路由拦截信息;以及所述确定模块还用于:根据路由拦截信息,按照预设的优先级规则执行拦截处理,若拦截处理不通过,则拒绝所述跳转请求。
- 根据权利要求8所述的装置,其特征在于,所述路由跳转类型包括以下各项中至少一项:界面跳转类型、实例获取类型或调用接口类型。
- 根据权利要求13所述的装置,其特征在于,所述确定模块还用于:若所述路由跳转类型是界面跳转类型,则所述路由跳转规则是调用系统的应用程序接口或者是基于编程语言的反射技术获取类实例对象;若所述路由跳转类型是实例获取类型,则所述路由跳转规则是基于编程语言的反射技术获取类实例对象;若所述路由跳转类型是调用接口类型,则所述路由跳转规则是通过路由框架暴露的接口。
- 一种电子设备,其特征在于,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的方法。
- 一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-7中任一所述的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810783413.X | 2018-07-17 | ||
CN201810783413.XA CN108897612A (zh) | 2018-07-17 | 2018-07-17 | 路由跳转的方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2020015562A1 true WO2020015562A1 (zh) | 2020-01-23 |
Family
ID=64349683
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2019/095379 WO2020015562A1 (zh) | 2018-07-17 | 2019-07-10 | 路由跳转的方法和装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN108897612A (zh) |
WO (1) | WO2020015562A1 (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108897612A (zh) * | 2018-07-17 | 2018-11-27 | 北京京东金融科技控股有限公司 | 路由跳转的方法和装置 |
CN110308958B (zh) * | 2019-05-08 | 2023-01-31 | 北京字节跳动网络技术有限公司 | 组件跳转方法、装置、电子设备和存储介质 |
CN110347942A (zh) * | 2019-05-31 | 2019-10-18 | 深圳壹账通智能科技有限公司 | 页面跳转方法、装置、存储介质及计算机设备 |
CN110262797A (zh) * | 2019-06-10 | 2019-09-20 | 杭州米络星科技(集团)有限公司 | 一种应用模块化及路由跳转方法 |
CN112541136B (zh) * | 2019-09-23 | 2024-02-13 | 北京国双科技有限公司 | 网络地址信息的获取方法、装置、存储介质和电子设备 |
CN111367590A (zh) * | 2020-02-27 | 2020-07-03 | 北京字节跳动网络技术有限公司 | 中断事件处理方法及其装置 |
CN111538530A (zh) * | 2020-04-29 | 2020-08-14 | 中国银行股份有限公司 | 页面跳转方法及系统、存储介质及电子设备 |
CN112649000A (zh) * | 2020-11-30 | 2021-04-13 | 沈阳美行科技有限公司 | 安卓系统的导航系统和导航方法 |
CN113434233B (zh) * | 2021-06-28 | 2023-10-24 | 青岛海尔科技有限公司 | 界面跳转方法、装置、存储介质及电子装置 |
CN113726610B (zh) * | 2021-08-31 | 2023-08-08 | 中国平安人寿保险股份有限公司 | 基于路由协议的ui自动化测试方法、装置、设备及介质 |
CN113986089A (zh) * | 2021-10-25 | 2022-01-28 | 北京有竹居网络技术有限公司 | 禁止页面跳转方法及设备 |
CN116192787A (zh) * | 2022-12-15 | 2023-05-30 | 欧冶云商股份有限公司 | 一种路由的管理方法、装置、设备和存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150046931A1 (en) * | 2013-08-07 | 2015-02-12 | Samsung Electronics Co., Ltd. | Apparatus and method for controlling a system call in a portable terminal |
CN107729106A (zh) * | 2017-10-09 | 2018-02-23 | 北京京东尚科信息技术有限公司 | 一种在应用程序组件间实现快速跳转的方法和装置 |
CN107748690A (zh) * | 2017-10-30 | 2018-03-02 | 深圳Tcl新技术有限公司 | 应用跳转方法、装置和计算机存储介质 |
CN107918562A (zh) * | 2016-10-11 | 2018-04-17 | 北京京东尚科信息技术有限公司 | 一种统一接口管理方法和系统 |
CN108897612A (zh) * | 2018-07-17 | 2018-11-27 | 北京京东金融科技控股有限公司 | 路由跳转的方法和装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8505013B2 (en) * | 2010-03-12 | 2013-08-06 | Lsi Corporation | Reducing data read latency in a network communications processor architecture |
CN106815276B (zh) * | 2015-11-27 | 2020-06-16 | 阿里巴巴集团控股有限公司 | 页面跳转方法及装置 |
CN105955723B (zh) * | 2016-04-21 | 2019-03-15 | 人人行科技股份有限公司 | 移动端的跨平台应用处理方法和装置 |
CN107659438A (zh) * | 2017-09-18 | 2018-02-02 | 上海斐讯数据通信技术有限公司 | 一种路由器配置功能页面跳转方法和系统 |
CN108134812B (zh) * | 2017-11-10 | 2021-01-05 | 人人行科技股份有限公司 | 数据处理方法和装置 |
-
2018
- 2018-07-17 CN CN201810783413.XA patent/CN108897612A/zh active Pending
-
2019
- 2019-07-10 WO PCT/CN2019/095379 patent/WO2020015562A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150046931A1 (en) * | 2013-08-07 | 2015-02-12 | Samsung Electronics Co., Ltd. | Apparatus and method for controlling a system call in a portable terminal |
CN107918562A (zh) * | 2016-10-11 | 2018-04-17 | 北京京东尚科信息技术有限公司 | 一种统一接口管理方法和系统 |
CN107729106A (zh) * | 2017-10-09 | 2018-02-23 | 北京京东尚科信息技术有限公司 | 一种在应用程序组件间实现快速跳转的方法和装置 |
CN107748690A (zh) * | 2017-10-30 | 2018-03-02 | 深圳Tcl新技术有限公司 | 应用跳转方法、装置和计算机存储介质 |
CN108897612A (zh) * | 2018-07-17 | 2018-11-27 | 北京京东金融科技控股有限公司 | 路由跳转的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN108897612A (zh) | 2018-11-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020015562A1 (zh) | 路由跳转的方法和装置 | |
US10387750B2 (en) | Supporting manifest list for multi-platform application container images | |
US10601900B2 (en) | Supporting distributed ledgers in a micro-services environment | |
US11403117B2 (en) | Methods for processing mini program, and related devices | |
US20180295194A1 (en) | Techniques for supporting remote micro-services as native functions in spreadsheet applications | |
US10592312B2 (en) | Message oriented middleware with integrated rules engine | |
WO2020063252A1 (zh) | 一种实现多版本依赖隔离的方法和装置 | |
US20090300138A1 (en) | Using Distributed Aspects to Reorder Online Application Workflows | |
CN110765187A (zh) | 一种数据源路由管理方法和装置 | |
US8103607B2 (en) | System comprising a proxy server including a rules engine, a remote application server, and an aspect server for executing aspect services remotely | |
US11263186B2 (en) | System and method for customized graphQL data-handling scripts | |
US9696973B1 (en) | Compilation cache with imports scanner | |
CN110865889A (zh) | 组件间传递事件的方法和装置 | |
CN114900448B (zh) | 一种微服务网关流量管理方法、装置和电子设备 | |
JP2016100003A (ja) | ソフトウェア試験コードの生成方法及びコンピュータ可読ストレージ媒体 | |
CN110928571A (zh) | 业务程序开发方法和装置 | |
WO2024152665A1 (zh) | 代码构建方法、装置、计算机设备及存储介质 | |
US20140157227A1 (en) | Method and system for preserving restful web service structure in a client consuming the restful web service | |
CN112835568A (zh) | 一种项目构建方法和装置 | |
KR20210122212A (ko) | 이더리움 가상머신의 트랜잭션 처리 방법, 장치, 설비, 프로그램 및 매체 | |
CN112416395A (zh) | 一种热修复更新方法和装置 | |
US9398041B2 (en) | Identifying stored vulnerabilities in a web service | |
WO2024001240A1 (zh) | 多种技术栈的任务集成方法及装置 | |
WO2023083071A1 (zh) | 视图交互方法、装置、电子设备及计算机可读介质 | |
CN113032004A (zh) | 在开发环境中管理开发作业的方法、设备和程序产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 19837238 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 19837238 Country of ref document: EP Kind code of ref document: A1 |