HarmonyOS 鸿蒙Next 真机上用户登录后PersistentStorage存储token丢失问题 或 真机上用户登录后使用PersistentStorage存储token,HarmonyOS 鸿蒙Next重启后token丢失需重新登录,存储方式是否正确

发布于 1周前 作者 itying888 来自 鸿蒙OS

HarmonyOS 鸿蒙Next 真机上用户登录后PersistentStorage存储token丢失问题

真机上用户登录后使用PersistentStorage存储token,HarmonyOS 鸿蒙Next重启后token丢失需重新登录,存储方式是否正确

登录时使用 PersistentStorage.PersistProp(“token”, “asdasdasd”)  存token

进app时用  AppStorage.Get(“token”) 获取不到

请问大佬们都是怎么去存登录信息的


更多关于HarmonyOS 鸿蒙Next 真机上用户登录后PersistentStorage存储token丢失问题 或 真机上用户登录后使用PersistentStorage存储token,HarmonyOS 鸿蒙Next重启后token丢失需重新登录,存储方式是否正确的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

12 回复

PersistentStorage.PersistProp(“token”, “asdasdasd”)  只是告诉系统可以开始存了

真正存东西得用AppStorage.Set之类的

更多关于HarmonyOS 鸿蒙Next 真机上用户登录后PersistentStorage存储token丢失问题 或 真机上用户登录后使用PersistentStorage存储token,HarmonyOS 鸿蒙Next重启后token丢失需重新登录,存储方式是否正确的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


解决了吗? PersistentStorage.PersistProp AppStorage.Set 都调用了。但在重启后后,AppStorage还是取不到值

用这个存储 [@ohos](/user/ohos).data.preferences (用户首选项) 

为什么上面那个不行,文档不是这么说的吗 概述 PersistentStorage将选定的AppStorage属性保留在设备磁盘上。应用程序通过API,以决定哪些AppStorage属性应借助PersistentStorage持久化。UI和业务逻辑不直接访问PersistentStorage中的属性,所有属性访问都是对AppStorage的访问,AppStorage中的更改会自动同步到PersistentStorage。

PersistentStorage和AppStorage中的属性建立双向同步。应用开发通常通过AppStorage访问PersistentStorage,另外还有一些接口可以用于管理持久化属性,但是业务逻辑始终是通过AppStorage获取和设置属性的。

啥意思?preferences和PersistentStorage是不同的api

我就是用的这个,折腾了了两天😅,好在有示例代码,一点点搭起来了

重启后,需要首先调用
PersistentStorage.persistProp('token', undefined);

这句话的主要作用是在PersistentStorage本地文件查询“token”属性,然后将在PersistentStorage查询到的值写入AppStorage中。

最后再执行AppStorage.Get("token") 就可以获取上次应用关闭前存储的值了。

需要转string保存才能取到,存储一个object重启获取不到。
应该是模拟器不支持的原因吧cke_125.png
这个PersistentStorage在EntryAbility中使用好像[@StorageLink](/user/StorageLink)的状态改变时不会写入到磁盘中?

针对HarmonyOS 鸿蒙Next真机上用户登录后PersistentStorage存储token丢失问题,以下给出可能的原因及解决方案:

可能原因

  1. 存储时键(key)名错误或不一致,导致无法正确读取。
  2. PersistentStorage的使用时机或执行顺序不正确,导致数据未能成功持久化。

解决方案

  1. 检查键名:确保存储和读取时使用的键名完全一致。
  2. 调整使用时机:根据官方文档,PersistentStorage的持久化操作应在UI实例初始化成功后进行,即loadContent传入的回调被调用时。避免在onCreate或onDestroy等生命周期方法中过早或过晚调用。

建议

  • 仔细阅读HarmonyOS官方文档,了解PersistentStorage的正确使用方法和注意事项。
  • 在进行持久化操作时,添加适当的日志记录,以便追踪和定位问题。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部