topbar.vue 2.7 KB
Newer Older
xulili's avatar
xulili committed
1
<template>
xulili's avatar
xulili committed
2
  <div class="top-bar">
xulili's avatar
xulili committed
3
    <div class="top-bar-left">
xulili's avatar
xulili committed
4
      <div class="logo" @click="$router.push('/index')"></div>
xulili's avatar
xulili committed
5
      <span class="title f24">中国国家博物馆建党百年展点播院线服务平台</span>
xulili's avatar
xulili committed
6 7
    </div>
    <div class="top-bar-right">
xulili's avatar
xulili committed
8 9 10 11
      <!-- <div class="avatar"></div> -->
      <div class="user-name f16">Hello, {{ userName }}</div>
      <div class="line"></div>
      <div class="login-out" @click="logout()"></div>
xulili's avatar
xulili committed
12
    </div>
xulili's avatar
xulili committed
13
  </div>
xulili's avatar
xulili committed
14 15
</template>
<script>
xulili's avatar
xulili committed
16
import { loginOut } from "@/config/loginOut";
xulili's avatar
xulili committed
17 18 19 20 21 22 23 24 25 26 27 28 29 30
export default {
  data() {
    return {
      userName: localStorage.getItem("user"),
    };
  },
  mounted() {},
  methods: {
    logout() {
      this.$confirm("确认退出吗?")
        .then((_) => {
          this.handleLogout();
        })
        .catch((_) => {});
xulili's avatar
xulili committed
31
    },
xulili's avatar
xulili committed
32 33 34
    handleLogout() {
      let _this = this;
      _this
xulili's avatar
xulili committed
35 36 37 38 39
        .$https({
          method: "get",
          url: "logout",
          authType: "back",
        })
xulili's avatar
xulili committed
40 41 42 43 44 45 46 47
        .then((res) => {
          if (res.status == 200) {
            let resData = res.data;
            if (resData.resultCode == 200) {
              _this.$message({
                type: "success",
                message: resData.message,
              });
xulili's avatar
xulili committed
48
              loginOut();
xulili's avatar
xulili committed
49 50 51 52 53 54 55 56 57 58 59
              _this.$router.push("login");
            } else {
              _this.$message.error(res.data.message);
            }
          } else {
            _this.$message.error(res.data.message);
          }
        })
        .catch((err) => {
          _this.$message.error(error.message);
        });
xulili's avatar
xulili committed
60
    },
xulili's avatar
xulili committed
61 62
  },
};
xulili's avatar
xulili committed
63 64
</script>
<style lang="less" scoped>
xulili's avatar
xulili committed
65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
.top-bar {
  background-color: @party-red;
  width: 100%;
  height: 76px;
  line-height: 76px;
  padding: 0 30px;
  overflow: hidden;
  .top-bar-left {
    float: left;
    .logo {
      width: 46px;
      height: 36px;
      display: inline-block;
      vertical-align: middle;
      background: url("~@/assets/login/logo.png") no-repeat center/100% 100%;
xulili's avatar
xulili committed
80
      cursor: pointer;
xulili's avatar
xulili committed
81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109
    }
    .title {
      color: @party-white;
      vertical-align: middle;
      padding-left: 16px;
    }
  }
  .top-bar-right {
    float: right;
    > * {
      display: inline-block;
      vertical-align: middle;
    }
    .avatar {
      width: 36px;
      height: 36px;
      border-radius: 50%;
      background-color: pink;
    }
    .user-name {
      font-size: 16px;
      line-height: 16px;
      color: @party-white;
    }
    .line {
      width: 2px;
      height: 18px;
      background-color: @party-white;
      margin: 0 15px;
xulili's avatar
xulili committed
110
    }
xulili's avatar
xulili committed
111 112 113 114 115
    .login-out {
      width: 20px;
      height: 20px;
      background: url("~@/assets/login/logout.png") no-repeat center/100% 100%;
      cursor: pointer;
xulili's avatar
xulili committed
116
    }
xulili's avatar
xulili committed
117
  }
xulili's avatar
xulili committed
118 119
}
</style>