通过使用HarmonyOS鸿蒙Next中Appstorage和PersistentStorage实现Token或用户信息的持久化存储
一般情况下,对于app端应用,我们使用Token向后端表明身份/用户/权限信息。
其中有一个很常见的需求:持久化Token信息,以便在应用重新启动后仍旧能保持登录状态(后续使用双Token刷新)
本文主要介绍通过使用Appstorage和PersistentStorage实现Token或用户信息的持久化存储。
参考:
- PersistentStorage:持久化存储UI状态-管理应用拥有的状态-状态管理(V1)-状态管理-学习ArkTS语言-基础入门 - 华为HarmonyOS开发者
- AppStorage:应用全局的UI状态存储-管理应用拥有的状态-状态管理(V1)-状态管理-学习ArkTS语言-基础入门 - 华为HarmonyOS开发者
只需要在src/main/ets/entryability/EntryAbility.ets的onWindowStageCreate函数中初始化
windowStage.loadContent('pages/Index', (err) => {
// ..其余代码省略
// 从持久化存储中获取信息(k-v存储)
// key = "testProp"
// 如果持久化存储中不存在key,则自动初始化,使得value = "initData"
// 如果持久化存储中存在key,则value = 持久化存储中的值
// 以上数据会自动同步到AppStorage的相同的key中
PersistentStorage.persistProp("testProp","initData")
});
后续可以使用
@StorageLink("testProp") testProp: string = ''; testProp = "newValue";
或者
AppStorage.set("testProp", "newValue");
实现对testProp的修改,修改会自动同步到相同key的PersistentStorage(即自动持久化),且AppStorage和PersistentStorage自动双向同步。
如果有Token加密的需求,自己持久化前加密保存即可。
参考代码:wraindy/harmony-token-persist: HarmonyOSApp实现Token持久化
重点关注:entry/src/main/ets/entryability/EntryAbility.ets和entry/src/main/ets/pages/Index.ets
更多关于通过使用HarmonyOS鸿蒙Next中Appstorage和PersistentStorage实现Token或用户信息的持久化存储的实战教程也可以访问 https://www.itying.com/category-93-b0.html
一般情况Token之类的敏感数据推荐使用关键资产储存
更多关于通过使用HarmonyOS鸿蒙Next中Appstorage和PersistentStorage实现Token或用户信息的持久化存储的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
原来还有这个东西,谢谢分享!
在HarmonyOS鸿蒙Next中,可以使用AppStorage
和PersistentStorage
来实现Token或用户信息的持久化存储。AppStorage
用于存储应用范围内的全局数据,适合存储临时或频繁更新的信息。PersistentStorage
则用于将数据持久化到本地存储,适合存储需要长期保存的信息,如Token或用户信息。通过结合使用这两种存储方式,可以确保数据在应用重启后仍然可用。