diff --git a/src/stores/user.js b/src/stores/user.js index 65696d36..00bf298e 100644 --- a/src/stores/user.js +++ b/src/stores/user.js @@ -127,6 +127,8 @@ export const useUserStore = defineStore('user', { }); }, updateUserAvatar({ avatarFile }) { + const self = this; + return new Promise((resolve, reject) => { services.updateAvatar({ avatarFile }).then(response => { const data = response.data; @@ -136,6 +138,8 @@ export const useUserStore = defineStore('user', { return; } + self.storeUserBasicInfo(data.result); + resolve(data.result); }).catch(error => { logger.error('failed to update user avatar', error); @@ -151,6 +155,8 @@ export const useUserStore = defineStore('user', { }); }, removeUserAvatar() { + const self = this; + return new Promise((resolve, reject) => { services.removeAvatar().then(response => { const data = response.data; @@ -160,6 +166,8 @@ export const useUserStore = defineStore('user', { return; } + self.storeUserBasicInfo(data.result); + resolve(data.result); }).catch(error => { logger.error('failed to remove user avatar', error); diff --git a/src/views/desktop/MainLayout.vue b/src/views/desktop/MainLayout.vue index dd120507..23e60dba 100644 --- a/src/views/desktop/MainLayout.vue +++ b/src/views/desktop/MainLayout.vue @@ -262,7 +262,7 @@ export default { return this.userStore.currentUserNickname || this.$t('User'); }, currentUserAvatar() { - return this.userStore.currentUserAvatar; + return this.userStore.getUserAvatarUrl(this.userStore.currentUserBasicInfo, true); }, theme: { get: function () {