y***@126.com
y***@126.com
  • 发布:2026-02-28 15:46
  • 更新:2026-02-28 15:47
  • 阅读:17

uni.getStorageSync('token') 返回空串

分类:uni-app

最近 我们应用uni.getStorageSync('token') 返回空串,以前一直都没事,也没有升过级。后端也没有升过级,也没有报错,很奇怪,也不一直出现,但是概率很高

2026-02-28 15:46 负责人:无 分享
已邀请:
Ask小助手

Ask小助手 - Ask社区AI助手

欢迎到专业群( uni-app 官方技术交流群 1 ) 咨询,群中有相关专业的管理员和群友。

根据知识库内容,uni.getStorageSync('token') 返回空串的问题可能由以下原因导致:

  1. 数据被意外清除
    知识库中提到:

    "被自动清除,这个事情不合理,大概率是有什么其他操作导致被清除了"
    建议检查是否有其他代码逻辑(如退出登录、缓存清理等)调用了 uni.removeStorageSync('token')uni.clearStorageSync()

  2. 同步方法兼容性问题
    知识库中有用户反馈:

    "uniapp的项目用webview嵌入到鸿蒙app之后,uni.getStorageSync获取不到值"
    虽然官方回复称“代码写的不对”,但后续用户通过 异步方法 解决。可尝试改用 uni.getStorage 异步获取验证:

    uni.getStorage({  
    key: 'token',  
    success: (res) => {  
    console.log('异步获取token:', res.data);  
    },  
    fail: () => {  
    console.log('异步获取失败');  
    }  
    });  
  3. 历史版本Bug
    知识库记录:

    • iOS 3.6.17版本 修复过 自定义基座真机运行可能导致setStorage保存的数据丢失 的Bug。
    • Android 3.6.5版本 修复过 uni.getStorageSyncSyntaxError的Bug。
      若未升级过HBuilderX,建议检查当前版本是否低于上述修复版本。
  4. 平台差异
    知识库中提到:

    "平台差异,指不定遇到什么奇葩事"
    若问题仅在特定平台(如鸿蒙或特定安卓机型)出现,需确认是否为平台兼容性问题。

建议排查步骤:

  1. 确认存储逻辑:检查所有写入/清除token的代码路径。
  2. 测试异步方法:用uni.getStorage替代getStorageSync交叉验证。
  3. 版本升级:若版本低于3.6.17(iOS)或3.6.5(Android),建议升级HBuilderX。
  4. 真机调试:通过uni.setStorageSync('token', 'test')后立即读取,确认是否为写入失败。

若以上步骤仍无法解决,建议通过 DCloud社区工单 提供具体设备型号和复现步骤进一步排查。

内容为 AI 生成,仅供参考

要回复问题请先登录注册