mirror of
https://github.com/nagisa77/OpenIsle.git
synced 2026-05-27 13:07:40 +08:00
fix: 右上角头像有显示问题, 点击后恢复 #508
This commit is contained in:
@@ -75,6 +75,7 @@ export default {
|
|||||||
const avatar = ref('')
|
const avatar = ref('')
|
||||||
const showSearch = ref(false)
|
const showSearch = ref(false)
|
||||||
const searchDropdown = ref(null)
|
const searchDropdown = ref(null)
|
||||||
|
const userMenu = ref(null)
|
||||||
|
|
||||||
const goToHome = () => {
|
const goToHome = () => {
|
||||||
router.push('/').then(() => {
|
router.push('/').then(() => {
|
||||||
@@ -128,6 +129,43 @@ export default {
|
|||||||
{ text: '退出', onClick: goToLogout },
|
{ text: '退出', onClick: goToLogout },
|
||||||
])
|
])
|
||||||
|
|
||||||
|
onMounted(async () => {
|
||||||
|
const updateAvatar = async () => {
|
||||||
|
if (authState.loggedIn) {
|
||||||
|
const user = await loadCurrentUser()
|
||||||
|
if (user && user.avatar) {
|
||||||
|
avatar.value = user.avatar
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
const updateUnread = async () => {
|
||||||
|
if (authState.loggedIn) {
|
||||||
|
await fetchUnreadCount()
|
||||||
|
} else {
|
||||||
|
notificationState.unreadCount = 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
await updateAvatar()
|
||||||
|
await updateUnread()
|
||||||
|
|
||||||
|
watch(
|
||||||
|
() => authState.loggedIn,
|
||||||
|
async () => {
|
||||||
|
await updateAvatar()
|
||||||
|
await updateUnread()
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
watch(
|
||||||
|
() => router.currentRoute.value.fullPath,
|
||||||
|
() => {
|
||||||
|
if (userMenu.value) userMenu.value.close()
|
||||||
|
showSearch.value = false
|
||||||
|
},
|
||||||
|
)
|
||||||
|
})
|
||||||
|
|
||||||
return {
|
return {
|
||||||
isLogin,
|
isLogin,
|
||||||
isMobile,
|
isMobile,
|
||||||
@@ -143,45 +181,10 @@ export default {
|
|||||||
goToLogout,
|
goToLogout,
|
||||||
showSearch,
|
showSearch,
|
||||||
searchDropdown,
|
searchDropdown,
|
||||||
|
userMenu,
|
||||||
|
avatar,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
async mounted() {
|
|
||||||
const updateAvatar = async () => {
|
|
||||||
if (authState.loggedIn) {
|
|
||||||
const user = await loadCurrentUser()
|
|
||||||
if (user && user.avatar) {
|
|
||||||
this.avatar = user.avatar
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
const updateUnread = async () => {
|
|
||||||
if (authState.loggedIn) {
|
|
||||||
await fetchUnreadCount()
|
|
||||||
} else {
|
|
||||||
notificationState.unreadCount = 0
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
await updateAvatar()
|
|
||||||
await updateUnread()
|
|
||||||
|
|
||||||
watch(
|
|
||||||
() => authState.loggedIn,
|
|
||||||
async () => {
|
|
||||||
await updateAvatar()
|
|
||||||
await updateUnread()
|
|
||||||
},
|
|
||||||
)
|
|
||||||
|
|
||||||
watch(
|
|
||||||
() => this.$route.fullPath,
|
|
||||||
() => {
|
|
||||||
if (this.$refs.userMenu) this.$refs.userMenu.close()
|
|
||||||
this.showSearch = false
|
|
||||||
},
|
|
||||||
)
|
|
||||||
},
|
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user