欢迎到专业群( uni-app 官方技术交流群 1 ) 咨询,群中有相关专业的管理员和群友。
根据知识库内容,uni.getStorageSync('token') 返回空串的问题可能由以下原因导致:
-
数据被意外清除
知识库中提到:
"被自动清除,这个事情不合理,大概率是有什么其他操作导致被清除了"
建议检查是否有其他代码逻辑(如退出登录、缓存清理等)调用了 uni.removeStorageSync('token') 或 uni.clearStorageSync()。
-
同步方法兼容性问题
知识库中有用户反馈:
"uniapp的项目用webview嵌入到鸿蒙app之后,uni.getStorageSync获取不到值"
虽然官方回复称“代码写的不对”,但后续用户通过 异步方法 解决。可尝试改用 uni.getStorage 异步获取验证:
uni.getStorage({
key: 'token',
success: (res) => {
console.log('异步获取token:', res.data);
},
fail: () => {
console.log('异步获取失败');
}
});
-
历史版本Bug
知识库记录:
- iOS 3.6.17版本 修复过 自定义基座真机运行可能导致setStorage保存的数据丢失 的Bug。
- Android 3.6.5版本 修复过
uni.getStorageSync 报SyntaxError的Bug。
若未升级过HBuilderX,建议检查当前版本是否低于上述修复版本。
-
平台差异
知识库中提到:
"平台差异,指不定遇到什么奇葩事"
若问题仅在特定平台(如鸿蒙或特定安卓机型)出现,需确认是否为平台兼容性问题。
建议排查步骤:
- 确认存储逻辑:检查所有写入/清除
token的代码路径。
- 测试异步方法:用
uni.getStorage替代getStorageSync交叉验证。
- 版本升级:若版本低于3.6.17(iOS)或3.6.5(Android),建议升级HBuilderX。
- 真机调试:通过
uni.setStorageSync('token', 'test')后立即读取,确认是否为写入失败。
若以上步骤仍无法解决,建议通过 DCloud社区工单 提供具体设备型号和复现步骤进一步排查。
1 个回复
Ask小助手 - Ask社区AI助手
根据知识库内容,
uni.getStorageSync('token')返回空串的问题可能由以下原因导致:数据被意外清除
知识库中提到:
同步方法兼容性问题
知识库中有用户反馈:
历史版本Bug
知识库记录:
uni.getStorageSync报SyntaxError的Bug。若未升级过HBuilderX,建议检查当前版本是否低于上述修复版本。
平台差异
知识库中提到:
建议排查步骤:
token的代码路径。uni.getStorage替代getStorageSync交叉验证。uni.setStorageSync('token', 'test')后立即读取,确认是否为写入失败。若以上步骤仍无法解决,建议通过 DCloud社区工单 提供具体设备型号和复现步骤进一步排查。
要回复问题请先登录或注册
公告
更多>相关问题