<template>
  <div class="navbar">
    <div class="pageTitle">{{this.$route.meta.title}}</div>
    <!--收缩左侧菜单按钮-->
    <!-- <hamburger id="hamburger-container" :is-active="sidebar.opened" class="hamburger-container" @toggleClick="toggleSideBar" />
    <hamburger id="hamburger-container" :is-active="sidebar.opened" class="hamburger-container" @toggleClick="toggleSideBar" /> -->
    <!-- <breadcrumb id="breadcrumb-container" class="breadcrumb-container" /> -->
    <div class="right-menu">
      <!--搜索，全屏，大小写转换和翻译-->
      <!-- <template v-if="device!=='mobile'">
        <search id="header-search" class="right-menu-item" />
        <error-log class="errLog-container right-menu-item hover-effect" />
        <screenfull id="screenfull" class="right-menu-item hover-effect" />
        <el-tooltip :content="$t('navbar.size')" effect="dark" placement="bottom">
          <size-select id="size-select" class="right-menu-item hover-effect" />
        </el-tooltip>
        <lang-select class="right-menu-item hover-effect" />
      </template> -->
      <el-dropdown class="avatar-container right-menu-item hover-effect" trigger="click">
        <div class="avatar-wrapper">
          <!-- <img src="@/assets/public/nav/notice.png" class="user-notice"> -->
          <img :src="avatar+'?imageView2/1/w/80/h/80'" class="user-avatar" v-if="avatar!=''">
          <img src="@/assets/login/userDefault.png" class="user-avatar" v-else>
          <span class="userName">{{this.$store.state.user.name}}</span>
          <img src="@/assets/public/nav/arrowDown.png" class="arrowDown">
          <!--向下按钮-->
          <!-- <i class="el-icon-caret-bottom" /> -->
        </div>
        <el-dropdown-menu slot="dropdown">
          <router-link to="/profile/index">
            <div class="userMenuDownItem">
              <el-dropdown-item>
                <span style="display:block;">{{ $t('navbar.profile') }}</span>
              </el-dropdown-item>
            </div>
          </router-link>
          <!-- <router-link to="/">
            <el-dropdown-item>
              {{ $t('navbar.dashboard') }}
            </el-dropdown-item>
          </router-link>
          <a target="_blank" href="https://github.com/PanJiaChen/vue-element-admin/">
            <el-dropdown-item>
              {{ $t('navbar.github') }}
            </el-dropdown-item>
          </a>
          <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">
            <div class="userMenuDownItem">
              <span style="display:block;">{{$t('navbar.logOut')}}</span>
              <img src="@/assets/public/nav/Logout.png">
            </div>
          </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 ErrorLog from '@/components/ErrorLog'
import Screenfull from '@/components/Screenfull'
import SizeSelect from '@/components/SizeSelect'
import LangSelect from '@/components/LangSelect'
import Search from '@/components/HeaderSearch'
import axios from 'axios';


export default {
  components: {
    Breadcrumb,
    Hamburger,
    ErrorLog,
    Screenfull,
    SizeSelect,
    LangSelect,
    Search
  },
  computed: {
    ...mapGetters([
      'sidebar',
      'avatar',
      'device'
    ]),
  },
  methods: {
    toggleSideBar() {
      this.$store.dispatch('app/toggleSideBar')
    },
    // async logout() {
    //   await this.$store.dispatch('user/logout')
    //   this.$router.push(`/login?redirect=${this.$route.fullPath}`)
    // },
    logout() {
      const token = this.getTokenFromCookie(); // 获取 token
      
      axios.get('http://admindev.bjzxtw.org.cn/auth/logoutapi.php', {params:{token:token} }).then(response => {
        console.log(response);
        this.$store.commit("user/LOGOUT");
        this.$router.push(`/login`);
      }).catch(error => {
        console.log(error);
        this.$store.commit("user/LOGOUT");
        this.$router.push(`/login`);
        this.$message.error(response.message);
      }); 
    },
    getTokenFromCookie() {
      const name = "Admin-Token=";
      const decodedCookie = decodeURIComponent(document.cookie);
      const cookieArray = decodedCookie.split(';');
      for (let i = 0; i < cookieArray.length; i++) {
        let cookie = cookieArray[i].trim();
        if (cookie.indexOf(name) === 0) {
          return cookie.substring(name.length, cookie.length); // 返回 token
        }
      }
      return ""; // 如果没有找到 token，返回空字符串
    }
  }
}
</script>

<style lang="scss" scoped>
.navbar {
  height: 60px;
  overflow: hidden;
  position: relative;
  display:flex;
  align-items: center;
  justify-content: space-between;
  background: #fff;
  // box-shadow: 0 1px 4px rgba(0,21,41,.08);
  border-bottom:1px solid #E9EDF7;

  .pageTitle {
    font-size: 20px;
    font-weight: bold;
    padding-left: 30px;
    color: #45464E;
  }

  .userName {
    font-size: 14px;
    color:#1C1D22;
    margin-left: 10px;
    font-weight: bold;
  }


  .hamburger-container {
    line-height: 46px;
    height: 100%;
    float: left;
    cursor: pointer;
    transition: background .3s;
    -webkit-tap-highlight-color:transparent;

    &:hover {
      background: rgba(0, 0, 0, .025)
    }
  }

  .breadcrumb-container {
    float: left;
  }

  .errLog-container {
    display: inline-block;
    vertical-align: top;
  }

  .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 .3s;

        &:hover {
          background: rgba(0, 0, 0, .025)
        }
      }
    }

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

      .avatar-wrapper {
        margin-top: 5px;
        display: flex;
        align-items: center;

        .user-avatar {
          cursor: pointer;
          width: 32px;
          height: 32px;
        }

        .arrowDown {
          width:12px;
          height:8px;
          margin-left:10px;
        }

        .user-notice {
          width: 20px;
          height: 20px;
          margin-right:20px;
        }

        .el-icon-caret-bottom {
          cursor: pointer;
          position: absolute;
          right: -20px;
          top: 25px;
          font-size: 12px;
        }
      }
    }
  }
}
.userMenuDownItem {
  width: 100px;
  display:flex;
  align-items: center;
  justify-content: space-between;
}
.el-dropdown-menu__item:not(.is-disabled):hover {
  background: none;
  color:#606266;
}

</style>
