fix: 头像更改 store更新
This commit is contained in:
parent
30f22b94de
commit
51770ad6a0
@ -4,8 +4,10 @@ import type { UserProfile } from '#/api/system/profile/model';
|
||||
import { onMounted, ref } from 'vue';
|
||||
|
||||
import { Page } from '@vben/common-ui';
|
||||
import { useUserStore } from '@vben/stores';
|
||||
|
||||
import { userProfile } from '#/api/system/profile';
|
||||
import { useAuthStore } from '#/store';
|
||||
|
||||
import ProfilePanel from './profile-panel.vue';
|
||||
import SettingPanel from './setting-panel.vue';
|
||||
@ -17,13 +19,26 @@ async function loadProfile() {
|
||||
}
|
||||
|
||||
onMounted(loadProfile);
|
||||
|
||||
const authStore = useAuthStore();
|
||||
const userStore = useUserStore();
|
||||
/**
|
||||
* ToDo 接口重复
|
||||
*/
|
||||
async function handleUploadFinish() {
|
||||
// 重新加载用户信息
|
||||
await loadProfile();
|
||||
// 更新store
|
||||
const userInfo = await authStore.fetchUserInfo();
|
||||
userStore.setUserInfo(userInfo);
|
||||
}
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<Page>
|
||||
<div class="flex flex-col gap-[16px] lg:flex-row">
|
||||
<!-- 左侧 -->
|
||||
<ProfilePanel :profile="profile" @upload-finish="loadProfile" />
|
||||
<ProfilePanel :profile="profile" @upload-finish="handleUploadFinish" />
|
||||
<!-- 右侧 -->
|
||||
<SettingPanel v-if="profile" :profile="profile" @reload="loadProfile" />
|
||||
</div>
|
||||
|
Loading…
Reference in New Issue
Block a user