9/20
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<div class="navbar" :class="'nav' + navType">
|
||||
<div :class="'nav' + navType" class="navbar">
|
||||
<hamburger
|
||||
v-show="Showhamburger"
|
||||
id="hamburger-container"
|
||||
@@ -13,9 +13,9 @@
|
||||
<template v-if="appStore.device !== 'mobile'">
|
||||
<el-tooltip :content="proxy.$t('navbar.message')" effect="dark" placement="bottom">
|
||||
<div>
|
||||
<el-popover placement="bottom-end" trigger="click" transition="el-zoom-in-top" :width="400" :persistent="false">
|
||||
<el-popover :persistent="false" :width="400" placement="bottom-end" transition="el-zoom-in-top" trigger="click">
|
||||
<template #reference>
|
||||
<el-badge :value="newNotice > 0 ? newNotice : ''" :max="99">
|
||||
<el-badge :max="99" :value="newNotice > 0 ? newNotice : ''">
|
||||
<div class="right-menu-item hover-effect" style="display: block"><svg-icon icon-class="message" /></div>
|
||||
</el-badge>
|
||||
</template>
|
||||
@@ -29,15 +29,15 @@
|
||||
<div class="avatar-container">
|
||||
<el-dropdown class="right-menu-item hover-effect" trigger="click" @command="handleCommand">
|
||||
<div class="avatar-wrapper">
|
||||
<img alt="头像" :src="userStore.avatar" class="user-avatar" />
|
||||
<img :src="userStore.avatar" alt="头像" class="user-avatar" />
|
||||
<el-icon><caret-bottom /></el-icon>
|
||||
</div>
|
||||
<template #dropdown>
|
||||
<el-dropdown-menu>
|
||||
<el-dropdown-item divided command="changecommunity" v-if="isShow">
|
||||
<el-dropdown-item v-if="isShow" command="changecommunity" divided>
|
||||
<span>{{ proxy.$t('navbar.community') }}</span>
|
||||
</el-dropdown-item>
|
||||
<router-link to="/system/user/profile" v-if="isShow" v-has-permi="['system:user:profile']">
|
||||
<router-link v-if="isShow" v-has-permi="['system:user:profile']" to="/system/user/profile">
|
||||
<el-dropdown-item>{{ proxy.$t('navbar.personalCenter') }}</el-dropdown-item>
|
||||
</router-link>
|
||||
<el-dropdown-item :divided="isShow" command="logout">
|
||||
@@ -51,7 +51,7 @@
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
<script lang="ts" setup>
|
||||
import hamburger from '@/components/Hamburger/index.vue';
|
||||
import { useAppStore } from '@/store/modules/app';
|
||||
import { useUserStore } from '@/store/modules/user';
|
||||
@@ -61,7 +61,8 @@ import notice from './notice/index.vue';
|
||||
import router from '@/router';
|
||||
import { ElMessageBoxOptions } from 'element-plus/es/components/message-box/src/message-box.type';
|
||||
import { CaretBottom } from '@element-plus/icons-vue';
|
||||
|
||||
import { closeWebSocket } from '@/utils/websocket';
|
||||
import { closeSSE } from '@/utils/sse';
|
||||
const props = defineProps({
|
||||
Showhamburger: {
|
||||
type: Boolean,
|
||||
@@ -93,6 +94,9 @@ const logout = async () => {
|
||||
type: 'warning'
|
||||
} as ElMessageBoxOptions);
|
||||
userStore.logout().then(() => {
|
||||
// 关闭长连接
|
||||
closeWebSocket();
|
||||
closeSSE();
|
||||
router.replace({
|
||||
path: '/login',
|
||||
query: {
|
||||
|
||||
Reference in New Issue
Block a user