测试使用uni.setStorage存储正常
- 发布:2023-09-28 17:02
- 更新:2023-11-25 17:10
- 阅读:987
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: win 11
HBuilderX类型: Alpha
HBuilderX版本号: 3.91
手机系统: Android
手机系统版本号: Android 12
手机厂商: 小米
手机机型: 红米 k50
页面类型: vue
vue版本: vue3
打包方式: 云端
项目创建方式: HBuilderX
示例代码:
操作步骤:
测试使用uni.setStorage存储正常
测试使用uni.setStorage存储正常
预期结果:
测试使用uni.setStorage存储正常
测试使用uni.setStorage存储正常
实际结果:
测试使用uni.setStorage存储正常
测试使用uni.setStorage存储正常
bug描述:
uni.setStorageSync无法存储
喜欢技术的前端 - QQ---445849201
一直在使用这个uni.setStorageSync,可以试试会不会走catch
try {
uni.setStorageSync('storage_key', 'hello');
} catch (error) {
console.log(error)
}
if (typeof data === 'object') {
data = JSON.stringify(data)
}
try {
uni.setStorageSync(key, data)
} catch (e) {
return null
}
你在这里打印一下异常。 看看 或者提供一下 可以复现问题的示例代码。
c5454 (作者) - uni-app 使用者
if (typeof data === 'object') {
data = JSON.stringify(data)
}
try {
uni.setStorage({key:key, data:data})
} catch (e) {
uni.showModal({
title: '提示',
content: JSON.stringify(e),
success: function (res) {
if (res.confirm) {
console.log('用户点击确定');
} else if (res.cancel) {
console.log('用户点击取消');
}
}
});
}
请问解决了吗?我也遇到这个问题了(uni.setStorage),体验版里面,无法存储 token ,然后体验版打开开发调试,就可以正常使用。这里面的res.data.token 就是很正常的字符串 token,接口百分百返回了正常数据。
const _this = this
const res = await userApi.login({
code: _this.code
})
console.log('login res:', res)
if (res.code === 200) {
uni.setStorage({
key: 'storage_token',
data: res.data.token,
success: function() {
console.log('success');
uni.reLaunch({
url: '/pages/index/index'
})
}
});
}
c5454 (作者)
使用这个uni.setStorage安卓发布版本无法存储,开发版可以
2023-10-07 10:12
c5454 (作者)
会走catch
2023-10-07 10:13
c5454 (作者)
确实有问题额,发版没有一个存储是可以的
2023-10-07 12:44
DCloud_UNI_LXH
回复 c5454: 报啥错了?
2023-10-07 17:46
DCloud_Android_DQQ
回复 c5454: 你是用3.8.12 有问题 ,3.91 版本正常吗?
2023-10-09 20:01
c5454 (作者)
回复 DCloud_Android_DQQ: 3.8.12正常,3.91异常
2023-10-10 09:51
c5454 (作者)
ios也是一样
2023-10-10 09:58