|
@@ -1,8 +1,8 @@
|
|
|
<template>
|
|
|
<el-dropdown size="large">
|
|
|
<div class="header-bar user-info-bar">
|
|
|
- <img class="user-avatar" :src="userInfo['avatar'] || avatarPng" :alt="userInfo['account']">
|
|
|
- <span class="user-name">{{userInfo['real_name']}}</span>
|
|
|
+ <img :alt="userInfo['account']" :src="userInfo['avatar'] || avatarPng" class="user-avatar">
|
|
|
+ <span class="user-name">{{ userInfo['real_name'] }}</span>
|
|
|
<HcIcon name="arrow-down-s" ui="arrow-icon"/>
|
|
|
</div>
|
|
|
<template #dropdown>
|
|
@@ -10,7 +10,7 @@
|
|
|
<el-dropdown-item v-for="item in options">
|
|
|
<div class="hc-dropdown-item" @click="handleSelect(item.key)">
|
|
|
<HcIcon :name="item.icon" class="icon"/>
|
|
|
- <span class="label">{{item.label}}</span>
|
|
|
+ <span class="label">{{ item.label }}</span>
|
|
|
</div>
|
|
|
</el-dropdown-item>
|
|
|
</el-dropdown-menu>
|
|
@@ -24,9 +24,9 @@ import {useRouter} from 'vue-router'
|
|
|
import {useAppStore} from "~src/store";
|
|
|
import website from "~src/config/index";
|
|
|
import avatarPng from '~src/assets/images/avatar.png';
|
|
|
-import {RefreshToken,LogOut} from "~sto/user";
|
|
|
+import {RefreshToken, LogOut} from "~sto/user";
|
|
|
import {getStoreData} from '~src/utils/storage'
|
|
|
-import {calcDate,isValueNull} from "vue-utils-plus"
|
|
|
+import {calcDate, isValueNull} from "vue-utils-plus"
|
|
|
|
|
|
//变量
|
|
|
const router = useRouter()
|
|
@@ -48,7 +48,7 @@ onMounted(() => {
|
|
|
//刷新token
|
|
|
const getRefreshToken = () => {
|
|
|
setInterval(() => {
|
|
|
- const token = getStoreData("token",true) || {};
|
|
|
+ const token = getStoreData("token", true) || {};
|
|
|
const date = calcDate(token.datetime, new Date().getTime());
|
|
|
if (isValueNull(date)) return;
|
|
|
if (date.seconds >= website.tokenTime && !refreshLock.value) {
|
|
@@ -81,11 +81,11 @@ const options = [
|
|
|
const emit = defineEmits(['change'])
|
|
|
const handleSelect = async (key) => {
|
|
|
if (key === 'my') {
|
|
|
- router.push({name:'user-index'});
|
|
|
+ router.push({name: 'user-index'});
|
|
|
} else if (key === 'logout') {
|
|
|
await LogOut();
|
|
|
window.$message?.info('退出成功');
|
|
|
- router.push({name:'login'});
|
|
|
+ router.push({name: 'login'});
|
|
|
}
|
|
|
}
|
|
|
</script>
|
|
@@ -98,6 +98,7 @@ const handleSelect = async (key) => {
|
|
|
height: 100%;
|
|
|
cursor: pointer;
|
|
|
padding-left: 24px;
|
|
|
+ outline: none;
|
|
|
.user-avatar {
|
|
|
width: 40px;
|
|
|
height: 40px;
|
|
@@ -137,7 +138,6 @@ const handleSelect = async (key) => {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-
|
|
|
.hc-dropdown-item {
|
|
|
display: flex;
|
|
|
align-items: center;
|