5***@qq.com
5***@qq.com
  • 发布:2024-03-07 15:08
  • 更新:2024-05-13 17:33
  • 阅读:882

【报Bug】uni.setStorageSync保存后,getStorageSync读取不出来

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Mac

PC开发环境操作系统版本号: 12.7.3

HBuilderX类型: Alpha

HBuilderX版本号: 4.01

手机系统: Android

手机系统版本号: Android 12

手机厂商: 华为

手机机型: mate20

页面类型: vue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

操作步骤:

存储json

预期结果:

正常读取

实际结果:

读取异常

bug描述:

使用uni.setStorageSync('myCollectList', this.collectList) 保存列表后,使用let s = uni.getStorageSync('myCollectList')获取列表,获取到的内容为 [{"dynamicJSONFields":{},"jSONArray":false},{"dynamicJSONFields":{},"jSONArray":false},{"dy...} ,获取不到正常内容。本地使用JSON转字符串再转回json可以正常工作,json格式没有问题。

2024-03-07 15:08 负责人:无 分享
已邀请:
HRK_01

HRK_01

注意看官方文档哦,
存储的内容,只支持原生类型、及能够通过 JSON.stringify 序列化的对象,如果后续还有问题,
可以在此贴回复哈,我负责跟进~

  • 5***@qq.com (作者)

    我使用JSON.stringify转过了,本地使用JSON转字符串再转回json可以正常工作,json格式没有问题。我切换回3.99后正常存储读取,4.01版本不行。确认是bug

    2024-03-08 08:54

  • HRK_01

    回复 5***@qq.com: 能否提供一个简单复现的工程附件,我排查跟进一下

    2024-03-11 19:54

  • 5***@qq.com (作者)

    回复 HRK_01: 上传了json的附件和操作步骤,你看下能复现不

    2024-03-12 09:01

5***@qq.com

5***@qq.com (作者)

附件是json,操作步骤是uni.setStorageSync保存json后,调用uni.navigateTo跳转到新页面, 之后在新页面的uni.getStorageSync读取,读出来就是上面的错误

  • HRK_01

    未复现该问题,请检查一下是否代码是否有误

    2024-03-12 11:11

喜欢技术的前端

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

经测试,没发现问题,你可以试试附件的代码

1***@qq.com

1***@qq.com

onLaunch: function() {
console.log('App Launch')

        const CustomModule = uni.requireNativePlugin("CustomModule");  
        let USER_TOKEN = CustomModule?.getUserToken();  
        console.log(`CustomModule~USER_TOKEN`, USER_TOKEN);  

        // mock  
        if(!USER_TOKEN) {  
            USER_TOKEN = '15';  
        }  

        uni.setStorageSync('USER_TOKEN', USER_TOKEN);  
    },  

首次打包启动获取不了,关掉 app 再次打开可以
const USER_TOKEN = uni.getStorageSync('USER_TOKEN');
console.log(USER_TOKEN~getStorageSync, USER_TOKEN);

要回复问题请先登录注册