c5454
c5454
  • 发布:2023-09-28 17:02
  • 更新:2023-11-25 17:10
  • 阅读:987

【报Bug】uni.setStorageSync无法存储,使用uni.setStorage正常存储

分类:uni-app

产品分类: 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存储正常

bug描述:

uni.setStorageSync无法存储

2023-09-28 17:02 负责人:DCloud_App_Array 分享
已邀请:
喜欢技术的前端

喜欢技术的前端 - QQ---445849201

一直在使用这个uni.setStorageSync,可以试试会不会走catch

try {  
    uni.setStorageSync('storage_key', 'hello');  
} catch (error) {  
    console.log(error)  
}
  • 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

DCloud_Android_DQQ

DCloud_Android_DQQ

提供一下复现代码

c5454

c5454 (作者) - uni-app 使用者

缓存ts文件

DCloud_Android_DQQ

DCloud_Android_DQQ

if (typeof data === 'object') {
data = JSON.stringify(data)
}
try {
uni.setStorageSync(key, data)
} catch (e) {
return null
}

你在这里打印一下异常。 看看 或者提供一下 可以复现问题的示例代码。

  • c5454 (作者)

    没有明确的错误提示,只回了一个{}空对象

    2023-10-10 10:13

c5454

c5454 (作者) - uni-app 使用者

ios也是一样

c5454

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('用户点击取消');
}
}
});

    }
  • DCloud_Android_DQQ

    传的具体数据是什么。 你现在给只有代码。 没有复现问题的数据。

    2023-10-10 15:38

  • DCloud_Android_DQQ

    你留个联系方式吧。 沟通高效些

    2023-10-10 16:18

  • c5454 (作者)

    回复 DCloud_Android_DQQ: http://doc.likeadmin.cn/php/uniapp.html用的就是这个框架

    2023-10-11 09:28

  • c5454 (作者)

    就是登录,存储token啊

    2023-10-11 09:28

  • c5454 (作者)

    cache.set('token', '5f41g6f4gt4r4fd4f54d')就这信息存储啊

    2023-10-11 09:30

3***@qq.com

3***@qq.com

请问解决了吗?我也遇到这个问题了(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'
})
}
});
}

m***@163.com

m***@163.com

这个软件不能编辑吗

要回复问题请先登录注册