2019-02-25 15:58:05 +08:00
|
|
|
|
<template>
|
2019-04-14 16:20:04 +08:00
|
|
|
|
<div class="user-wrapper" :class="theme">
|
2019-02-25 15:58:05 +08:00
|
|
|
|
<span class="action">
|
|
|
|
|
<a-icon type="question-circle-o"></a-icon>
|
|
|
|
|
</span>
|
|
|
|
|
<header-notice class="action"/>
|
|
|
|
|
<a-dropdown>
|
2019-04-14 16:20:04 +08:00
|
|
|
|
<span class="action action-full ant-dropdown-link user-dropdown-menu">
|
2019-02-25 15:58:05 +08:00
|
|
|
|
<a-avatar class="avatar" size="small" :src="getAvatar()"/>
|
2019-04-14 16:20:04 +08:00
|
|
|
|
<span v-if="isDesktop()">欢迎您,{{ nickname() }}</span>
|
2019-02-25 15:58:05 +08:00
|
|
|
|
</span>
|
|
|
|
|
<a-menu slot="overlay" class="user-dropdown-menu-wrapper">
|
|
|
|
|
<a-menu-item key="0">
|
|
|
|
|
<router-link :to="{ name: 'account-center' }">
|
|
|
|
|
<a-icon type="user"/>
|
|
|
|
|
<span>个人中心</span>
|
|
|
|
|
</router-link>
|
|
|
|
|
</a-menu-item>
|
|
|
|
|
<a-menu-item key="1">
|
|
|
|
|
<router-link :to="{ name: 'account-settings' }">
|
|
|
|
|
<a-icon type="setting"/>
|
|
|
|
|
<span>账户设置</span>
|
|
|
|
|
</router-link>
|
|
|
|
|
</a-menu-item>
|
|
|
|
|
<!-- <a-menu-item key="2" disabled>
|
|
|
|
|
<a-icon type="setting"/>
|
|
|
|
|
<span>测试</span>
|
|
|
|
|
</a-menu-item>
|
|
|
|
|
<a-menu-divider/>
|
|
|
|
|
<a-menu-item key="3">
|
|
|
|
|
<a href="javascript:;" @click="handleLogout">
|
|
|
|
|
<a-icon type="logout"/>
|
|
|
|
|
<span>退出登录</span>
|
|
|
|
|
</a>
|
|
|
|
|
</a-menu-item>-->
|
|
|
|
|
</a-menu>
|
|
|
|
|
</a-dropdown>
|
|
|
|
|
<span class="action">
|
|
|
|
|
<a class="logout_title" href="javascript:;" @click="handleLogout">
|
|
|
|
|
<a-icon type="logout"/>
|
2019-04-14 16:20:04 +08:00
|
|
|
|
<span v-if="isDesktop()"> 退出登录</span>
|
2019-02-25 15:58:05 +08:00
|
|
|
|
</a>
|
|
|
|
|
</span>
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<script>
|
|
|
|
|
import HeaderNotice from './HeaderNotice'
|
|
|
|
|
import { mapActions, mapGetters } from 'vuex'
|
2019-04-14 16:20:04 +08:00
|
|
|
|
import { mixinDevice } from '@/utils/mixin.js'
|
2019-02-25 15:58:05 +08:00
|
|
|
|
export default {
|
|
|
|
|
name: "UserMenu",
|
2019-04-14 16:20:04 +08:00
|
|
|
|
mixins: [mixinDevice],
|
2019-02-25 15:58:05 +08:00
|
|
|
|
components: {
|
|
|
|
|
HeaderNotice
|
|
|
|
|
},
|
2019-04-14 16:20:04 +08:00
|
|
|
|
props: {
|
|
|
|
|
theme: {
|
|
|
|
|
type: String,
|
|
|
|
|
required: false,
|
|
|
|
|
default: 'dark'
|
|
|
|
|
}
|
|
|
|
|
},
|
2019-02-25 15:58:05 +08:00
|
|
|
|
methods: {
|
|
|
|
|
...mapActions(["Logout"]),
|
|
|
|
|
...mapGetters(["nickname", "avatar"]),
|
|
|
|
|
getAvatar(){
|
2019-04-14 16:20:04 +08:00
|
|
|
|
console.log('url = '+ window._CONFIG['imgDomainURL']+"/"+this.avatar())
|
|
|
|
|
return window._CONFIG['imgDomainURL']+"/"+this.avatar()
|
2019-02-25 15:58:05 +08:00
|
|
|
|
},
|
|
|
|
|
handleLogout() {
|
|
|
|
|
const that = this
|
|
|
|
|
|
|
|
|
|
this.$confirm({
|
|
|
|
|
title: '提示',
|
|
|
|
|
content: '真的要注销登录吗 ?',
|
|
|
|
|
onOk() {
|
|
|
|
|
return that.Logout({}).then(() => {
|
2019-04-14 16:20:04 +08:00
|
|
|
|
window.location.href="/";
|
|
|
|
|
//window.location.reload()
|
2019-02-25 15:58:05 +08:00
|
|
|
|
}).catch(err => {
|
|
|
|
|
that.$message.error({
|
|
|
|
|
title: '错误',
|
|
|
|
|
description: err.message
|
|
|
|
|
})
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
onCancel() {
|
|
|
|
|
},
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
<style scoped>
|
2019-04-14 16:20:04 +08:00
|
|
|
|
.logout_title {
|
|
|
|
|
color: inherit;
|
|
|
|
|
text-decoration: none;
|
2019-02-25 15:58:05 +08:00
|
|
|
|
}
|
|
|
|
|
</style>
|