Commit a939742d by 孙美琪

修改头像显示问题

parent a657c6d8
...@@ -26,7 +26,7 @@ ...@@ -26,7 +26,7 @@
<div class="avatar-container"> <div class="avatar-container">
<el-dropdown @command="handleCommand" class="right-menu-item hover-effect"> <el-dropdown @command="handleCommand" class="right-menu-item hover-effect">
<div class="avatar-wrapper"> <div class="avatar-wrapper">
<img :src="userStore.avatar" class="user-avatar" alt=""/> <img :src="avatar" class="user-avatar" alt=""/>
<el-icon> <el-icon>
<caret-bottom/> <caret-bottom/>
</el-icon> </el-icon>
...@@ -51,6 +51,7 @@ ...@@ -51,6 +51,7 @@
</template> </template>
<script setup> <script setup>
import {ref, onMounted} from 'vue'
import {ElMessageBox} from 'element-plus' import {ElMessageBox} from 'element-plus'
import Breadcrumb from '@/components/Breadcrumb' import Breadcrumb from '@/components/Breadcrumb'
import TopNav from '@/components/TopNav' import TopNav from '@/components/TopNav'
...@@ -75,6 +76,15 @@ defineProps({ ...@@ -75,6 +76,15 @@ defineProps({
} }
}) })
const avatar = ref('')
onMounted(() => {
const storedAvatar = localStorage.getItem("avatar")
if (storedAvatar) {
avatar.value = storedAvatar
}
})
function toggleSideBar() { function toggleSideBar() {
appStore.toggleSideBar() appStore.toggleSideBar()
} }
......
...@@ -36,13 +36,13 @@ ...@@ -36,13 +36,13 @@
<el-dropdown v-if="userStore.token" @command="handleCommand" class=""> <el-dropdown v-if="userStore.token" @command="handleCommand" class="">
<div v-if="userStore.token" class="avatar-wrapper flex-align-center"> <div v-if="userStore.token" class="avatar-wrapper flex-align-center">
<img :src="userStore.avatar" class="user-avatar" alt=""/> <img :src="avatar" class="user-avatar" alt=""/>
<div class="user-name">{{ userStore.name }}</div> <div class="user-name">{{ userStore.name }}</div>
</div> </div>
<template #dropdown> <template #dropdown>
<el-dropdown-menu> <el-dropdown-menu>
<el-dropdown-item command="logout"> <el-dropdown-item command="logout">
<span>退出登录</span> <span>退出登录2</span>
</el-dropdown-item> </el-dropdown-item>
</el-dropdown-menu> </el-dropdown-menu>
</template> </template>
...@@ -58,7 +58,7 @@ ...@@ -58,7 +58,7 @@
</template> </template>
<script setup> <script setup>
import {computed} from 'vue' import {computed, onMounted, ref} from 'vue'
import {useRoute, useRouter} from 'vue-router' import {useRoute, useRouter} from 'vue-router'
import AppMain from '@/layout/components/AppMain.vue' import AppMain from '@/layout/components/AppMain.vue'
import {categoryMenuNew} from '@/api/computingResource.js' import {categoryMenuNew} from '@/api/computingResource.js'
...@@ -69,6 +69,15 @@ const userStore = useUserStore() ...@@ -69,6 +69,15 @@ const userStore = useUserStore()
const route = useRoute() const route = useRoute()
const router = useRouter() const router = useRouter()
const avatar = ref('')
onMounted(() => {
const storedAvatar = localStorage.getItem("avatar")
if (storedAvatar) {
avatar.value = storedAvatar
}
})
const activeMenu = computed(() => { const activeMenu = computed(() => {
const {meta, path, fullPath} = route const {meta, path, fullPath} = route
if (meta.activeMenu) { if (meta.activeMenu) {
......
...@@ -56,9 +56,10 @@ const useUserStore = defineStore( ...@@ -56,9 +56,10 @@ const useUserStore = defineStore(
} else { } else {
this.roles = ['ROLE_DEFAULT'] this.roles = ['ROLE_DEFAULT']
}*/ }*/
this.id = user.id this.id = user.id;
this.name = user.nickname this.name = user.nickname;
this.avatar = avatar this.avatar = avatar;
localStorage.setItem('avatar', this.avatar);
resolve(res) resolve(res)
}).catch(error => { }).catch(error => {
reject(error) reject(error)
......
...@@ -204,6 +204,7 @@ function handleLogin() { ...@@ -204,6 +204,7 @@ function handleLogin() {
return acc return acc
}, {}) }, {})
useUserStore().getInfo().then(res => { useUserStore().getInfo().then(res => {
localStorage.setItem('avatar', res.data.avatar);
}) })
router.push({path: redirect.value || '/', query: otherQueryParams}) router.push({path: redirect.value || '/', query: otherQueryParams})
}).catch(() => { }).catch(() => {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment