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

- 发布:2021-11-24 12:02
- 更新:2021-11-24 14:02
- 阅读:1212

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 (作者)
模拟静态数据没问题,现在问题是授权登录保存用户userInfo数据,navigateBack返回到父页面(index.vue)还是原来的,新保存头像和昵称没有更新回来啊
2021-11-24 13:37