7***@qq.com
7***@qq.com
  • 发布:2021-11-24 12:02
  • 更新:2021-11-24 14:02
  • 阅读:1212

uni.setStorageSync保存数据不能同步啊!!!急求各位大佬!!!

分类:uni-app

uni-app 在登录页面(login.vue)用uni.setStorageSync设置了新值,navigateBack返回到父页面(index.vue),在onshow里uni.getStorageSync获取的还是原来的值,获取不了设置的新值,同步不了用户数据啊,哪位兄弟知道怎么解决啊?

2021-11-24 12:02 负责人:无 分享
已邀请:
DCloud_Android_ST

DCloud_Android_ST

你写个静态数据存储模拟一下用户场景看看能复现吗

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

    模拟静态数据没问题,现在问题是授权登录保存用户userInfo数据,navigateBack返回到父页面(index.vue)还是原来的,新保存头像和昵称没有更新回来啊

    2021-11-24 13:37

小枫叶

小枫叶 - 外包接单加v:wlmk1234567 注明来意

能把代码片段截图出来看一眼么?

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

    已贴代码,请帮忙看看

    2021-11-24 13:59

7***@qq.com

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

methods: {  
            ...mapActions(['setUser']),  
            getUserProfile() {  
                let t = this;  
                uni.getUserProfile({  
                    desc: "用于完善个人信息",  
                    success: res => {  
                        console.log("getUserProfile res", res), t.updateUser(res.userInfo);  
                    }  
                })  
            },  
            updateUser(res){  
                let t = this;  
                let userInfo = this.$cache.get('userInfo');  
                req('/api/login', {  
                    data: res,  
                    openid: userInfo.openid  
                }).then(res => {  
                    200 === res.code && (t.setUser({  
                            userinfo: res.data.userInfo,  
                    }), this.back());  
                });  
            },
小枫叶

小枫叶 - 外包接单加v:wlmk1234567 注明来意

你好,请试一下同步存储异步获取.
理论上都应该是能够获取到的
我这边写了个示例,无论是同步还是异步操作都能够获取到,代码在附件里面希望能帮到你,做个参考吧,

另外,如果是更新头像和昵称,如果本地存储最终无法解决的话,
建议在index(即返回后的页面)的onshow里面重新调用一遍获取昵称和头像的api接口.只要服务器的api相应足够快的话,渲染是没有什么问题的

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

    谢谢,我先研究一下。

    2021-11-24 14:26

该问题目前已经被锁定, 无法添加新回复