[发明专利]单页面应用持久化状态管理方法、装置、计算机设备及存储介质在审
申请号: | 202210731971.8 | 申请日: | 2022-06-26 |
公开(公告)号: | CN115292625A | 公开(公告)日: | 2022-11-04 |
发明(设计)人: | 张磊;柳遵梁 | 申请(专利权)人: | 杭州美创科技有限公司 |
主分类号: | G06F16/957 | 分类号: | G06F16/957 |
代理公司: | 杭州知学知识产权代理事务所(普通合伙) 33356 | 代理人: | 张雯 |
地址: | 310011 浙江省杭州市拱墅*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 页面 应用 持久 状态 管理 方法 装置 计算机 设备 存储 介质 | ||
本发明实施例公开了单页面应用持久化状态管理方法、装置、计算机设备及存储介质。所述方法包括:将应用程序的页面状态存储至sessionStorage中;利用页面路将页面数据隔离区分;将应用程序的页面状态存储至RAM中;获取页面状态时判断所述RAM中的页面状态是否丢失;若否,则读取所述RAM内的页面状态,以得到读取结果;输出所述读取结果;若是,则读取所述sessionStorage内的页面状态,以得到读取结果,并执行所述输出所述读取结果。通过实施本发明实施例的方法可实现切换页面时确保单页面web应用程序的状态本地化存储和离线访问,保证对用户返回操作、二次渲染的体验感,避免在页面间的数据共享的场景下存在不确定因素。
技术领域
本发明涉及web单单页面应用持久化状态管理方法,更具体地说是指单页面应用持久化状态管理方法、装置、计算机设备及存储介质。
背景技术
目前web前端项目由单页面应用和virtural-dom的方式实现,namepath的切换并不触发服务器资源请求,而是javascript根据namepath的变化更改渲染内容。不同页面间数据共享需求迫切、namepath变化后页面数据持久保存问题突出。
在单页面应用项目中,切换namepath后会销毁当前页面数据,从而加载新的页面数据,当页面用户重新返回之前namepath后,并不能看到之前的页面状态;而业界的状态管理策略是将页面状态存储在RAM(随机存取存储器,RandomAccess Memory)中,在单页面应用下切换页面后需要从内存中读取数据,一旦用户在浏览网页过程中存在刷新行为,则所有浏览网站所产生的数据会全部丢失,造成不好的使用体验和资源请求的浪费。
综上所述,上述的两种问题均会导致单页面web应用程序的状态本地化存储和离线访问无法实现,对用户返回操作、二次渲染造成不好的体验,在页面间的数据共享的场景下存在不确定因素。
因此,有必要设计一种新的方法,实现切换页面时确保单页面web应用程序的状态本地化存储和离线访问,保证对用户返回操作、二次渲染的体验感,避免在页面间的数据共享的场景下存在不确定因素。
发明内容
本发明的目的在于克服现有技术的缺陷,提供单页面应用持久化状态管理方法、装置、计算机设备及存储介质。
为实现上述目的,本发明采用以下技术方案:单页面应用持久化状态管理方法,包括:
将应用程序的页面状态存储至sessionStorage中;
利用页面路将页面数据隔离区分;
将应用程序的页面状态存储至RAM中;
获取页面状态时判断所述RAM中的页面状态是否丢失;
若所述RAM中的页面状态未丢失,则读取所述RAM内的页面状态,以得到读取结果;
输出所述读取结果;
若所述RAM中的页面状态丢失,则读取所述sessionStorage内的页面状态,以得到读取结果,并执行所述输出所述读取结果。
其进一步技术方案为:所述将应用程序的页面状态存储至sessionStorage中,包括:
通过页面的生命周期,将页面不同生命阶段的状态实时存储在sessionStorage中,并绑定生命周期,备份当前状态;
将namepath作为根存储空间,对同一个namepath下的所有页面状态分配同一块存储空间。
其进一步技术方案为:所述利用页面路将页面数据隔离区分,包括:
同一个namepath下不同页面状态根据自定义的namespace分配不同存储空间;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州美创科技有限公司,未经杭州美创科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210731971.8/2.html,转载请声明来源钻瓜专利网。