<template>
|
<a-dropdown>
|
<div class="item">
|
|
<div class="d-flex align-items-center px-sm">
|
<a-avatar src="https://zos.alipayobjects.com/rmsportal/ODTLcjxAfvqbxHnVXCYX.png" nzSize="small" class="mr-sm"></a-avatar>
|
{{ userName }}
|
</div>
|
</div>
|
<a-menu slot="overlay" @click="handleCommand">
|
<a-menu-item divided key="logout">
|
|
<i class="fa fa-sign-out"></i>
|
|
退出登录</a-menu-item>
|
</a-menu>
|
</a-dropdown>
|
</template>
|
|
<script lang="ts">
|
|
import {
|
Component,
|
Prop,
|
Vue,
|
} from 'vue-property-decorator';
|
import {
|
State,
|
Mutation,
|
namespace,
|
} from 'vuex-class';
|
import router from "@/route/router";
|
const userModule = namespace('user');
|
|
@Component({})
|
export default class HeaderUser extends Vue {
|
|
private menuCommand: any = {
|
logout: this.logout,
|
};
|
|
private handleCommand(e: any) {
|
console.log(e);
|
this.menuCommand[e.key]();
|
}
|
|
@userModule.Mutation('loginSuccess')
|
private loginSuccess(param: any) {
|
|
}
|
private userName:any = null
|
private mounted(){
|
this.userName = sessionStorage.getItem('userName')
|
}
|
|
/**
|
* 退出登录,需要做其他事情
|
*/
|
private logout() {
|
|
this.$ls.remove('token'); //测试清除无效,token存放在$ss中
|
//console.log(sessionStorage) //这样清除就可以
|
//sessionStorage{vuealain_ss_token: "{"value":"5a56480d4e570554555b5f567c","expire":null}", menuData: "[{"id":1,"name":"权限管理","url":"authority","order":0…"name":"缓存管理","url":"systems/cache","order":1}]}]", length: 2}
|
|
// this.$ss.remove('token')
|
this.loginSuccess({token: null});
|
// console.log(sessionStorage)
|
// this.$router.push('/passport');
|
this.$router.replace({path: '/passport'});
|
sessionStorage.clear()
|
let _this = this
|
setTimeout(function () {
|
location.reload()
|
},300)
|
if(!sessionStorage){
|
console.log('清除成功')
|
}
|
}
|
}
|
</script>
|