CN113849177A - 一种全局数据状态管理方法、装置、电子设备及存储介质 - Google Patents
一种全局数据状态管理方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN113849177A CN113849177A CN202111143813.2A CN202111143813A CN113849177A CN 113849177 A CN113849177 A CN 113849177A CN 202111143813 A CN202111143813 A CN 202111143813A CN 113849177 A CN113849177 A CN 113849177A
- Authority
- CN
- China
- Prior art keywords
- synchronized
- state management
- data state
- global data
- variable
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/36—Software reuse
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/76—Adapting program code to run in a different environment; Porting
-
- 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/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4488—Object-oriented
- G06F9/449—Object-oriented method invocation or resolution
Abstract
本申请涉及一种全局数据状态管理方法、装置、电子设备及存储介质,属于数据管理技术领域。其中,一种全局数据状态管理方法,包括:在运行小程序的第一页面的过程中,通过调用全局数据状态管理模块监听需同步变量的取值变化;在所述需同步变量的取值发生变化时,通过调用所述全局数据状态管理模块更新所述需同步变量的值;在运行所述小程序的第二页面的过程中,调用所述全局数据状态管理模块,将所述需同步变量的值更新至所述第二页面。本方法使用全局数据状态管理模块对跨页面的需同步变量进行处理,解决了小程序开发中重写Page后的跨页面同步更新的技术问题,在小程序开发中引入单独的全局数据状态管理模块,降低耦合度,方便迁移到项目中。
Description
技术领域
本申请涉及数据管理技术领域,尤其涉及一种全局数据状态管理方法、装置、电子设备及存储介质。
背景技术
随着互联网的发展,JavaScript(JS)语言在程序开发中得到广泛应用。在JS开发中,数据状态不同页面中不能跨页面同步更新,需要引入vuex、mobx或redux这些全局的数据状态管理功能,但在一些特定的JS开发中,比如类似小程序开发,虽然可以移植这些库,但由于不是同一生态,经常存在兼容性的问题。
也有部分专门基于小程序开发的库,但是由于该专门基于小程序开发的库重写了Page方法,而现在很多项目都有自己的框架(已经重写了Page方法等),无法直接使用,如果要重构代价较大,跨页面的同步更新问题依然存在,不利于维护。
发明内容
为了解决小程序开发中重写Page后的跨页面同步更新的技术问题,本申请提供了一种全局数据状态管理方法、装置、电子设备及存储介质。
第一方面,本申请提供了一种全局数据状态管理方法,所述方法包括:
在运行小程序的第一页面的过程中,通过调用全局数据状态管理模块监听需同步变量的取值变化;
在所述需同步变量的取值发生变化时,通过调用所述全局数据状态管理模块更新所述需同步变量的值;
在运行所述小程序的第二页面的过程中,调用所述全局数据状态管理模块,将所述需同步变量的值更新至所述第二页面;
进一步,还包括:所述在运行小程序的第一页面的过程中,通过调用全局数据状态管理模块监听需同步变量的取值变化之后,所述方法还包括:
在所述需同步变量的取值赋空值时,通过调用所述全局数据状态管理模块将所述需同步变量删除;
在运行所述小程序的第二页面的过程中,调用所述全局数据状态管理模块,将所述第二页面中的所述需同步变量删除;
进一步,还包括:所述在运行小程序的第一页面的过程中,通过调用全局数据状态管理模块监听需同步变量的取值变化之前,所述方法还包括:
创建全局数据状态管理基础类,其中,全局数据状态管理基础类包括用于存储数据状态的类、用于定义数据模型的类、用于对比数据变化的类、用于数据更新的类和用于数据导出的类;
对所述全局数据状态管理基础类进行封装得到所述全局数据状态管理模块;
进一步,还包括:所述创建全局数据状态管理基础类,包括:
获取所述需同步变量的属性;
根据所述需同步变量的属性,对所述需同步变量进行划分,得到至少一个属性集合,其中,同一个属性集合中的所述需同步变量对应相同的属性;
为所述至少一个属性集合分配存储空间,获取所述需同步变量与所述存储空间的映射关系;
创建所述全局数据状态管理基础类,其中,所述全局数据状态管理基础类按照所述映射关系管理所述需同步变量;
进一步,还包括:所述通过调用全局数据状态管理模块监听需同步变量的取值变化,包括:
通过所述全局数据状态管理模块中的全局数据状态管理对比库监听所述需同步变量,获取监听结果,所述监听结果包括所述需同步变量的变化;
通过所述全局数据状态管理模块调用所述监听结果,并对所述监听结果进行封装,得到所述需同步变量的取值变化;
进一步,还包括:所述在所述需同步变量的取值发生变化时,通过调用所述全局数据状态管理模块更新所述需同步变量的值,包括:
获取所述需同步变量的取值发生变化;
调用所述全局数据状态管理模块的第一指定方法;
根据所述第一指定方法更新所述需同步变量的值;
进一步,还包括:所述在运行所述小程序的第二页面的过程中,调用所述全局数据状态管理模块,将所述需同步变量的值更新至所述第二页面,包括:
获取运行所述小程序的第二页面的指令;
根据所述指令打开所述第二页面,并调用所述全局数据状态管理模块的第二指定方法;
根据所述第二指定方法将所述需同步变量的值更新至所述第二页面;
进一步,还包括:所述在所述需同步变量的取值发生变化时,通过调用所述全局数据状态管理模块更新所述需同步变量的值之后,所述方法还包括:
根据所述需同步变量的取值变化情况生成回调函数;
获取回调请求,根据所述回调请求调取对应的所述回调函数,以通过所述回调函数获取所述需同步变量变化前的数值;
和/或
根据所述需同步变量的取值变化情况生成数据变更日志;
获取查看日志请求,根据所述查看日志请求调取对应的所述数据变更日志。
第二方面,本申请提供了一种全局数据状态管理装置,所述装置包括:
监听模块,用于在运行小程序的第一页面的过程中,通过调用全局数据状态管理模块监听需同步变量的取值变化;
第一更新模块,用于在所述需同步变量的取值发生变化时,通过调用所述全局数据状态管理模块更新所述需同步变量的值;
第二更新模块,用于在运行所述小程序的第二页面的过程中,调用所述全局数据状态管理模块,将所述需同步变量的值更新至所述第二页面。
第三方面,提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现第一方面任一项实施例所述的全局数据状态管理方法的步骤。
第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面任一项实施例所述的全局数据状态管理方法的步骤。
本申请实施例提供的上述技术方案与现有技术相比具有如下优点:
本申请实施例提供的该方法,在运行小程序的第一页面的过程中,通过调用全局数据状态管理模块监听需同步变量的取值变化;在所述需同步变量的取值发生变化时,通过调用所述全局数据状态管理模块更新所述需同步变量的值;在运行所述小程序的第二页面的过程中,调用所述全局数据状态管理模块,将所述需同步变量的值更新至所述第二页面。本申请提供的全局数据状态管理方法,使用模块的概念引入全局数据状态管理模块,解决了小程序开发中重写Page后的跨页面同步更新的技术问题,在小程序开发中不需要封装page或者重写page,引入单独的全局数据状态管理模块,降低耦合度,方便迁移到项目中。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种全局数据状态管理方法的系统架构图;
图2为本申请实施例提供的一种全局数据状态管理方法的流程示意图;
图3为本申请实施例提供的另一种全局数据状态管理方法的流程示意图;
图4为本申请实施例提供的另一种全局数据状态管理方法的流程示意图;
图5为本申请实施例提供的一种创建全局数据状态管理基础类的流程示意图;
图6为本申请实施例提供的另一种全局数据状态管理方法的流程示意图;
图7为本申请实施例提供的一种全局数据状态管理装置的结构示意图;
图8为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请第一实施例提供了一种全局数据状态管理的方法,该方法可以应用于如图1所示的系统架构,该系统架构中至少包括终端100和服务器101,该终端100和服务器101建立通信连接。
其中,服务器101中预先创建全局数据状态管理模块,终端100在运行过程中可以调用服务器101中的全局数据状态管理模块,可以应用在已经重写了Page的小程序开发中,以解决小程序开发中重写Page后的跨页面同步更新的问题。
该全局数据状态管理方法,如图2,包括:
步骤201,在运行小程序的第一页面的过程中,通过调用全局数据状态管理模块监听需同步变量的取值变化。
在运行小程序的过程中,如果一个变量同时至少存在于第一页面和第二页面中,在第一页面修改该变量后,想要在第二页面中也更新为修改后的取值,那么,就需要通过调用全局数据状态管理模块来监听需同步变量的取值变化。
其中,通过调用全局数据状态管理模块监听需同步变量的取值变化,如图3,包括:
步骤301,通过全局数据状态管理模块中的全局数据状态管理对比库监听需同步变量,获取监听结果,监听结果包括需同步变量的变化。
监听需同步变量的取值变化,可以使用全局数据状态管理对比库(以下可简称对比库,或diff库)来对需同步变量进行监听,对比库也称为diff库,在JS(JavaScript)开发中,一般在需要对比库的使用,可以使用开源的库,比如JSdiff库。diff库作为监听需同步变量的工具,可以记录需同步变量的变化。
步骤302,通过全局数据状态管理模块调用监听结果,并对监听结果进行封装,得到需同步变量的取值变化。
在diff库监听需同步变量的变化后,全局数据状态管理模块调用diff库监听的结果,并对结果进行封装,得到需同步变量的取值变化。
步骤202,在需同步变量的取值发生变化时,通过调用全局数据状态管理模块更新需同步变量的值。
在需同步变量的取值发生变化时,不能直接修改需同步变量的值,而是需通过调用全局数据状态管理模块来对需同步变量的值进行更新。如果直接修改,diff库无法监听到需同步变量的变化情况,也就无法告知其他页面,在第一页面的需同步变量的值发生了变化,也就拿不到正确的数据,出现数据混乱的情况。
在需同步变量的取值发生变化时,通过调用全局数据状态管理模块更新需同步变量的值,具体包括:获取需同步变量的取值发生变化;调用全局数据状态管理模块的第一指定方法;根据第一指定方法更新需同步变量的值。
其中,第一指定方法,可以是全局数据状态管理模块提供的数据更新(_setdata)方法,使用全局数据状态管理模块自带的setdata方法,在更新需同步变量的值时,可以被diff库监听,可以解决小程序开发中重写Page后的跨页面同步更新。如果直接改模块里存的数据,比如使用页面提供的this.setData方法,diff库无法监听数据变化,其他页面的该需同步变量也就无法同步更新数据,造成数据混乱。
在步骤202通过调用全局数据状态管理模块更新需同步变量的值之后,还可以进一步获取需同步变量变化前的数值,具体包括:根据需同步变量的取值变化情况生成回调函数。获取回调请求,根据回调请求调取对应的回调函数,以通过回调函数获取需同步变量变化前的数值。
在步骤202通过调用全局数据状态管理模块更新需同步变量的值之后,还可以进一步获取数据变更日志,具体包括:根据需同步变量的取值变化情况生成数据变更日志。获取查看日志请求,根据查看日志请求调取对应的数据变更日志。
其中,可以根据需同步变量的取值变化情况同时生成回调函数和数据变更日志,也可以生成回调函数和数据变更日志中的任意一种。
当小程序运行时,一般情况下,会时常通过应用程序接口(ApplicationProgramming Interface,简称API)调用库里所预先备好的函数。但是有些库函数(libraryfunction)在应用时会要求给它先传一个函数,以备在需要的时候调用,用以完成目标任务。这个被传入的、后又被调用的函数就称为回调函数(callback function)。
在diff库监听需同步变量的变化时,可以同时提供相应的回调函数用于数据变化处理,也可以同时生成数据变更日志,用于记录数据的变更历史,当然,回调函数和数据变更日志可以同时生成,也可以根据需要设置生成其中任意一个。回调函数在满足触发条件或者获取回调请求时触发,调取回调函数对数据变化进行处理。
步骤203,在运行小程序的第二页面的过程中,调用全局数据状态管理模块,将需同步变量的值更新至第二页面。
在需同步变量的取值在第一页面发生变化后,在运行小程序的第二页面时,需同步变量向全局数据状态管理模块请求数据,全局数据状态管理模块将diff库对比出来的最新的需同步变量的值更新至第二页面,保持与第一页面同步变化,避免出现数据混乱的情况。
在运行小程序的第二页面的过程中,调用全局数据状态管理模块,将需同步变量的值更新至第二页面,具体包括:获取运行小程序的第二页面的指令;根据指令打开第二页面,并调用全局数据状态管理模块的第二指定方法;根据第二指定方法将需同步变量的值更新至第二页面。
其中,第二指定方法,可以是全局数据状态管理模块的数据导出(_export)方法,所有页面要获取全局的状态信息,调用全局数据状态管理模块的export方法获取对应的数据,在数据更新使用export方法,与setdata方法进行区分,在解决小程序开发中重写Page后的跨页面同步更新的技术问题时,又能避免diff库监听时数据混乱。
一个实施例中,在步骤203调用全局数据状态管理模块,将需同步变量的值更新至第二页面之后,如图4,方法还包括:
步骤401,在需同步变量的取值赋空值时,通过调用全局数据状态管理模块将需同步变量删除。
步骤402,在运行小程序的第二页面的过程中,调用全局数据状态管理模块,将第二页面中的需同步变量删除。
在需要将需同步变量删除时,只需将其的取值赋空值即可。
一个实施例中,在步骤201通过调用全局数据状态管理模块监听需同步变量的取值变化之前,方法还包括:
创建全局数据状态管理基础类,其中,全局数据状态管理基础类包括用于存储数据状态的类、用于定义数据模型的类、用于对比数据变化的类、用于数据更新的类和用于数据导出的类。对全局数据状态管理基础类进行封装得到全局数据状态管理模块。
其中,用于存储数据状态的类,即存储数据(GlobalDatas),用于存储数据状态,充当保存数据的功能,所有的需同步变量都保存在此,提供给页面引用和修改。
用于定义数据模型的类,即数据模型(_require),也就是开发人员定义的数据模型,登陆用户的数据信息或者设备状态信息等,所有需要全局数据状态管理的状态必须提供一个数据模型。
用于对比数据变化的类,即数据观察者(_objserver),主要负责监听数据的变化、提供回调、提供日志。当发生数据变化请求时,会优先对比原数据是有区别,数据模型是否支持该数据的存储。数据改变后,生成对比日志,提供该变化数据的回调,以供页面监听数据变化来处理业务。
用于数据更新的类,即数据更新(_setdata),增删改都归为数据更新,所有页面要改变全局的状态信息,必须调用模块提供的setdata方法,避免直接操作数据模型,避免造成数据混乱。
用于数据导出的类,即数据导出(_export),所有页面要获取全局的状态信息,必须调用模块export方法获取对应的数据。
创建全局数据状态管理基础类,如图5,包括:
步骤501,获取需同步变量的属性。
步骤502,根据需同步变量的属性,对需同步变量进行划分,得到至少一个属性集合,其中,同一个属性集合中的需同步变量对应相同的属性。
步骤503,为至少一个属性集合分配存储空间,获取需同步变量与存储空间的映射关系。
步骤504,创建全局数据状态管理基础类,其中,全局数据状态管理基础类按照映射关系管理需同步变量。
为保证全局数据状态管理基础类的稳定和安全,禁止开发人员直接访问基础类。可根据对象和数据或者功能,创建不同的需同步变量,即定义开发需要的各种全局数据。为便于项目的维护,可根据需同步变量的属性,分配不同的存储空间,将相同属性的需同步变量集中管理。
在创建全局数据状态管理基础类后,对基础类进行封装得到全局数据状态管理模块。当开发人员需要使用全局数据状态管理时,在需要的文件引入需同步变量,将需要更改的数据赋值给需同步变量即可,删除操作赋空值;取全局值只需要取对应需同步变量的数值即可;当需要监听数据变化,触发业务操作时,找到对应需同步变量的回调函数,监听并并编写相关业务即可。
一个实施例中,全局数据状态管理方法也可以如图6,包括:
步骤601,创建全局数据状态管理基础类,引入diff库。
步骤602,开发基础类的:存储数据(GlobalDatas)、数据模型(_require)、数据观察者(_objserver)、数据更新(_setdata)、数据导出(_export)属性和方法,并将基础类封装成全局数据状态管理模块。
步骤603,创建需同步变量,并导出属性和方法。
步骤604,更新数据,在需要使用的文件引入需同步变量,将需要全局使用的数据赋值给需同步变量即可;查询数据,在需要查询的文件位置引入需同步变量,直接去保存当时的数据即可;监听数据,在需要的文件位置引入需同步变量,使用全局数据状态管理模块监听回调,当数据发生变化时,触发回调函数。
数据模型可以是在基础类中开辟的存储空间,按照存储空间存储的数据属性分为不同的区域,在创建需同步变量时,将不同属性的需同步变量放到不同的数据模型,方便管理。
基于同一构思,本申请第二实施例提供了一种全局数据状态管理装置,如图7,该全局数据状态管理装置包括:
监听模块701,用于在运行小程序的第一页面的过程中,通过调用全局数据状态管理模块监听需同步变量的取值变化;
第一更新模块702,用于在需同步变量的取值发生变化时,通过调用全局数据状态管理模块更新需同步变量的值;
第二更新模块703,用于在运行小程序的第二页面的过程中,调用全局数据状态管理模块,将需同步变量的值更新至第二页面。
使用本全局数据状态管理装置,使用模块的概念引入全局数据状态管理模块,解决了小程序开发中重写Page后的跨页面同步更新的技术问题,在小程序开发中不需要封装page或者重写page,引入单独的全局数据状态管理模块,降低耦合度,方便迁移到项目中。
如图8所示,本申请第三实施例提供提供了一种电子设备,包括处理器111、通信接口112、存储器113和通信总线114,其中,处理器111,通信接口112,存储器113通过通信总线114完成相互间的通信,
存储器113,用于存放计算机程序;
在本申请一个实施例中,处理器111,用于执行存储器113上所存放的程序时,实现前述任意一个方法实施例提供的全局数据状态管理的方法,包括:
在运行小程序的第一页面的过程中,通过调用全局数据状态管理模块监听需同步变量的取值变化;
在所述需同步变量的取值发生变化时,通过调用所述全局数据状态管理模块更新所述需同步变量的值;
在运行所述小程序的第二页面的过程中,调用所述全局数据状态管理模块,将所述需同步变量的值更新至所述第二页面。
上述终端提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述终端与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本申请第四实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如前述任意一个方法实施例提供的全局数据状态管理方法的步骤。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
Claims (11)
1.一种全局数据状态管理方法,其特征在于,所述方法包括:
在运行小程序的第一页面的过程中,通过调用全局数据状态管理模块监听需同步变量的取值变化;
在所述需同步变量的取值发生变化时,通过调用所述全局数据状态管理模块更新所述需同步变量的值;
在运行所述小程序的第二页面的过程中,调用所述全局数据状态管理模块,将所述需同步变量的值更新至所述第二页面。
2.根据权利要求1所述的方法,其特征在于,所述在运行小程序的第一页面的过程中,通过调用全局数据状态管理模块监听需同步变量的取值变化之后,所述方法还包括:
在所述需同步变量的取值赋空值时,通过调用所述全局数据状态管理模块将所述需同步变量删除;
在运行所述小程序的第二页面的过程中,调用所述全局数据状态管理模块,将所述第二页面中的所述需同步变量删除。
3.根据权利要求1所述的方法,其特征在于,所述在运行小程序的第一页面的过程中,通过调用全局数据状态管理模块监听需同步变量的取值变化之前,所述方法还包括:
创建全局数据状态管理基础类,其中,全局数据状态管理基础类包括用于存储数据状态的类、用于定义数据模型的类、用于对比数据变化的类、用于数据更新的类和用于数据导出的类;
对所述全局数据状态管理基础类进行封装得到所述全局数据状态管理模块。
4.根据权利要求3所述的方法,其特征在于,所述创建全局数据状态管理基础类,包括:
获取所述需同步变量的属性;
根据所述需同步变量的属性,对所述需同步变量进行划分,得到至少一个属性集合,其中,同一个属性集合中的所述需同步变量对应相同的属性;
为所述至少一个属性集合分配存储空间,获取所述需同步变量与所述存储空间的映射关系;
创建所述全局数据状态管理基础类,其中,所述全局数据状态管理基础类按照所述映射关系管理所述需同步变量。
5.根据权利要求1所述的方法,其特征在于,所述通过调用全局数据状态管理模块监听需同步变量的取值变化,包括:
通过所述全局数据状态管理模块中的全局数据状态管理对比库监听所述需同步变量,获取监听结果,所述监听结果包括所述需同步变量的变化;
通过所述全局数据状态管理模块调用所述监听结果,并对所述监听结果进行封装,得到所述需同步变量的取值变化。
6.根据权利要求1所述的方法,其特征在于,所述在所述需同步变量的取值发生变化时,通过调用所述全局数据状态管理模块更新所述需同步变量的值,包括:
获取所述需同步变量的取值发生变化;
调用所述全局数据状态管理模块的第一指定方法;
根据所述第一指定方法更新所述需同步变量的值。
7.根据权利要求1所述的方法,其特征在于,所述在运行所述小程序的第二页面的过程中,调用所述全局数据状态管理模块,将所述需同步变量的值更新至所述第二页面,包括:
获取运行所述小程序的第二页面的指令;
根据所述指令打开所述第二页面,并调用所述全局数据状态管理模块的第二指定方法;
根据所述第二指定方法将所述需同步变量的值更新至所述第二页面。
8.根据权利要求1所述的方法,其特征在于,所述在所述需同步变量的取值发生变化时,通过调用所述全局数据状态管理模块更新所述需同步变量的值之后,所述方法还包括:
根据所述需同步变量的取值变化情况生成回调函数;
获取回调请求,根据所述回调请求调取对应的所述回调函数,以通过所述回调函数获取所述需同步变量变化前的数值;
和/或
根据所述需同步变量的取值变化情况生成数据变更日志;
获取查看日志请求,根据所述查看日志请求调取对应的所述数据变更日志。
9.一种全局数据状态管理装置,其特征在于,所述装置包括:
监听模块,用于在运行小程序的第一页面的过程中,通过调用全局数据状态管理模块监听需同步变量的取值变化;
第一更新模块,用于在所述需同步变量的取值发生变化时,通过调用所述全局数据状态管理模块更新所述需同步变量的值;
第二更新模块,用于在运行所述小程序的第二页面的过程中,调用所述全局数据状态管理模块,将所述需同步变量的值更新至所述第二页面。
10.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-8任一项所述的全局数据状态管理方法的步骤。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-8任一项所述的全局数据状态管理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111143813.2A CN113849177A (zh) | 2021-09-28 | 2021-09-28 | 一种全局数据状态管理方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111143813.2A CN113849177A (zh) | 2021-09-28 | 2021-09-28 | 一种全局数据状态管理方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113849177A true CN113849177A (zh) | 2021-12-28 |
Family
ID=78980325
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111143813.2A Pending CN113849177A (zh) | 2021-09-28 | 2021-09-28 | 一种全局数据状态管理方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113849177A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114567623A (zh) * | 2022-02-20 | 2022-05-31 | 中国银联股份有限公司 | 一种页面显示方法及装置 |
CN117520019A (zh) * | 2024-01-05 | 2024-02-06 | 杭州玳数科技有限公司 | 一种组件通信方法及装置 |
-
2021
- 2021-09-28 CN CN202111143813.2A patent/CN113849177A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114567623A (zh) * | 2022-02-20 | 2022-05-31 | 中国银联股份有限公司 | 一种页面显示方法及装置 |
CN114567623B (zh) * | 2022-02-20 | 2023-09-08 | 中国银联股份有限公司 | 一种页面显示方法及装置 |
CN117520019A (zh) * | 2024-01-05 | 2024-02-06 | 杭州玳数科技有限公司 | 一种组件通信方法及装置 |
CN117520019B (zh) * | 2024-01-05 | 2024-04-09 | 杭州玳数科技有限公司 | 一种组件通信方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107766126B (zh) | 容器镜像的构建方法、系统、装置及存储介质 | |
US20150067167A1 (en) | Hot pluggable extensions for access management system | |
CN113849177A (zh) | 一种全局数据状态管理方法、装置、电子设备及存储介质 | |
US9652220B2 (en) | Zero down-time deployment of new application versions | |
US9218100B2 (en) | Method and system for partitioning asset management plugins | |
US11456914B2 (en) | Implementing affinity and anti-affinity with KUBERNETES | |
WO2019238563A1 (en) | System and methods with reduced complexity in the integration of exposed information models with applications | |
CN114356504A (zh) | 集群中数据迁移方法、装置、电子设备和存储介质 | |
CN116257438A (zh) | 接口测试用例的更新方法及相关设备 | |
CN113656001A (zh) | 平台组件开发方法、装置、计算机设备及存储介质 | |
CN113721973A (zh) | 配置文件生成方法、装置、设备及介质 | |
CN112379871A (zh) | 一种数据处理的方法和装置 | |
WO2024002302A1 (zh) | 应用管理方法、应用订阅方法及相关设备 | |
CN110825365B (zh) | 一种定制webview特性的方法、装置、设备和介质 | |
CN116755788A (zh) | 一种线上规则修改方法、装置、设备及存储介质 | |
WO2011157105A2 (zh) | 组件扩展方法和装置 | |
CN114791884A (zh) | 测试环境的构建方法、装置、存储介质及电子设备 | |
CN109783156B (zh) | 一种应用的启动控制方法及装置 | |
CN113726855A (zh) | 服务聚合方法、装置、电子设备以及计算机可读存储介质 | |
CN113032004A (zh) | 在开发环境中管理开发作业的方法、设备和程序产品 | |
CN111198899A (zh) | 应用程序中实体渲染的开发系统及方法 | |
CN112883695A (zh) | 生成报表模板和显示数据报表的方法、装置、设备和介质 | |
CN111124931B (zh) | 一种Java代码合规性检查方法和装置 | |
CN111506301B (zh) | 绕过系统限制反射调用的方法及相关设备 | |
US9058339B2 (en) | Source control inheritance locking |
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 |