应用小程序的数据流管理方法与流程

文档序号:17948858发布日期:2019-06-18 23:52阅读:255来源:国知局
应用小程序的数据流管理方法与流程

本发明涉及终端设备领域,尤其涉及一种应用小程序的数据流管理方法。



背景技术:

小程序是一种不需要下载安装即可使用的应用框架,使用户不需要担心安装问题。小程序的核心思想是将视图与页面对象进行绑定,当页面对象中的数据发生变化时,视图也会随之刷新。其中,页面对象中数据发生变化的过程,称之为数据流。相关技术中,小程序的数据流管理是由页面对象自己管理,也就是每个页面对象管理自己的数据流。

但是,这样的管理方式无法管理跨页面对象的数据,例如用户登陆信息,一般是贯穿整个应用程序的,不属于某个页面对象,这样的数据就无法管理。可见,相关技术中应用小程序的数据流管理方法比较复杂,管理效率低。



技术实现要素:

本发明旨在至少在一定程度上解决相关技术中的技术问题之一。

为此,本发明的第一个目的在于提出一种应用小程序的数据流管理方法,通过将数据流管理工具与页面对象进行结合,实现跨页面对象管理数据,大大降低了数据流管理的复杂度,提高了管理效率。

本发明的第二个目的在于提出另一种应用小程序的数据流管理方法。

本发明的第三个目的在于提出一种应用小程序。

本发明的第四个目的在于提出一种数据流管理工具。

本发明的第五个目的在于提出一种计算机设备。

本发明的第六个目的在于提出一种计算机程序产品。

本发明的第七个目的在于提出一种非临时性计算机可读存储介质。

为达上述目的,本发明第一方面实施例提出了一种应用小程序的数据流管理方法,包括:

监听触发事件;其中,所述触发事件是视图中第一元素需要状态更新时发生的;

当监听到所述触发事件后,生成用于对所述第一元素的状态进行更新的动作;其中,所述动作中携带所述第一元素当前状态的第一数据和更新后的目标状态的第二数据;

向数据流管理工具发送所述动作,其中,所述动作用于所述数据流管理工具从所述动作中获取所述第二数据并将所述第二数据映射到视图的页面对象中;

从所述视图的页面对象中提取所述第二数据,并利用所述第二数据对所述视图进行更新。

作为本发明第一方面实施例一种可能的实现方式,所述从所述视图的页面对象中提取所述第二数据之前,还包括:

向所述数据流管理工具订阅一个订阅消息;

接收所述数据流管理工具发送的所述订阅消息;其中,所述订阅消息中携带所述第二数据;

从所述订阅消息中提取所述第二数据,并将所述第二数据写入到所述页面对象中。

作为本发明第一方面实施例一种可能的实现方式,所述根据所述第二数据对所述视图进行更新,包括:

调用数据设置函数;其中,所述数据设置函数用于将所述第二数据从逻辑层发送到视图层;

通过所述数据设置函数,将所述视图中的所述第一元素从当前状态更新到所述目标状态。

作为本发明第一方面实施例一种可能的实现方式,该方法还包括:

在通过所述数据设置函数,将所述视图中的所述第一元素从当前状态更新到所述目标状态的同时,对于所述视图中未发生状态更新的第二元素,在所述视图中维持所述第二元素的当前状态不变。

作为本发明第一方面实施例一种可能的实现方式,所述监听触发事件,包括:

当探测到所述更新操作时确定监听到所述触发事件;或者,

当接收到由所述服务器返回的用于更新所述第一元素的所述第二数据时,确定监听到所述触发事件。

作为本发明第一方面实施例一种可能的实现方式,所述监听触发事件之前,还包括:

从所述页面对象中读取所述视图中每个元素的所述第一数据;

根据每个元素的所述第一数据,在所述视图上显示每个元素的状态。

本发明实施例的应用小程序的数据流管理方法,通过监听触发事件,其中,触发事件是视图中第一元素需要状态更新时发生的,在监听到触发事件后,生成用于对第一元素的状态进行更新的动作,并将生成的动作发送给数据流管理工具,以使数据流管理工具从动作中获取第二数据并将第二数据映射到视图的页面对象中,从视图的页面对象中提取第二数据,并利用第二数据对视图进行更新。本实施例中,通过将生成的对第一元素状态进行更新的动作发送给数据流管理工具,由数据流管理工具从动作中提取第二数据并将第二数据映射到页面对象中,从而可以从页面对象中提取第二数据对视图进行更新,实现了通过数据流管理工具对小程序的数据流进行管理,并无缝衔接小程序的视图更新,而且通过数据流管理工具能够对跨页面对象的数据进行管理,大大降低了小程序数据流的管理复杂度,提高了小程序数据流的管理效率,解决了相关技术中页面对象对各自的数据流进行管理存在的复杂度高、管理效率低的问题。

为达上述目的,本发明第二方面实施例提出了另一种应用小程序的数据流管理方法,包括:

接收小程序在监听到触发事件后发送的用于更新视图中第一元素状态的动作;其中,所述动作中携带所述第一元素当前状态的第一数据和更新后的目标状态的第二数据;所述触发事件是所述第一元素需要状态更新时发生的;

执行所述动作,对所述第一元素的状态进行更新;

将所述第二数据映射到所述小程序的页面对象中。

作为本发明第二方面实施例一种可能的实现方式,所述将所述第二数据映射到所述小程序的页面对象中,包括:

将所述第二数据添加到所述小程序对应的订阅消息中;

通过所述订阅消息将所述第二数据反馈给所述小程序,以使所述小程序将所述第二数据写入到所述页面对象中。

作为本发明第二方面实施例一种可能的实现方式,所述执行所述动作,对所述第一元素的状态进行更新,包括:

执行所述动作,从所述动作中提取所述第二数据;

利用所述第二数据替换状态中心中所述第一元素的所述第一数据。

本发明实施例的应用小程序的数据流管理方法,通过接收小程序在监听到触发事件后发送的用于更新视图中第一元素状态的动作,执行动作,对第一元素的状态进行更新,并将第二数据映射到小程序的页面对象中。本实施例中,通过接收小程序发送的动作,在执行动作对第一元素状态进行更新后,将用于更新视图中第一元素状态的第二数据映射到小程序的页面对象中,从而实现了对小程序数据流的管理,而且能够对跨页面对象的数据进行管理,大大降低了小程序数据流的管理复杂度,提高了小程序数据流的管理效率,解决了相关技术中页面对象对各自的数据流进行管理存在的复杂度高、管理效率低的问题。

为达上述目的,本发明第三方面实施例提出了一种应用小程序,包括:

监听模块,用于监听触发事件;其中,所述触发事件是视图中第一元素需要状态更新时发生的;

生成模块,用于当监听到所述触发事件后,生成用于对所述第一元素的状态进行更新的动作;其中,所述动作中携带所述第一元素当前状态的第一数据和更新后的目标状态的第二数据;

发送模块,用于向数据流管理工具发送所述动作,其中,所述动作用于所述数据流管理工具从所述动作中获取所述第二数据并将所述第二数据映射到视图的页面对象中;

第一更新模块,用于从所述视图的页面对象中提取所述第二数据,并利用所述第二数据对所述视图进行更新。

作为本发明第三方面实施例一种可能的实现方式,该应用小程序还包括:

订阅模块,用于在从视图的页面对象中提取第二数据之前,向所述数据流管理工具订阅一个订阅消息;

第一接收模块,用于接收数据流管理工具发送的订阅消息;其中,订阅消息中携带第二数据。

写入模块,用于从订阅信息中提取第二数据,并将第二数据写入到页面对象中。

作为本发明第三方面实施例一种可能的实现方式,第一更新模块还用于:

调用数据设置函数;其中,数据设置函数用于将第二数据从逻辑层发送到视图层;

通过数据设置函数,将视图中的所述第一元素从当前状态更新到目标状态。

作为本发明第三方面实施例一种可能的实现方式,该应用小程序还可包括:

维持模块,用于在通过数据设置函数,将视图中的所述第一元素从当前状态更新到目标状态的同时,对于视图中未发生状态更新的第二元素,在视图中维持第二元素的当前状态不变。

作为本发明第三方面实施例一种可能的实现方式,监听模块还用于:

当探测到所述更新操作时确定监听到所述触发事件;

或者,当接收到由所述服务器返回的用于更新第一元素的第二数据时,确定监听到所述触发事件。

作为本发明第三方面实施例一种可能的实现方式,该应用小程序还可包括:

读取模块,用于在监听触发事件之前,从页面对象中读取视图中每个元素的第一数据;

显示模块,用于根据每个元素的第一数据,在视图上显示每个元素的状态。

本发明实施例的应用小程序,通过监听触发事件,其中,触发事件是视图中第一元素需要状态更新时发生的,在监听到触发事件后,生成用于对第一元素的状态进行更新的动作,并将生成的动作发送给数据流管理工具,以使数据流管理工具从动作中获取第二数据并将第二数据映射到视图的页面对象中,从视图的页面对象中提取第二数据,并利用第二数据对视图进行更新。本实施例中,通过将生成的对第一元素状态进行更新的动作发送给数据流管理工具,由数据流管理工具从动作中提取第二数据并将第二数据映射到页面对象中,从而可以从页面对象中提取第二数据对视图进行更新,实现了通过数据流管理工具对小程序的数据流进行管理,并无缝衔接小程序的视图更新,而且通过数据流管理工具能够对跨页面对象的数据进行管理,大大降低了小程序数据流的管理复杂度,提高了小程序数据流的管理效率,解决了相关技术中页面对象对各自的数据流进行管理存在的复杂度高、管理效率低的问题。

为了实现上述目的,本发明第四方面实施例提出一种数据流管理工具,包括:

接收模块,用于接收小程序在监听到触发事件后发送的用于更新视图中第一元素状态的动作;其中,所述动作中携带所述第一元素当前状态的第一数据和更新后的目标状态的第二数据;所述触发事件是所述第一元素需要状态更新时发生的;

第二更新模块,用于执行所述动作,对所述第一元素的状态进行更新;

映射模块,用于将所述第二数据映射到所述小程序的页面对象中。

作为本发明第四方面实施例一种可能的实现方式,映射模块还用于:

将第二数据添加到小程序对应的订阅消息中;

通过订阅消息将第二数据反馈给小程序,以使小程序将第二数据写入到页面对象中。

作为本发明第四方面实施例一种可能的实现方式,第二更新模块还用于:

执行动作,从动作中提取第二数据;

利用第二数据替换状态中心中第一元素的第一数据。

本发明实施例的数据流管理工具,通过接收小程序在监听到触发事件后发送的用于更新视图中第一元素状态的动作,执行动作,对第一元素的状态进行更新,并将第二数据映射到小程序的页面对象中。本实施例中,通过接收小程序发送的动作,在执行动作对第一元素状态进行更新后,将用于更新视图中第一元素状态的第二数据映射到小程序的页面对象中,从而实现了对小程序数据流的管理,而且能够对跨页面对象的数据进行管理,大大降低了小程序数据流的管理复杂度,提高了小程序数据流的管理效率,解决了相关技术中页面对象对各自的数据流进行管理存在的复杂度高、管理效率低的问题。

为了实现上述目的,本发明第五方面实施例提出一种计算机设备,包括处理器和存储器;其中,所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于实现如上述本发明第一方面实施例所述的应用小程序的数据流管理方法,或者,以用于实现如上述本发明第二方面实施例所述的应用小程序的数据流管理方法。

为了实现上述目的,本发明第六方面实施例提出一种计算机程序产品,当所述计算机程序产品中的指令由处理器执行时,执行如上述本发明第一方面实施例所述的应用小程序的数据流管理方法,或者,执行如上述本发明第二方面实施例所述的应用小程序的数据流管理方法。

为了实现上述目的,本发明第七方面实施例提出了一种非临时性计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述本发明第一方面实施例所述的应用小程序的数据流管理方法,或者,实现如上述本发明第二方面实施例所述的应用小程序的数据流管理方法。

本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:

图1为本发明实施例提供的一种应用小程序的数据流管理方法的流程示意图;

图2为本发明实施例提供的数据流管理工具与小程序的页面对象之间对接的过程示意图;

图3为本发明实施例提供的另一种应用小程序的数据流管理方法的流程示意图;

图4为本发明实施例提供的又一种应用小程序的数据流管理方法的流程示意图;

图5为本发明实施例提供的再一种应用小程序的数据流管理方法的流程示意图;

图6为本发明实施例提供的小程序与数据流管理工具之间的交互过程示意图;

图7为本发明实施例提供的一种应用小程序的结构示意图;

图8为本发明实施例提供的一种数据流管理工具的结构示意图;

图9为本发明实施例提供的应用小程序的数据流管理的系统结构示意图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。

下面参考附图描述本发明实施例的应用小程序的数据流管理方法。

小程序是一种不需要下载安装即可使用的应用框架,其核心思想是将视图与页面对象进行绑定,当页面对象的某些属性变化的时候,视图也会随之刷新。在小程序开发中,页面对象有自己的data属性,当页面对象中的data属性发生变化时,视图也会随之改变,也就是页面中显示的内容会发生变化。例如,在页面上显示一行字:hellotencent。在页面对象的data中来定义这行字,界面就会显示hellotencent。定义如下:

其中,page为页面对象,data为页面对象的属性。当data属性发生变化时,页面上显示的内容会随之发生变化。通常,页面对象中data属性发生变化的过程,称之为数据流。相关技术中,小程序的数据流管理是由页面对象自己管理,也就是每个页面对象管理自己的数据流。

但是,这样的管理方式无法管理跨页面对象的数据,例如用户登陆信息,一般是贯穿整个应用程序的,不属于某个页面对象,这样的数据就无法管理。可见,相关技术中应用小程序的数据流管理方法比较复杂,管理效率低。

对此,本发明实施例提出一种应用小程序的数据流管理方法,通过向数据流管理工具发送用于更新第一元素状态进行更新的动作,由数据流管理工具从动作中提取第二数据并将第二数据映射到视图的页面对象中,通过从页面对象中提取第二数据对视图进行更新,从而实现通过数据流管理工具对小程序的数据流进行管理,并无缝衔接视图更新,大大降低小程序数据流的管理复杂度,提高小程序数据流的管理效率。

需要说明的是,应用小程序的数据流管理方法中的应用可以是微信应用程序,也可以是其他其小程序的技术框架与微信小程序的技术框架类似的应用程序。也就是说,本发明实施例的应用小程序的数据流管理方法,适用于微信小程序,以及与微信小程序采用类似技术框架的其他应用小程序。

图1为本发明实施例提供的一种应用小程序的数据流管理方法的流程示意图。

步骤101,监听触发事件;其中,触发事件是视图中第一元素需要状态更新时发生的。

其中,视图中的元素为页面上显示的各个元素,以手机显示界面为例,界面中显示的文字、时间、电池符号、电量百分比、wifi信号的图标等都是视图中的元素。

在使用应用小程序的过程中,经常会遇到需要更新视图的情况,如拉取最新的天气信息时、在卸载页面点击卸载按钮时、屏幕上显示的时间需要不断更新等等。本实施例中,视图中的元素需要状态更新时会生成触发事件,小程序可实时对触发事件进行监听。

具体地,可探测用户是否对第一元素进行了更新操作,当探测到更新操作时可以确定监听到触发事件。例如,用户选择完要发送的图片后,点击发送按钮,这时会探测到点击按钮的操作,可以确定监听到了触发事件。

或者,判断是否接收到服务器返回用于更新第一元素的第二数据。例如,用户在终端设备的触摸屏上进行下拉操作以获取最新的天气信息,终端设备向服务器发送获取天气信息的请求,当接收到从服务器返回最新的天气信息时,可以确定监听到触发事件。

步骤102,当监听到触发事件后,生成用于对第一元素的状态进行更新的动作;其中,动作中携带第一元素当前状态的第一数据和更新后的目标状态的第二数据。

在监听到触发事件后,小程序会生成一个动作,以用于对第一元素的状态进行更新。其中,动作中包括第一元素当前状态的第一数据和更新后的目标状态的第二数据。

例如,当用户点击终端设备屏幕上一个按钮,以获取当前天气信息时,首先终端设备会在页面上展示“正在拉取…”的提示,其中,“正在拉取…”为第一数据。然后,向服务器发送获取当前天气信息的请求,服务器返回的当前天气信息为第二数据。这时,生成的动作可表示为action:把text从“正在拉取…”变成“成都:晴”。

步骤103,向数据流管理工具发送动作,其中,动作用于数据流管理工具从动作中获取第二数据并将第二数据映射到视图的页面对象中。

数据流管理工具主要用于应用状态的管理,所有状态的操作都需要经过数据流管理工具来操作。本实施例中,通过数据流管理工具来管理小程序的数据流。

具体地,小程序在生成用于对第一元素的状态进行更新的动作后,将该动作发送给数据流管理工具。数据流管理工具接收到小程序发送的动作后,从动作中获取第二数据并将第二数据映射到视图的页面对象中。

以数据流管理工具为redux为例,redux的核心是redux有一个状态中心state,其中,state可记录整个应用程序的所有数据。通常,用户信息、从服务器上拉取到的天气信息等存储在state中。同时,redux还有一个状态处理器reducer,它负责state的变化。reducer接收到动作action后,根据动作更新state。

如图2所示,在用户点击拉取天气信息的按钮时,页面中显示“正在拉取…”,当前状态,也就是oldstate对应的redux的state为

这时,页面对象中data的属性为text:“正在拉取…”,即

小程序将生成的动作为action:把text从“正在拉取…”变成“成都:晴”,发送给redux。redux的reducer接收到action后,将oldstate更新为newstate。即redux执行动作后,state变为:

并将第二数据“成都:晴”映射到视图的页面对象中,使页面对象中data属性为text:“成都:晴”,即

步骤104,从视图的页面对象中提取第二数据,并利用第二数据对视图进行更新。

数据流管理工具执行动作后,将用于更新第一元素的第二数据映射到页面对象中。小程序从视图的页面对象中可提取第二数据,并利用第二数据对视图中的第一元素的状态进行更新。

以redux为例,redux将第二数据映射到页面对象中后,页面对象中的data属性更新为第二数据。如图2所示,将第二数据“成都:晴”映射到页面对象中后,data属性更新为text:“成都:晴”,即

因而,小程序可从页面对象中提取第二数据“成都:晴”,并根据“成都:晴”对视图中第一元素的状态进行更新,如图2所示,视图中的“正在拉取…”被替换为“成都:晴”。

本发明实施实施例中,通过数据流管理工具将第二数据映射到页面对象中,从而使页面对象中包含第二数据,实现了通过数据流管理工具管理小程序的数据流,并无缝衔接视图的更新,大大提高了小程序数据流的管理效率。

为了使数据流管理工具将第二数据准确地映射到页面对象中,本发明实施例还提出接收数据流管理工具通过订阅消息发送的第二数据。下面通过另一个实施例,解释本发明提出的应用小程序的数据流管理方法。图3为本发明实施例提供的另一种应用小程序的数据流管理方法的流程示意图。

如图3所示,该应用小程序的数据流管理方法包括:

步骤301,从页面对象中读取视图中每个元素的第一数据。

由于视图与页面对象绑定,当页面对象中元素的数据发生变化时,视图也随之更新,因此,小程序可从页面对象中读取视图中每个元素的第一数据。如图2所示,可读取视图中时间、信号图标、wechat、电池图标、等所有元素的当前状态下的第一数据。

步骤302,根据每个元素的第一数据,在视图上显示每个元素的状态。

在获得每个元素的第一数据后,根据每个元素的第一数据,使视图上显示每个元素的状态。如图2所示,视图上显示时间为16:45、电池图标和电量100%、wechat、正在拉取…等等。

步骤303,监听触发事件;其中,触发事件是视图中第一元素需要状态更新时发生的。

本实施例中,小程序可实时对触发事件进行监听。其中,可对用户是否对第一元素进行更新操作进行探测,或者判断是否接收到服务器返回用于更新第一元素的第二数据。当探测到用户对第一元素的更新操作,或者接收到服务器返回的第二数据时,确定监听到触发事件。例如,当检测到服务器返回用于更新天气信息的第二数据“成都:晴”时,可以确定监听到触发事件。

步骤304,当监听到触发事件后,生成用于对第一元素的状态进行更新的动作;其中,动作中携带第一元素当前状态的第一数据和更新后的目标状态的第二数据。

在监听到触发事件后,小程序会生成一个动作,以用于对第一元素的状态进行更新。其中,动作中包括第一元素当前状态的第一数据和更新后的目标状态的第二数据。

步骤305,向数据流管理工具发送动作,其中,动作用于数据流管理工具从动作中获取第二数据并将第二数据映射到视图的页面对象中。

本实施例中,小程序生成动作后,将动作发送给数据流管理工具,以使数据流管理工具接收到动作后,从动作中获取第二数据并将第二数据映射到视图的页面对象中。若数据流管理工具为redux,则通过执行动作使redux中的state更新,并将第二数据映射到视图的页面对象中,使页面对象的data属性相应变化,从而实现利用数据流管理工具管理小程序的数据流。

步骤306,向数据流管理工具订阅一个订阅消息。

为了使数据流管理工具的管理流程与页面对象对接,并使数据流管理工具准确地将第二数据发送给页面对象,本实施例中,小程序可向数据流管理工具中订阅一个订阅消息,其中,订阅消息中可携带用于更新第一元素状态的第二数据、小程序的标识信息等。

步骤307,接收数据流管理工具发送的订阅消息;其中,订阅消息中携带第二数据。

数据流管理工具可根据小程序的标识信息,将订阅消息发送给对应的小程序,从而向数据流管理工具订阅了订阅消息的小程序,可从数据流管理工具接收携带有第二数据的订阅消息。

步骤308,从订阅消息中提取第二数据,并将第二数据写入到页面对象中。

小程序在接收数据流管理工具发送的订阅消息后,从订阅消息中提取第二数据,并将第二数据写入到页面对象中。

如图2所示,第一元素的第一数据为“正在拉取…”,小程序提取第二数据“成都:晴”,并将第二数据“成都:晴”写入到页面对象中,即

步骤309,从视图的页面对象中提取第二数据,并利用第二数据对视图进行更新。

本实施例中,在利用第二数据对视图进行更新时,可通过调用数据设置函数来完成视图更新。其中,数据设置函数可将第二数据从逻辑层发送到视图层。

具体地,在从视图的页面对象中提取第二数据后,调用数据设置函数,并将第二数据作为数据设置函数的参数的取值,通过数据设置函数将视图中的第一元素从当前状态更新到目标状态。

本发明实施例的应用小程序的数据流管理方法,通过向数据流管理工具订阅一个订阅消息,可以从数据流管理工具准确地获取到第二数据,并将第二数据写入到页面对象中,当数据流管理工具中元素的数据发生变化时,页面对象中相同元素的data属性也发生变化,实现了数据流管理工具的管理流程与小程序的视图的页面对象之间的对接,实现了利用数据流管理工具管理小程序的数据流。

进一步地,在通过数据设置函数,将视图中的第一元素从当前状态更新到目标状态的同时,对于视图中未发生状态更新的第二元素,使第二元素在视图中的状态不变,从而保证只更新发生状态更新的元素。

如图2所示,在通过服务器拉取天气信息时,视图中时间下方的元素“wechat”未发生状态更新,因此视图中“正在拉取…”更新为“成都:晴”时,视图中时间下方仍然显示“wechat”。

本发明实施例的应用小程序的数据流管理方法,通过将生成的对第一元素状态进行更新的动作发送给数据流管理工具,由数据流管理工具从动作中获取第二数据并将第二数据映射到页面对象中,从而可以从页面对象中提取第二数据对视图进行更新,实现了通过数据流管理工具对小程序的数据流进行管理,并无缝衔接小程序的视图更新,而且通过数据流管理工具能够对跨页面对象的数据进行管理,大大降低了小程序数据流的管理复杂度,提高了小程序数据流的管理效率,解决了相关技术中页面对象对各自的数据流进行管理存在的复杂度高、管理效率低的问题。

上述实施例是从小程序侧描述本发明实施例提出的应用小程序的数据流管理方法,下面从数据流管理工具侧描述应用小程序的数据流管理方法。图4为本发明实施例提供的又一种应用小程序的数据流管理方法的流程示意图。

如图4所示,该应用小程序的数据流管理方法包括:

步骤401,接收小程序在监听到触发事件后发送的用于更新视图中第一元素状态的动作。

本实施例中,数据流管理工具接收的动作是小程序在监听到触发事件后生成的。其中,动作中携带第一元素当前状态的第一数据和更新后的目标状态的第二数据,触发事件是第一元素需要状态更新时发生的。

其中,可对用户是否对第一元素进行更新操作进行探测,当探测到用户对第一元素的更新操作,确定监听到触发事件,如用户点击图片的发送按钮。或者,判断是否接收到服务器返回用于更新第一元素的第二数据,当接收到服务器返回的第二数据时,确定监控到触发事件,如接收到服务器返回的最新的天气信息数据。

具体而言,当小程序监听到触发事件后,生成用于更新视图中第一元素状态的动作并发送给数据流管理工具,从而数据流管理工具接收到用于更新第一元素状态的动作。

步骤402,执行动作,对第一元素的状态进行更新。

数据流管理工具接收动作后,可根据动作中的第一数据和第二数据,对数据流管理工具中第一元素的状态进行更新。

步骤403,将第二数据映射到小程序的页面对象中。

在更新完第一元素的状态后,可将第二数据发送给小程序,以使小程序将第二数据写入到页面对象中,从而将第二数据映射到小程序的页面对象中。

为了更清楚的说明上述实施例,下面通过再一个实施例,描述本发明提出的应用小程序的数据流管理方法。图5为本发明实施例提供的再一种应用小程序的数据流管理方法的流程示意图。

如图5所示,该应用小程序的数据流管理方法包括:

步骤501,接收小程序在监听到触发事件后发送的用于更新视图中第一元素状态的动作。

当小程序监听到触发事件后,生成用于更新视图中第一元素状态的动作并发送给数据流管理工具,从而数据流管理工具接收到用于更新第一元素状态的动作。

步骤502,执行动作,从动作中提取第二数据。

以数据流管理工具为redux为例,数据流管理工具的reducer接收到动作后,提取动作中的第二数据,根据第二数据更新第一元素的状态。

步骤503,利用第二数据替换状态中心中第一元素的第一数据。

在提取第二数据后,将第二数据替换状态中心中第一元素的第一数据。如图2所示,oldstate状态下,redux的状态中心state中第一元素的第一数据为“正在拉取…”,在提取动作中的第二数据“成都:晴”之后,用“成都:晴”替换状态中心state中的“正在拉取…”,得到

步骤504,将第二数据添加到小程序对应的订阅消息中。

本发明实施例中,为了使数据流管理工具与页面对象之间对接,可将第二数据添加到小程序订阅的订阅消息中。其中,订阅消息是由小程序预先向数据流管理工具订阅的,订阅消息中可携带第二数据、小程序的标识信息等。

步骤505,通过订阅消息将第二数据反馈给小程序,以使小程序将第二数据写入到页面对象中。

数据流管理工具可根据小程序的标识信息,将订阅消息发送给对应的小程序。小程序在接收到订阅消息后,可从订阅消息中提取第二数据,并将第二数据写入到页面对象中,从而在数据流管理工具中状态中心中的数据发生变化时,小程序的页面对象中的数据也发生变化,进而视图也随之更新。由此,实现了数据流管理工具对小程序的数据流进行管理,降低了小程序数据流管理的复杂度。

为了更清楚说明上述实施例,下面结合图6,通过描述小程序与数据流管理工具之间的交互过程,解释本发明提出的应用小程序的数据流管理方法。图6为本发明实施例提供的小程序与数据流管理工具之间的交互过程示意图。

如图6所示,小程序与数据流管理工具之间的交互过程为:

小程序首先从页面对象中读取视图中每个元素的第一数据,并根据第一数据在视图上显示每个元素的状态。然后,小程序对触发事件进行监听,其中,触发事件是视图中第一元素需要状态更新时发生的,具体的,可参见前述实施例中所述内容。小程序监听到触发事件后,生成动作,其中动作中携带第一元素当前状态的第一数据和更新后的目标状态的第二数据。小程序将生成的动作发送给数据流管理工具。

数据流管理工具接收到动作后,执行动作,具体地,提取动作中的第二数据,并利用第二数据替换状态中心中的第一元素的第一数据。数据流管理工具执行动作后,将第二数据添加到小程序订阅的的订阅消息中,并发送给小程序。

小程序接收到订阅消息后,从订阅消息中提取第二数据,根据第二数据更新视图,具体地,调用数据设置函数,以将第二数据从逻辑层发送到视图层,之后,根据数据设置函数,将视图中的第一元素从当前状态更新到目标状态。

本发明实施例的应用小程序的数据流管理方法,通过接收小程序发送的动作,在执行动作对第一元素状态进行更新后,将用于更新视图中第一元素状态的第二数据映射到小程序的页面对象中,从而实现了对小程序数据流的管理,而且能够对跨页面对象的数据进行管理,大大降低了小程序数据流的管理复杂度,提高了小程序数据流的管理效率,解决了相关技术中页面对象对各自的数据流进行管理存在的复杂度高、管理效率低的问题。

为了实现上述实施例,本发明还提出一种应用小程序。图7为本发明实施例提供的一种应用小程序的结构示意图。

如图7所示,该应用小程序包括:监听模块710、生成模块720、发送模块730、第一更新模块740。

其中,监听模块710,用于监听触发事件;其中,触发事件是视图中第一元素需要状态更新时发生的。

生成模块720,用于当监听到触发事件后,生成用于对第一元素的状态进行更新的动作;其中,动作中携带第一元素当前状态的第一数据和更新后的目标状态的第二数据。

发送模块730,用于向数据流管理工具发送动作,其中,动作用于数据流管理工具从动作中获取第二数据并将第二数据映射到视图的页面对象中。

第一更新模块740,用于从视图的页面对象中提取第二数据,并利用第二数据对视图进行更新。

在本发明的一个实施例中,该应用小程序还包括:

订阅模块,用于在从视图的页面对象中提取第二数据之前,向数据流管理工具订阅一个订阅消息;

第一接收模块,用于接收数据流管理工具发送的订阅消息;其中,订阅消息中携带第二数据。

写入模块,用于从订阅信息中提取第二数据,并将第二数据写入到页面对象中。

在本发明的一个实施例中,第一更新模块740还用于:

调用数据设置函数;其中,数据设置函数用于将第二数据从逻辑层发送到视图层;

通过数据设置函数,将视图中的所述第一元素从当前状态更新到目标状态。

在本发明的一个实施例中,该应用小程序还可包括:

维持模块,用于在通过数据设置函数,将视图中的所述第一元素从当前状态更新到目标状态的同时,对于视图中未发生状态更新的第二元素,在视图中维持第二元素的当前状态不变。

在本发明的一个实施例中,监听模块710还用于:

当探测到更新操作时确定监听到触发事件;

或者,当接收到由服务器返回的用于更新第一元素的第二数据时,确定监听到触发事件。

在本发明的一个实施例中,该应用小程序还可包括:

读取模块,用于在监听触发事件之前,从页面对象中读取视图中每个元素的第一数据;

显示模块,用于根据每个元素的第一数据,在视图上显示每个元素的状态。

需要说明的是,前述对从小程序侧描述的应用小程序的数据流管理方法实施例的解释说明,也适用于本发明实施例的应用小程序,在此不再赘述。

本发明实施例的应用小程序,通过将生成的对第一元素状态进行更新的动作发送给数据流管理工具,由数据流管理工具从动作中获取第二数据并将第二数据映射到页面对象中,从而可以从页面对象中提取第二数据对视图进行更新,实现了通过数据流管理工具对小程序的数据流进行管理,并无缝衔接小程序的视图更新,而且通过数据流管理工具能够对跨页面对象的数据进行管理,大大降低了小程序数据流的管理复杂度,提高了小程序数据流的管理效率,解决了相关技术中页面对象对各自的数据流进行管理存在的复杂度高、管理效率低的问题。

为了实现上述实施例,本发明还提出一种数据流管理工具。图8为本发明实施例提供的一种数据流管理工具的结构示意图。

如图8所示,该数据流管理工具包括:接收模块810、第二更新模块820、映射模块830。

其中,接收模块810,用于接收小程序在监听到触发事件后发送的用于更新视图中第一元素状态的动作;其中,动作中携带第一元素当前状态的第一数据和更新后的目标状态的第二数据;触发事件是第一元素需要状态更新时发生的。

第二更新模块820,用于执行动作,对第一元素的状态进行更新;

映射模块830,用于将第二数据映射到小程序的页面对象中。

在本发明的一个实施例中,映射模块830还用于:

将第二数据添加到小程序对应的订阅消息中

通过订阅消息将第二数据反馈给小程序,以使小程序将第二数据写入到页面对象中。

在本发明的一个实施例中,第二更新模块820还用于:

执行动作,从动作中提取第二数据;

利用第二数据替换状态中心中第一元素的第一数据。

需要说明的是,前述对从数据流管理工具侧描述的应用小程序的数据流管理方法实施例的解释说明,也适用于该实施例的数据流管理工具,在此不再赘述。

为了更清楚说明上述实施例,下面结合图9说明本发明实施例提出的应用小程序和数据流管理工具。

如图9所示,应用小程序和数据流管理工具设置在应用程序中。用户可以对视图上的元素执行操作,当应用小程序探测到用户对视图上的第一元素执行更新操作时,或者应用程序接收到服务器返回的用于更新第一元素状态的第二数据时,生成携带第一元素的当前状态的第一数据和更新后的目标状态的第二数据的动作,并将动作发送给数据流管理工具。

数据流管理工具执行动作,并将动作中的第二数据添加中至数据流管理工具订阅的订阅消息中。应用小程序接收到订阅消息后,提取第二数据并写入视图的页面对象中。应用小程序从视图的页面对象中提取第二数据,利用数据设置函数,将第一元素从当前状态更新到目标状态。

本发明实施例的数据流管理工具,通过接收小程序发送的动作,在执行动作对第一元素状态进行更新后,将用于更新视图中第一元素状态的第二数据映射到小程序的页面对象中,从而实现了对小程序数据流的管理,而且能够对跨页面对象的数据进行管理,大大降低了小程序数据流的管理复杂度,提高了小程序数据流的管理效率,解决了相关技术中页面对象对各自的数据流进行管理存在的复杂度高、管理效率低的问题。

为了实现上述实施例,本发明还提出一种计算机设备,包括处理器和存储器;其中,处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,以用于实现如前述任一从小程序侧描述的应用小程序的数据流管理方法,或者,以用于实现如前述任一从数据流管理工具侧描述的应用小程序的数据流管理方法。

为了实现上述实施例,本发明还提出一种计算机程序产品,当计算机程序产品中的指令由处理器执行时,执行如前述任一从小程序侧描述的应用小程序的数据流管理方法,或者,执行如前述任一从数据流管理工具侧描述的应用小程序的数据流管理方法。

为了实现上述实施例,本发明还提出一种非临时性计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如前述任一从小程序侧描述的应用小程序的数据流管理方法,或者,实现如前述任一从数据流管理工具侧描述的应用小程序的数据流管理方法。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。

在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。

应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。

上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1