一种基于制造技术

技术编号:39568577 阅读:8 留言:0更新日期:2023-12-03 19:19
本发明专利技术提供了一种基于

【技术实现步骤摘要】
一种基于Pinia实现仓库数据持久化的装置及方法


[0001]本专利技术涉及计算机
,具体涉及一种基于
Pinia
实现仓库数据持久化并记录变更日志的装置及方法


技术介绍

[0002]在
Web
应用程序开发过程中,前端状态管理对于应用程序的稳定性和可维护性具有重要意义

为了更好地管理前端状态,许多前端框架都引入了状态管理库,如
Vue.js

Vuex

React

Redux。
然而,这些状态管理库在某些情况下可能显得过于繁琐

在这种背景下,
Pinia
作为一个轻量级的状态管理库应运而生,提供了简洁易用的
API
和清晰的状态管理结构,逐渐受到越来越多开发者的青睐

[0003]Pinia
是一个数据仓库,用于存储一定范围内的通用的数据

尽管
Pinia
框架在状态管理方面表现出色,但在数据持久化方面仍有改进空间

前端数据的持久化,可以通过存储用户数据,在重新访问时提升用户体验,降低服务器压力,减少不必要的数据请求

当前,
Pinia
框架几乎不具备的数据持久化能力,可能无法满足复杂业务场景下对数据持久化的需求

另外,
Pinia
框架自身不具备记录状态变更日志的功能,在复杂的业务场景中,跟踪数据状态变化,是我们调试功能代码和提高工作效率的必要工作


技术实现思路

[0004]为了弥补上述不足,本专利技术的目的在于提出一种基于
Pinia
实现仓库数据持久化且记录其变更日志的方案与装置,通过解析单元

侦听单元

存储单元和日志单元的高效协同工作,实现了仓库数据状态自动持久化和实时输出日志记录的功能

[0005]基于上述目的,第一方面,本专利技术提供了一种基于
Pinia
实现仓库数据持久化的装置,该装置包括解析单元

侦听单元

存储单元和日志单元;
[0006]所述解析单元用于读取解析本装置在
Pinia
仓库中的配署参数;
[0007]所述侦听单元用于根据解析单元读取的配署参数,开启对
Pinia
仓库全部属性或部分属性的监听,捕捉数据变化值,上报并通知存储单元和日志单元;
[0008]所述存储单元用于根据接收到的存储策略和数据;
[0009]所述日志单元用于在浏览器控制台打印仓库变更日志

持久化日志

[0010]作为本专利技术的进一步方案,所述解析单元还用于加载

解析通过
Pinia
仓库的实例化函数传入的本装置的配置参数,其中,所述配置参数包括是否开启本装置以及存储持久化策略组

[0011]作为本专利技术的进一步方案,所述侦听单元还用于监听页面的初始化,通知存储单元加载持久化数据,初始化仓库

[0012]作为本专利技术的进一步方案,所述存储单元为处理持久化逻辑的单元,所述存储单元还用于将待持久化的数据按策略持久化到
storage
中,其中,
storage
包括
localStorage

sessionStorage(Storage
:现代浏览器的存储方式之一,包括会话周期的
sessionStorage
和永久性的
localStorage)。
[0013]作为本专利技术的进一步方案,所述存储单元按策略持久化时,若策略中指定了自定义的持久化函数,则执行自定义的持久化函数,否则执行默认的持久化策略

[0014]作为本专利技术的进一步方案,在页面刷新

重载时,所述存储单元还用于读取并反序列化
storage
中已被持久化的数据,并初始化到
Pinia
仓库中

[0015]作为本专利技术的进一步方案,所述日志单元包括仓库最新值

本次变化持久化到
localStorage
中的值和持久化到
sessionStorage
中的值

[0016]第二方面,本专利技术还提供了一种基于
Pinia
实现仓库数据持久化的方法,该方法包括以下步骤:
[0017]通过解析单元加载

解析本装置的配置参数,由侦听单元开启对
Pinia
仓库数据的监听;
[0018]数据发生改变时通知存储单元根据存储策略对仓库数据进行持久化,通知日志单元在浏览器控制台输出更新的仓库数据

本次持久化到
storage
中的数据;
[0019]页面初始化时,存储单元读取已持久化的数据,反序列化后将数据初始化到仓库中

[0020]作为本专利技术的进一步方案,在基于解析单元

侦听单元

存储单元和日志单元的有效组合执行该基于
Pinia
实现仓库数据持久化的方法时,包括以下步骤:
[0021]由解析单元读取解析本装置在
Pinia
仓库中的配署参数;
[0022]由侦听单元根据解析单元读取的配署开启对
Pinia
仓库全部属性或部分属性的监听,捕捉数据变化值,上送并通知存储单元和日志单元,而且,侦听单元还负责监听页面的初始化,通知存储单元加载持久化数据,初始化仓库;
[0023]由存储单元,处理持久化逻辑的单元,根据接收到的存储策略和数据,将需要持久化的数据按策略持久化到
storage
中,若策略中指定了自定义的持久化函数,则执行自定义的持久化函数,否则执行默认的持久化策略;
[0024]由日志单元在浏览器控制台分类

分标签

分颜色打印仓库变更日志

持久化日志

[0025]作为本专利技术的进一步方案,在页面刷新

重载时,存储单元负责读取并反序列化
storage
中已被持久化的数据,并初始化到
Pinia
仓库中

[0026]本专利技术的又一方面,还提供了一种计算机设备,包括存储器和处理器,该存储器中存储有计算机程序,该计算机程序被处理器执行时执行上述任一项根据本专利技术的基于
Pinia
实现仓库数据持久化的方法

[0027]本专利技术的再一方面,还提供了一种计算机可本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种基于
Pinia
实现仓库数据持久化的装置,其特征在于,该装置包括解析单元

侦听单元

存储单元和日志单元;所述解析单元用于读取解析本装置在
Pinia
仓库中的配署参数;所述侦听单元用于根据解析单元读取的配署参数,开启对
Pinia
仓库全部属性或部分属性的监听,捕捉数据变化值,上报并通知存储单元和日志单元;所述存储单元用于根据接收到的存储策略和数据;所述日志单元用于在浏览器控制台打印仓库变更日志以及持久化日志
。2.
根据权利要求1所述的基于
Pinia
实现仓库数据持久化的装置,其特征在于,所述解析单元还用于加载

解析通过
Pinia
仓库的实例化函数传入的本装置的配置参数,其中,所述配置参数包括是否开启本装置以及存储持久化策略组
。3.
根据权利要求2所述的基于
Pinia
实现仓库数据持久化的装置,其特征在于所述侦听单元还用于监听页面的初始化,通知存储单元加载持久化数据,初始化仓库
。4.
根据权利要求3所述的基于
Pinia
实现仓库数据持久化的装置,其特征在于,所述存储单元为处理持久化逻辑的单元,所述存储单元还用于将待持久化的数据按策略持久化到
storage
中,其中,
storage
包括
localStorage

sessionStorage。5.
根据权利要求4所述的基于
Pinia
实现仓库数据持久化的装置,其特征在于,所述存储单元按策略持久化时,若策略中指定了自定义的持久化函数,则执行自定义的持久化函数,否则执行默认的持久化策略
。6.
根据权利要求5所述的基于
Pinia
实现仓库数据持久化的装置,其特征在于,在页面刷新

重载时,所述存储单元还用于读取并反序列化
storage
中已被持久化的数据,并初始化到
Pinia
仓库中
。7.
根据权利要求6所述的基于
Pinia
实现仓库数据持久化的装置,其特征在于,所述日志单元包括仓库最新值

...

【专利技术属性】
技术研发人员:崔守佳朱道昌
申请(专利权)人:济南浪潮数据技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1