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 { onMounted, ref } from 'vue';
|
||||||
|
|
||||||
import { Page } from '@vben/common-ui';
|
import { Page } from '@vben/common-ui';
|
||||||
|
import { useUserStore } from '@vben/stores';
|
||||||
|
|
||||||
import { userProfile } from '#/api/system/profile';
|
import { userProfile } from '#/api/system/profile';
|
||||||
|
import { useAuthStore } from '#/store';
|
||||||
|
|
||||||
import ProfilePanel from './profile-panel.vue';
|
import ProfilePanel from './profile-panel.vue';
|
||||||
import SettingPanel from './setting-panel.vue';
|
import SettingPanel from './setting-panel.vue';
|
||||||
@ -17,13 +19,26 @@ async function loadProfile() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
onMounted(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>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<Page>
|
<Page>
|
||||||
<div class="flex flex-col gap-[16px] lg:flex-row">
|
<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" />
|
<SettingPanel v-if="profile" :profile="profile" @reload="loadProfile" />
|
||||||
</div>
|
</div>
|
||||||
|
Loading…
Reference in New Issue
Block a user