<template>
    <div class="navbar">
        <hamburger
            :is-active="sidebar.opened"
            class="hamburger-container"
            @toggleClick="toggleSideBar"
        />

        <breadcrumb class="breadcrumb-container" />
        <!-- todo 接口暂没有名称 暂时取消显示  -->
        <div class="left-menu" v-show="true">
            <span class="current-user">当前用户:<span class="current-user-name">{{currentUser}}</span></span>
        </div>
        <div class="right-menu">
            <el-dropdown class="avatar-container" trigger="click">
                <div class="avatar-wrapper">
                    <!-- <img :src="avatar+'?imageView2/1/w/80/h/80'" class="user-avatar" /> -->
                    <img :src="avatarImg" class="user-avatar" />
                    <i class="el-icon-caret-bottom" />
                </div>
                <el-dropdown-menu slot="dropdown" class="user-dropdown">
                    <router-link to="/">
                        <el-dropdown-item>首页</el-dropdown-item>
                    </router-link>
                    <!-- <a target="_blank" href="https://panjiachen.github.io/vue-element-admin-site/#/">
            <el-dropdown-item>Docs</el-dropdown-item>
                    </a>-->
                    <el-dropdown-item divided @click.native="logout">
                        <span style="display:block;">退出登录</span>
                    </el-dropdown-item>
                </el-dropdown-menu>
            </el-dropdown>
        </div>
    </div>
</template>

<script>
import { mapGetters } from "vuex";
import Breadcrumb from "@/components/Breadcrumb";
import Hamburger from "@/components/Hamburger";
import { getToken, setToken, removeToken } from '@/utils/auth';
import { resetRouter } from '@/router'
export default {
    components: {
        Breadcrumb,
        Hamburger
    },
    computed: {
        ...mapGetters(["sidebar", "avatar", "name"])
    },
    data() {
        return {
            currentUser: this.$localStore.getters.userName,
            avatarImg: require('../../assets/telpo.png')
        }
    },
    methods: {
        toggleSideBar() {
            this.$store.dispatch("app/toggleSideBar");
        },
        async logout() {
            /* await this.$store.dispatch("user/logout"); */
            removeToken() // must remove  token  first
            resetRouter()
            this.$router.push(`/login?redirect=${this.$route.fullPath}`);
        }
    }
};
</script>

<style lang="scss" scoped>
.navbar {
    height: 50px;
    overflow: hidden;
    position: relative;
    background: #fff;
    width: 100%;
    box-shadow: 0 1px 4px rgba(0, 21, 41, 0.08);
    .hamburger-container {
        float: left;
        line-height: 46px;
        cursor: pointer;
        transition: background 0.3s;
        -webkit-tap-highlight-color: transparent;

        &:hover {
            background: rgba(0, 0, 0, 0.025);
        }
    }

    .breadcrumb-container {
        line-height: 50px;
        float: left;
    }
    .left-menu {
        float: left;
        margin-left: 20%;
        height: 100%;
        line-height: 50px;
        // 当前用户
        .current-user {
            line-height: 50px;
            font-size: 14px;
            color: #97a8be;
        }
        .current-user-name {
            line-height: 50px;
            font-size: 14px;
            color: #000;
        }
    }
    .right-menu {
       float: right;
        height: 100%;
        line-height: 50px;

        &:focus {
            outline: none;
        }
        .right-menu-item {
            display: inline-block;
            padding: 0 8px;
            height: 100%;
            font-size: 18px;
            color: #5a5e66;
            vertical-align: text-bottom;

            &.hover-effect {
                cursor: pointer;
                transition: background 0.3s;

                &:hover {
                    background: rgba(0, 0, 0, 0.025);
                }
            }
        }

        .avatar-container {
            margin-right: 30px;

            .avatar-wrapper {
                margin-top: 5px;
                position: relative;

                .user-avatar {
                    cursor: pointer;
                    width: 40px;
                    height: 40px;
                    border-radius: 10px;
                }

                .el-icon-caret-bottom {
                    cursor: pointer;
                    position: absolute;
                    right: -20px;
                    top: 25px;
                    font-size: 12px;
                }
            }
        }
    }
}
</style>
