CN110688180B - 前端系统、前端数据流控制方法、电子设备及存储介质 - Google Patents
前端系统、前端数据流控制方法、电子设备及存储介质 Download PDFInfo
- Publication number
- CN110688180B CN110688180B CN201910830804.7A CN201910830804A CN110688180B CN 110688180 B CN110688180 B CN 110688180B CN 201910830804 A CN201910830804 A CN 201910830804A CN 110688180 B CN110688180 B CN 110688180B
- Authority
- CN
- China
- Prior art keywords
- interface
- data
- store
- model
- module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
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/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- 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/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供一种前端系统、前端数据流控制方法、电子设备及存储介质,前端系统,包括视图模块,用于在接收到触发时通知接口管理模块根据所触发的应用、模型和功能调用相应的后端接口;以及用于在数据存储模型和状态模块中所保存的数据发生变化时,根据所改变的数据产生相应的视图变化。接口管理模块用于根据视图模块所触发的应用、模型和功能调用相应的后端接口,并将后端接口返回的数据上报给数据存储模型和状态模块进行保存。其中接口管理模块预先按应用、模型、功能的层级关系定义各后端接口。这样在进行接口调用时,不需要针对每一个的后端接口分别编写相应的Action,实现更为简单,效率更高。
Description
技术领域
本申请涉及信息技术领域,具体而言,涉及一种前端系统、前端数据流控制方法、电子设备及存储介质。
背景技术
随着前端技术近几年的快速发展,Web前端技术开发框架的应用越来越广泛。目前比较流行的Web前端技术开发框架是React结合Redux。在React结合Redux的框架下,需要为每一个调用的后端接口分别编写相应的Action和Store&State(数据存储模型和状态),这就使得目前在实现Web前端页面对后端接口的调用时,不但代码复杂,效率低下。
发明内容
本申请实施例的目的在于提供一种前端系统、前端数据流控制方法、电子设备及存储介质,用以解决相关技术会导致在在实现Web前端页面对后端接口的调用时,不但代码复杂,效率低下的问题。
本申请实施例提供了一种前端系统,包括:View模块,用于在接收到触发时,通知接口管理模块根据所触发的应用、模型,或应用、模型和功能调用相应的后端接口;以及用于在Store&State模块中所保存的数据发生变化时,根据所改变的数据产生相应的视图变化;所述接口管理模块用于根据所述View模块所触发的应用、模型和功能调用相应的后端接口,并将所述后端接口返回的数据上报给所述Store&State模块,以将所述数据按照所述后端接口对应的数据保存结构保存在所述Store&State模块中;所述接口管理模块预先按应用、模型,或应用、模型、功能的层级关系定义各后端接口;所述Store&State模块内预先定义有各所述后端接口对应的数据保存结构。
在上述实现过程中,接口管理模块预先按应用、模型,或应用、模型、功能的层级关系定义各后端接口,这样在进行接口调用时,不需要针对每一个的后端接口分别编写相应的Action(用于确定并调用所需调用的后端接口),直接依据View模块所触发的应用、模型,或应用、模型和功能,即可从定义好的层级关系中确定出所需调用的后端接口,实现更为简单,效率更高。
进一步地,所述前端系统还包括:缩减器Reducer模块,用于与所述接口管理模块连接,以接收所述接口管理模块上报的所述后端接口返回的数据,并对所述数据进行处理得到符合所述Store&State模块定义的所述后端接口对应的数据保存结构的数据;所述Reducer模块还用于将处理后的所述后端接口返回的数据发送到所述Store&State模块中,以按照所述后端接口对应的数据保存结构进行保存。
在上述实现过程中,由Reducer模块来对后端接口返回的数据进行处理,得到符合Store&State模块定义的所述后端接口对应的数据保存结构的数据,进而保存在Store&State模块中,实现简单。
进一步地,所述Store&State模块预先按模型、方法,或模型、功能、方法的层级关系定义各所述后端接口返回的数据的保存结构。
在本申请实施例中,可以为每一个应用分别设计一个Store&State模块,各Store&State模块预先按模型、方法,或模型、功能、方法的层级关系定义该应用对应的各后端接口所返回的数据的保存结构。这样在进行数据保存时,按预设的具有模型、方法,或模型、功能、方法的层级关系的保存结构进行数据保存即可,不需要针对每一个后端接口分别编写相应的Store&State(数据存储模型和状态),实现更为简单,效率更高。
进一步地,所述Store&State模块预先按应用、模型、方法,或应用、模型、功能、方法的层级关系定义各所述后端接口返回的数据的保存结构。
在本申请实施例中,Store&State模块可以预先按应用、模型、方法,或应用、模型、功能、方法的层级关系定义各后端接口所返回的数据的保存结构。这样在进行数据保存时,按预设的具有应用、模型、功能、方法的层级关系的保存结构进行数据保存即可,不需要针对每一个后端接口分别编写相应的Store&State,实现更为简单,效率更高。
本申请实施例还提供了一种前端系统,包括:View模块,用于在接收到触发时,通知接口管理模块调用后端接口;以及用于在Store&State模块中所保存的数据发生变化时,根据所改变的数据产生相应的视图变化;所述接口管理模块用于调用后端接口,并将所述后端接口返回的数据上报给所述Store&State模块,以将所述数据按照所述后端接口对应的数据保存结构保存在所述Store&State模块中;所述Store&State模块内预先按预设的层级关系定义有各所述后端接口返回的数据的保存结构。
在上述实现过程中,Store&State模块内预先按预设的层级关系定义有各后端接口返回的数据的保存结构,这样在进行数据保存时,不需要针对每一个后端接口分别编写相应的Store&State(数据存储模型和状态),直接依据View模块所触发的层级关系,即可对后端接口返回的数据进行保存,实现更为简单,效率更高。
进一步地,所述前端系统还包括:缩减器Reducer模块,用于与所述接口管理模块连接,以接收所述接口管理模块上报的所述后端接口返回的数据,并对所述数据进行处理得到符合所述Store&State模块定义的所述后端接口对应的数据保存结构的数据;所述Reducer模块还用于将处理后的所述后端接口返回的数据发送到所述Store&State模块中,以按照所述后端接口对应的数据保存结构进行保存。
在上述实现过程中,由Reducer模块来对后端接口返回的数据进行处理,得到符合Store&State模块定义的所述后端接口对应的数据保存结构的数据,进而保存在Store&State模块中,实现简单。
进一步地,所述Store&State模块预先按模型、方法,或模型、功能、方法的层级关系定义各所述后端接口返回的数据的保存结构;或,所述Store&State模块预先按应用、模型、方法,或应用、模型、功能、方法的层级关系定义各所述后端接口返回的数据的保存结构。
在本申请实施例中,可以为每一个应用分别设计一个Store&State模块,各Store&State模块预先按模型、方法,或模型、功能、方法的层级关系定义该应用对应的各后端接口所返回的数据的保存结构。在本申请实施例中,也可以为多个或所有应用设计一个Store&State模块,Store&State模块可以预先按应用、模型、方法,或应用、模型、功能、方法的层级关系定义各后端接口所返回的数据的保存结构。这样在进行数据保存时,按预设的具有相应层级关系的保存结构进行数据保存即可,不需要针对每一个后端接口分别编写相应的Store&State,实现更为简单,效率更高。
本申请实施例还提供了一种前端数据流控制方法,应用于接口管理模块中,包括:在视图接收到触发时,根据所触发的应用、模型和功能,按照预先定义的各后端接口对应的应用、模型、功能的层级关系,调用相应的后端接口;或,在视图接收到触发时,根据所触发的应用、模型,按照预先定义的各后端接口对应的应用、模型的层级关系,调用相应的后端接口;将所述后端接口返回的数据上报给Store&State模块,以将所述数据按照所述后端接口对应的数据保存结构保存在所述Store&State模块中。
在上述实现过程中,接口管理模块在视图接收到触发时,根据所触发的应用、模型和功能,或所触发的应用、模型,按照预先定义的各后端接口对应的层级关系,调用相应的后端接口,进而将后端接口返回的数据上报给Store&State模块,以将数据按照后端接口对应的数据保存结构保存在Store&State模块中。这样在进行接口调用时,不需要针对每一个的后端接口分别编写相应的Action,直接依据View模块所触发的应用、模型和功能,即可从定义好的层级关系中确定出所需调用的后端接口,实现更为简单,效率更高。
进一步的,所述将所述后端接口返回的数据上报给Store&State模块包括:将所述后端接口返回的数据发送给缩减器Reducer,以供所述Reducer在对所述后端接口返回的数据进行处理得到符合所述Store&State模块定义的所述后端接口对应的数据保存结构的数据后,将处理后的所述后端接口返回的数据发送给所述Store&State模块;所述将所述数据按照所述后端接口对应的数据保存结构保存在所述Store&State模块中包括:所述将处理后的所述后端接口返回的数据按照所述后端接口对应的数据保存结构保存在所述Store&State模块中。
在上述实现过程中,由Reducer来对后端接口返回的数据进行处理,得到符合Store&State模块定义的所述后端接口对应的数据保存结构的数据,进而保存在Store&State模块中,整个过程实现简单,具有较高的实现价值。
进一步的,所述Store&State模块中预先按模型、方法,或模型、功能、方法的层级关系定义有各所述后端接口返回的数据的保存结构;或,所述Store&State模块中预先按应用、模型、方法,或应用、模型、功能、方法的层级关系定义有各所述后端接口返回的数据的保存结构。
在本申请实施例中,可以为每一个应用分别设计一个Store&State模块,各Store&State模块预先按模型、功能、方法的层级关系定义该应用对应的各后端接口所返回的数据的保存结构。在本申请实施例中,也可以为多个或所有应用设计一个Store&State模块,Store&State模块可以预先按应用、模型、功能、方法的层级关系定义各后端接口所返回的数据的保存结构。这样在进行数据保存时,按预设的具有相应层级关系的保存结构进行数据保存即可,不需要针对每一个的后端接口分别编写相应的Store&State,实现更为简单,效率更高。
本申请实施例还提供了一种前端数据流控制方法,应用于缩减器Reducer中,包括:在接收到后端接口返回给接口管理模块的数据时,对所述后端接口返回的数据进行处理,得到符合Store&State模块定义的所述后端接口对应的数据保存结构的数据;将处理后的所述后端接口返回的数据按照所述后端接口对应的数据保存结构保存在所述Store&State模块中;所述Store&State模块内预先按预设的层级关系定义有各所述后端接口返回的数据的保存结构。
在上述实现过程中,Store&State模块内预先按预设的层级关系定义有各后端接口返回的数据的保存结构,这样在进行数据保存时,不需要针对每一个的后端接口分别编写相应的Store&State,直接依据View模块所触发的层级关系,即可对后端接口返回的数据进行保存,实现更为简单,效率更高。
进一步的,所述Store&State模块内预先按预设的层级关系定义有各所述后端接口返回的数据的保存结构包括:所述Store&State模块中预先按模型、方法,或模型、功能、方法的层级关系定义有各所述后端接口返回的数据的保存结构;或,所述Store&State模块中预先按应用、模型、方法,或应用、模型、功能、方法的层级关系定义有各所述后端接口返回的数据的保存结构。
在本申请实施例中,可以为每一个应用分别设计一个Store&State模块,各Store&State模块预先按模型、方法,或模型、功能、方法的层级关系定义该应用对应的各后端接口所返回的数据的保存结构。在本申请实施例中,也可以为多个或所有应用设计一个Store&State模块,Store&State模块可以预先按应用、模型、方法,或应用、模型、功能、方法的层级关系定义各后端接口所返回的数据的保存结构。这样在进行数据保存时,按预设的具有相应层级关系的保存结构进行数据保存即可,不需要针对每一个的后端接口分别编写相应的Store&State,实现更为简单,效率更高。
本申请实施例还提供了一种电子设备,包括处理器、存储器及通信总线;所述通信总线用于实现处理器和存储器之间的连接通信;所述处理器用于执行存储器中存储的一个或者多个第一程序,以实现上述第一种的前端数据流控制方法的步骤;或,所述处理器用于执行存储器中存储的一个或者多个第二程序,以实现上述第二种的前端数据流控制方法的步骤。
本申请实施例中还提供了一种可读存储介质,所述可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现上述第一种的前端数据流控制方法的步骤,或实现上述第二种的前端数据流控制方法的步骤。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种前端系统调用后端接口的示意图;
图2为本申请实施例提供的一种较具体的前端系统调用后端接口的示意图;
图3为本申请实施例提供的一种应用于接口管理模块中的前端数据流控制方法的流程示意图;
图4为本申请实施例提供的一种应用于Reducer中的前端数据流控制方法的流程示意图;
图5为本申请实施例提供的一种较具体的前端系统调用后端接口的示意图;
图6为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
实施例一:
请参见图1所示,图1为本申请实施例提供的一种可行的前端系统的结构示意图,前端系统包括:View(视图)模块、接口管理模块和Store&State(数据存储模型和状态)模块。其中:
View模块用于在接收到触发时,通知接口管理模块根据所触发的App(应用)、Model(模型),或App、Model和Function(功能)调用相应的后端接口。
接口管理模块用于根据所述View模块所触发的App、Model,或App、Model和Function调用相应的后端接口,并将所述后端接口返回的数据上报给Store&State模块,以将数据按照后端接口对应的数据保存结构保存在Store&State模块中。
需要说明的是,在实际应用中,App可以看成是由多个Model(某些文献中也称业务逻辑层)构成的,而每个Model可以具有一个或多个Function。还需要说明的是,在实际应用中,某些APP下的Model也可以不定义Function,例如在compute(一种具体的App)下的images(一种具体的Model)即不需要定义Function。Model下是否需要定义Function可以由工程师根据实际App需要决定。
在本申请实施例中,接口管理模块预先按App、Model,或App、Model、Function的层级关系定义各后端接口。
View模块在接收到触发时,即可以通知接口管理模块被触发的是哪个App的哪个Model中的哪一个Function,或通知接口管理模块被触发的是哪个App的哪个Model,进而依据App、Model、Function的层级关系,或依据App、Model的层级关系,确定出被触发的那一个Function或Model下对应的后端接口,确定出的后端接口即为需调用的后端接口。在本申请实施例中,在按App、Model,或App、Model、Function的层级关系定义各后端接口时,可以在末端层级(按App、Model的层级关系定义时,末端层级即为“Model”,按App、Model、Function的层级关系定义时,末端层级即为“Function”)下记录对应的后端接口的标识信息,如接口名、后端接口的URL(Uniform Resource Locator,统一资源定位符)等,从而便于调用相应的后端接口。
在本申请实施例中,接口管理模块可以预先按App、Model,或App、Model、Function的层级关系定义各后端接口,而Store&State模块内可以预先定义有各后端接口对应的数据保存结构。这样在进行接口调用时,不需要针对每一个的后端接口分别编写相应的Action,直接依据View模块所触发的App、Model,或App、Model和Function,即可从定义好的层级关系中确定出所需调用的后端接口,实现更为简单,效率更高。
还需要说明的是,通常而言,后端接口返回的数据所包含的信息较多,并不是所有的信息都是需要的,且通常而言后端接口返回的数据的数据结构和Store&State模块所要求的保存结构也是不同的,因此需要对后端接口返回的数据进行处理。在本申请实施例中,参见图2所示,前端系统还可以包括Reducer(缩减器)模块,用于与接口管理模块连接,以接收接口管理模块上报的后端接口返回的数据,并对该数据进行处理得到符合Store&State模块定义的后端接口对应的数据保存结构的数据。
Reducer模块还用于将处理后的后端接口返回的数据发送到Store&State模块中,以按照后端接口对应的数据保存结构进行保存。
为更好的理解本申请实施例的方案,下面针对接口管理模块中的处理过程进行描述,可以参见图3所示,包括:
S301:接口管理模块在View模块接收到触发时,根据所触发的App、Model,或App、Model和Function,按照预先定义的各后端接口对应的App、Model,或App、Model、Function的层级关系,调用相应的后端接口。
需要说明的是,对于一个Model下没有定义Function时,View模块接收到的触发只会到达“Model”这一层级,此时按照预先定义的各后端接口对应的App、Model的层级关系,调用相应的后端接口。而在Model下定义有Function时,View模块接收到的触发会到达“Function”这一层级,此时按照预先定义的各后端接口对应的App、Model、Function的层级关系,调用相应的后端接口。
S302:将后端接口返回的数据上报给Store&State模块,以将数据按照所述后端接口对应的数据保存结构保存在Store&State模块中。
如前述前端系统的描述,在本申请实施例中,接口管理模块可以将后端接口返回的数据发送给缩减器Reducer(对应Reducer模块,是实现Reducer模块的实体),由缩减器Reducer来执行数据处理,得到符合Store&State模块定义的后端接口对应的数据保存结构的数据,并将处理后的数据按照后端接口对应的数据保存结构保存在Store&State模块中。
需要说明的是,在本申请实施例的一种可行实施方式中,也可以将Reducer模块的功能集成到Store&State模块中(例如在Store&State模块中增设Reducer函数),从而使得系统中不需要Reducer模块,而由Store&State模块直接对后端接口返回的数据进行处理并保存。
需要说明的是,Store&State模块内预先定义的各后端接口对应的数据保存结构,可以是由工程师在应用开发过程中,即针对该应用所需要用到的各后端接口分别编写相应的数据保存结构。此外,也可以在开发之前即预先按照App、Model、Method(方法),或App、Model、Function、Method的层级关系定义出各后端接口返回的数据的保存结构得到Store&State模块,从而在开发时直接采用该Store&State模块即可。当然,应当理解的是,也可以在开发之前即预先针对每一个App设计一个Store&State模块,并针对各Store&State模块预先按照Model、Method,或Model、Function、Method的层级关系定义出各后端接口返回的数据的保存结构。
值得注意的是,本申请实施例中,Store&State模块是保存数据的地方,可以把它看成一个容器。而数据的保存结构即是指数据在Store&State模块中的保存形态,也可以称为Store&State。
在本申请实施例中,Store&State模块中构建的具有多层级的保存结构,可以类似于文件夹的多层级结构。
例如按App、Model、Function、Method定义各后端接口返回的数据的保存结构时,可以将一个App对应一个文件夹,App对应的文件夹下有具有该App的各Model分别对应的文件夹,而Model对应的文件夹下具有该Model下的Function对应的文件夹,Function对应的文件夹下具有该Function对应的Method的文件夹,而各Method对应的文件夹中即用于存储相应Method对应的后端接口返回的数据,这就从存储容器的结构上实现了按照App、Model、Function、Method的层级关系定义出各后端接口返回的数据的保存结构。按App、Model、Method定义各后端接口返回的数据的保存结构时,方式与上述类似,只是Model对应的文件夹下没有了Function对应的文件夹,在此不再赘述。
又例如,可以设定对数据本身的结构要求。如按App、Model、Function、Method定义各后端接口返回的数据的保存结构时,可以要求数据头前需要加入App名、Model名、Function名和Method名,例如App名为resource,Model名为network,Function名为update,Method名为post,待存数据为A,则可以将数据resource.network.update.post.A进行保存。按App、Model、Method定义各后端接口返回的数据的保存结构,或按Model、Method定义各后端接口返回的数据的保存结构,或按Model、Function、Method定义各后端接口返回的数据的保存结构时,方式与前述类似,只是缺少了相应层级,在此不再赘述。
需要说明的是,在实际应用中,在定义各后端接口对应的层级关系时,会为各Function或各Model配置对应的接口调用方法Method。因此,在本申请实施例中,按照App->Model->Function->Method,或App->Model->Method,或Model->Function->Method,或Model->Method的层级关系预先定义各后端接口返回的数据的保存结构后,可以使得保存的各数据层级关系更清楚,便于后期管理。此外,这就相当于在进行App开发之前就预先定义好了一个标准化的Store&State模块,从而在开发时直接取用Store&State模块即可。
View模块还用于在Store&State模块中所保存的数据发生变化时,根据所改变的数据产生相应的视图变化。
需要说明的是,上述图1和图2的方案中描述了接口管理模块预先按App、Model,或App、Model、Function的层级关系定义各后端接口的方案;以及接口管理模块预先按App、Model,或App、Model、Function的层级关系定义各后端接口,同时Store&State模块内也预先按预设的层级关系定义有各后端接口返回的数据的保存结构的方案。但应当理解的是,在本申请实施例中,也可以仅在Store&State模块内预先按预设的层级关系定义有各后端接口返回的数据的保存结构,而对于接口管理模块,则可以由工程师在开发过程中,针对每一个接口都分别编写一个action来实现。这一方案这样在进行数据保存时,不需要针对每一个的后端接口分别编写相应的Store&State,直接依据View模块所触发的层级关系,即可对后端接口返回的数据进行保存,实现更为简单,效率更高。
而在仅在Store&State模块内预先按预设的层级关系定义有各后端接口返回的数据的保存结构,而对于接口管理模块,则可以由工程师在开发过程中,针对每一个接口都分别编写一个action来实现;以及在接口管理模块预先按App、Model,或App、Model、Function的层级关系定义各后端接口,同时Store&State模块内也预先按预设的层级关系定义有各后端接口返回的数据的保存结构的方案中,接口管理模块也可以是将后端接口返回的数据发送给Reducer,由Reducer进行处理后,将处理后的数据按照后端接口对应的数据保存结构保存在Store&State模块中。具体的,Reducer中的处理过程可以参见图4所示,包括:
S401:Reducer在接收到后端接口返回给接口管理模块的数据时,对后端接口返回的数据进行处理,得到符合Store&State模块定义的后端接口对应的数据保存结构的数据;
S402:将处理后的后端接口返回的数据按照后端接口对应的数据保存结构保存在Store&State模块中。
而由于Store&State模块内预先按预设的层级关系定义有各所述后端接口返回的数据的保存结构。
Store&State模块内预先按预设的层级关系定义有各后端接口返回的数据的保存结构。
需要注意的是,本申请实施例的方案可以应用于React结合Redux的前端框架下。需要说明的是,通常而言,Redux中存在有action,其可以表明App中发生了什么,并会调用相应的后端接口,但是action并不会对后端接口返回的数据进行处理,其功能相当于本申请实施例中的接口管理模块,区别在于目前相关技术中需要针对每一个接口都分别编写一个action。而本申请实施例中,则通过预先按App、Model,或App、Model、Function的层级关系定义各后端接口,从而可以根据所触发的App、Model,或App、Model和Function这一层级关系直接确定出所需调用的后端接口并进行调用,将action的功能标准化了,实现更为简单,效率更高。
在本申请实施例中,在Store&State模块某个时间点的所有数据,即可认为是一个Store&State(保存结构)下的所有数据。通常而言,每一个后端接口都需要适应性的编写一个Store&State,也即每一个后端接口都需要定义其对应的数据保存结构。
View模块对应于UI(User Interface,用户界面)中的视图层,其是与用户直接对接的一层,可接收到外部的触发信息,例如可以接收到用户点击了某个功能接口标识的信息等。还需要说明的是,Store&State模块中的数据时是与View模块关联的。Store&State模块中数据的变化会导致View模块所展示的界面内容出现变化,而View模块在接收到触发时,也会导致Store&State模块中的数据发生变化。而改变Store&State模块中的数据的唯一办法,就是使用接口管理模块或action来调用后端接口,并将后端接口的数据上报给Store&State模块。
应当理解的是,Store&State模块中必须在存入一个新的数据时,View模块所展示的界面内容才会出现变化。而计算后端接口返回的数据得到这个新的数据的过程被称之为Reducer。而Reducer模块即是用来处理后端接口返回的数据的,其本质是通过Reducer函数来处理数据。需要说明的是,Reducer模块可能会用到多个Reducer函数,因此在某些技术的表述中,会用Reducers来表征Reducer模块。本申请实施例所提供的前端系统和前端数据流控制方法,接口管理模块预先按App、Model,或App、Model、Function的层级关系定义各后端接口,这样在进行接口调用时,不需要针对每一个的后端接口分别编写相应的Action,直接依据View模块所触发的App、Model,或App、Model和Function,即可从定义好的层级关系中确定出所需调用的后端接口,实现更为简单,效率更高。
实施例二:
本实施例在实施例一的基础上,以一种较具体的前端数据流控制过程为例,为本申请做进一步示例说明。
首先,预先设置以下模块:
1、接口管理模块:按App->Model->Function或App->Model的层级关系定义后端接口。相比相关技术方案中需要为每个后端接口都要定义和配置一个Action,本申请实施例只需要一次性定义和提供一个标准化的接口管理模块即可。
2、Store&State模块:按App->Model->Function->Method或App->Model->Method的层级关系定义各后端接口对应的Store&State。相比相关技术方案中需要为每个后端接口都要定义和配置一个Store&State,本申请实施例只需要一次性定义和提供一个标准化的Store&State模块即可。
在前端系统启动时,提供一个初始值,给如图5所示的前端系统进行执行,从而初始化接口管理模块和Store&State模块。
在前端系统启动后,参见图5所示,通过Web(网页)页面触发,调用后端接口返回数据,再驱动页面产生变化的过程包括:
首先,用户在UI视图层(即图中Views)产生操作触发接口管理模块,接口管理模块依据用户操作所触发的App-Model-Function的关系或App-Model的关系,获取到相应的后端接口的URL(Uniform Resource Locator,统一资源定位符)。
然后,接口管理模块向后端服务请求调用该接口,接口被调用后返回数据。接口管理模块将后端接口返回的数据分发到Reducers。
接着,Reducers对接收到的数据进行处理,并加入app名model名function名method名的拼接值,比如加入resource.network.update.post等。然后将处理后的数据更新到Store&State模块中。
最后,Store&State模块中的数据变化驱动UI视图层显示的变化。
为了便于理解,下面以要显示云主机镜像列表的情况为例,用户通过在Web页面触发云主机镜像列表的显示接口,此时UI视图层向接口管理模块通知compute下的images被触发(compute为App,images为model),调用images下的接口url接口(用于分页获取镜像列表,从云主机创建镜像)、upload接口(用于上传镜像)、tableActions接口(用于获取镜像列表的可用性)和rowActions接口(用于获取一组镜像的操作可用性),接收各接口返回的数据给Reducers处理并加入app名(compute)model(images)名method名(post)的拼接值。将处理后的数据更新到Store&State模块中即可使得UI视图层显示出云主机镜像列表。
通过上述方案,本申请实施例提供的接口管理模块实现了后端接口的统一管理和统一调用,通过一个接口管理模块就能满足调用一切后端服务接口的需要。此外,本申请实施例提供的Store&State模块,实现了数据存储的统一管理,不需要针对每一个后端接口分别编写相应的数据存储模型和状态,实现更为简单,效率更高。
实施例三:
本实施例提供了一种电子设备,参见图6所示,其包括处理器601、存储器602以及通信总线603。其中:
通信总线603用于实现处理器601和存储器602之间的连接通信。
处理器601用于执行存储器602中存储的一个或多个第一程序,以实现上述实施例一中的应用于前述接口管理模块中的前端数据流控制方法的各步骤;
或,处理器601用于执行存储器602中存储的一个或多个第二程序,以实现上述实施例一中的应用于Reducer中的前端数据流控制方法的各步骤。
可以理解,图6所示的结构仅为示意,电子设备还可包括比图6中所示更多或者更少的组件,或者具有与图6所示不同的配置。
本实施例还提供了一种可读存储介质,如软盘、光盘、硬盘、闪存、U盘、SD(SecureDigital Memory Card,安全数码卡)卡、MMC(Multimedia Card,多媒体卡)卡等,在该可读存储介质中存储有实现上述各个步骤的一个或者多个程序,这一个或者多个程序可被一个或者多个处理器执行,以实现上述实施例一中的应用于前述接口管理模块中的前端数据流控制方法的各步骤,或实现上述实施例一中的应用于Reducer中的前端数据流控制方法器的各步骤。在此不再赘述。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
在本文中,多个是指两个或两个以上。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (14)
1.一种前端系统,其特征在于,包括:
View模块,用于在接收到触发时,通知接口管理模块根据所触发的应用、模型和功能调用相应的后端接口;以及用于在Store&State模块中所保存的数据发生变化时,根据所改变的数据产生相应的视图变化;
所述接口管理模块用于根据所述View模块所触发的应用、模型,或应用、模型和功能,调用相应的后端接口,并将所述后端接口返回的数据上报给所述Store&State模块,以将所述数据按照所述后端接口对应的数据保存结构保存在所述Store&State模块中;所述接口管理模块预先按应用、模型,或应用、模型、功能的层级关系定义各后端接口;所述Store&State模块内预先定义有各所述后端接口对应的数据保存结构。
2.如权利要求1所述的前端系统,其特征在于,所述前端系统还包括:
缩减器Reducer模块,用于与所述接口管理模块连接,以接收所述接口管理模块上报的所述后端接口返回的数据,并对所述数据进行处理得到符合所述Store&State模块定义的所述后端接口对应的数据保存结构的数据;
所述Reducer模块还用于将处理后的所述后端接口返回的数据发送到所述Store&State模块中,以按照所述后端接口对应的数据保存结构进行保存。
3.如权利要求1或2所述的前端系统,其特征在于,所述Store&State模块预先按模型、方法,或模型、功能、方法的层级关系定义各所述后端接口返回的数据的保存结构。
4.如权利要求1或2所述的前端系统,其特征在于,所述Store&State模块预先按应用、模型、方法,或应用、模型、功能、方法的层级关系定义各所述后端接口返回的数据的保存结构。
5.一种前端系统,其特征在于,包括:
View模块,用于在接收到触发时,通知接口管理模块调用后端接口;以及用于在Store&State模块中所保存的数据发生变化时,根据所改变的数据产生相应的视图变化;
所述接口管理模块用于调用后端接口,并将所述后端接口返回的数据上报给所述Store&State模块,以将所述数据按照所述后端接口对应的数据保存结构保存在所述Store&State模块中;所述Store&State模块内预先按预设的层级关系定义有各所述后端接口返回的数据的保存结构。
6.如权利要求5所述的前端系统,其特征在于,所述前端系统还包括:
缩减器Reducer模块,用于与所述接口管理模块连接,以接收所述接口管理模块上报的所述后端接口返回的数据,并对所述数据进行处理得到符合所述Store&State模块定义的所述后端接口对应的数据保存结构的数据;
所述Reducer模块还用于将处理后的所述后端接口返回的数据发送到所述Store&State模块中,以按照所述后端接口对应的数据保存结构进行保存。
7.如权利要求5或6所述的前端系统,其特征在于,
所述Store&State模块预先按模型、方法,或模型、功能、方法的层级关系定义各所述后端接口返回的数据的保存结构;
或,所述Store&State模块预先按应用、模型、方法,或应用、模型、功能、方法的层级关系定义各所述后端接口返回的数据的保存结构。
8.一种前端数据流控制方法,其特征在于,应用于接口管理模块中,包括:
在视图接收到触发时,根据所触发的应用、模型和功能,按照预先定义的各后端接口对应的应用、模型、功能的层级关系,调用相应的后端接口;或,在视图接收到触发时,根据所触发的应用、模型,按照预先定义的各后端接口对应的应用、模型的层级关系,调用相应的后端接口;
将所述后端接口返回的数据上报给Store&State模块,以将所述数据按照所述后端接口对应的数据保存结构保存在所述Store&State模块中。
9.如权利要求8所述的前端数据流控制方法,其特征在于,所述将所述后端接口返回的数据上报给Store&State模块包括:
将所述后端接口返回的数据发送给缩减器Reducer,以供所述Reducer在对所述后端接口返回的数据进行处理得到符合所述Store&State模块定义的所述后端接口对应的数据保存结构的数据后,将处理后的所述后端接口返回的数据发送给所述Store&State模块;
所述将所述数据按照所述后端接口对应的数据保存结构保存在所述Store&State模块中包括:
所述将处理后的所述后端接口返回的数据按照所述后端接口对应的数据保存结构保存在所述Store&State模块中。
10.如权利要求8或9所述的前端数据流控制方法,其特征在于,
所述Store&State模块中预先按模型、方法,或模型、功能、方法的层级关系定义有各所述后端接口返回的数据的保存结构;
或,
所述Store&State模块中预先按应用、模型、方法,或应用、模型、功能、方法的层级关系定义有各所述后端接口返回的数据的保存结构。
11.一种前端数据流控制方法,其特征在于,应用于缩减器Reducer中,包括:
在接收到后端接口返回给接口管理模块的数据时,对所述后端接口返回的数据进行处理,得到符合Store&State模块定义的所述后端接口对应的数据保存结构的数据;
将处理后的所述后端接口返回的数据按照所述后端接口对应的数据保存结构保存在所述Store&State模块中;所述Store&State模块内预先按预设的层级关系定义有各所述后端接口返回的数据的保存结构。
12.如权利要求11所述的前端数据流控制方法,其特征在于,所述Store&State模块内预先按预设的层级关系定义有各所述后端接口返回的数据的保存结构包括:
所述Store&State模块中预先按模型、方法,或模型、功能、方法的层级关系定义有各所述后端接口返回的数据的保存结构;
或,所述Store&State模块中预先按应用、模型、方法,或应用、模型、功能、方法的层级关系定义有各所述后端接口返回的数据的保存结构。
13.一种电子设备,其特征在于,包括处理器、存储器及通信总线;
所述通信总线用于实现处理器和存储器之间的连接通信;
所述处理器用于执行存储器中存储的一个或者多个第一程序,以实现如权利要求8至10中任一项所述的前端数据流控制方法的步骤;
或,所述处理器用于执行存储器中存储的一个或者多个第二程序,以实现如权利要求11至12中任一项所述的前端数据流控制方法的步骤。
14.一种可读存储介质,其特征在于,所述可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如权利要求8至10中任一项所述的前端数据流控制方法的步骤,或实现如权利要求11至12中任一项所述的前端数据流控制方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910830804.7A CN110688180B (zh) | 2019-09-03 | 2019-09-03 | 前端系统、前端数据流控制方法、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910830804.7A CN110688180B (zh) | 2019-09-03 | 2019-09-03 | 前端系统、前端数据流控制方法、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110688180A CN110688180A (zh) | 2020-01-14 |
CN110688180B true CN110688180B (zh) | 2021-05-11 |
Family
ID=69107737
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910830804.7A Active CN110688180B (zh) | 2019-09-03 | 2019-09-03 | 前端系统、前端数据流控制方法、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110688180B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104881318A (zh) * | 2015-05-07 | 2015-09-02 | 北京金山安全软件有限公司 | 一种接口调用方法、装置及终端 |
CN105389222A (zh) * | 2015-12-15 | 2016-03-09 | 中国科学院声学研究所 | 一种动态调用原生接口的方法、装置和系统 |
CN108170416A (zh) * | 2017-12-28 | 2018-06-15 | 北京云杉世纪网络科技有限公司 | 一种构建web前端的方法及系统 |
CN109086046A (zh) * | 2018-08-02 | 2018-12-25 | 中国建设银行股份有限公司 | 一种基于接口规范文档的前端代码自动生成方法及系统 |
CN109460227A (zh) * | 2018-10-16 | 2019-03-12 | 山东中创软件商用中间件股份有限公司 | 一种网站前端的开发方法、装置、设备及介质 |
CN109688202A (zh) * | 2018-12-04 | 2019-04-26 | 北京腾云天下科技有限公司 | 一种接口数据的处理方法、装置、计算设备及存储介质 |
CN109933510A (zh) * | 2017-12-15 | 2019-06-25 | 中国移动通信集团浙江有限公司 | 接口管理的方法、装置、电子设备和存储介质 |
CN110069248A (zh) * | 2019-03-16 | 2019-07-30 | 平安城市建设科技(深圳)有限公司 | 接口数据的调用方法、装置、设备及计算机可读存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101856486B1 (ko) * | 2017-04-17 | 2018-05-11 | 주식회사 티맥스 소프트 | 컴퓨팅 디바이스에서 수행되는 오픈 시스템과 메인프레임 시스템 사이의 양방향 호출 방법 |
-
2019
- 2019-09-03 CN CN201910830804.7A patent/CN110688180B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104881318A (zh) * | 2015-05-07 | 2015-09-02 | 北京金山安全软件有限公司 | 一种接口调用方法、装置及终端 |
CN105389222A (zh) * | 2015-12-15 | 2016-03-09 | 中国科学院声学研究所 | 一种动态调用原生接口的方法、装置和系统 |
CN109933510A (zh) * | 2017-12-15 | 2019-06-25 | 中国移动通信集团浙江有限公司 | 接口管理的方法、装置、电子设备和存储介质 |
CN108170416A (zh) * | 2017-12-28 | 2018-06-15 | 北京云杉世纪网络科技有限公司 | 一种构建web前端的方法及系统 |
CN109086046A (zh) * | 2018-08-02 | 2018-12-25 | 中国建设银行股份有限公司 | 一种基于接口规范文档的前端代码自动生成方法及系统 |
CN109460227A (zh) * | 2018-10-16 | 2019-03-12 | 山东中创软件商用中间件股份有限公司 | 一种网站前端的开发方法、装置、设备及介质 |
CN109688202A (zh) * | 2018-12-04 | 2019-04-26 | 北京腾云天下科技有限公司 | 一种接口数据的处理方法、装置、计算设备及存储介质 |
CN110069248A (zh) * | 2019-03-16 | 2019-07-30 | 平安城市建设科技(深圳)有限公司 | 接口数据的调用方法、装置、设备及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110688180A (zh) | 2020-01-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2019127864A1 (zh) | 电子装置、基于springmvc的数据接口及其说明自动生成方法及存储介质 | |
CN112667415B (zh) | 数据调用方法、装置、可读存储介质及电子设备 | |
CN114528044B (zh) | 一种接口调用方法、装置、设备及介质 | |
CN109218393B (zh) | 一种推送的实现方法、装置、设备和计算机存储介质 | |
CN111985760B (zh) | 数据内容的评价方法、装置、电子设备及存储介质 | |
CN110688180B (zh) | 前端系统、前端数据流控制方法、电子设备及存储介质 | |
CN102779076B (zh) | 一种浏览器中进程间通信的方法和装置 | |
CN109240660B (zh) | 一种广告数据的接入方法、存储介质、电子设备及系统 | |
US10803109B2 (en) | Method and device for reading and writing video data in NAS device | |
CN111399753B (zh) | 写入图片的方法和装置 | |
CN113656041A (zh) | 数据处理方法、装置、设备及存储介质 | |
CN110601963B (zh) | 消息处理方法以及支持该消息处理方法的电子设备 | |
CN113467823A (zh) | 一种配置信息的获取方法、装置、系统及存储介质 | |
CN115114280A (zh) | 报表生成处理方法、装置及设备 | |
CN111950679A (zh) | 一种电子标签显示方法、装置以及计算机可读存储介质 | |
CN111262996A (zh) | 通知栏消息处理方法、装置、电子装置及存储介质 | |
US20230244390A1 (en) | Collecting quality of service statistics for in-use child physical functions of multiple physical function non-volatile memory devices | |
CN116909724A (zh) | 区块链内存回收方法和装置 | |
CN109376023B (zh) | 用于生成调用信息、发布返回码组的方法和设备 | |
CN113190626A (zh) | 一种信息同步方法、装置、电子设备及存储介质 | |
CN115242625A (zh) | 服务部署方法、装置、计算机设备及可读存储介质 | |
CN115080105A (zh) | 数据请求处理方法和电子设备 | |
CN114339312A (zh) | 一种图片传输的方法、装置、终端及存储介质 | |
CN115328476A (zh) | 基于互联卡片的单据定制方法及装置 | |
CN116319726A (zh) | 基于远程存储协议的数据处理方法、装置、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: No. 6 Science and Education Software Park, Binhu District, Wuxi City, Jiangsu Province Applicant after: Huayun data holding group Co., Ltd Address before: No. 6 Science and Education Software Park, Binhu District, Wuxi City, Jiangsu Province Applicant before: WUXI CHINAC DATA TECHNICAL SERVICE Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |