topbar.vue 2.99 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 14 15
    <div class="effectiveDate" v-show=" (expireNum || expireNum===0) && expireNum < 30 ">
      您的账号{{ expireNum }}天到期
    </div>
xulili's avatar
xulili committed
16
  </div>
xulili's avatar
xulili committed
17 18
</template>
<script>
xulili's avatar
xulili committed
19
import { loginOut } from "@/config/loginOut";
xulili's avatar
xulili committed
20 21 22 23
export default {
  data() {
    return {
      userName: localStorage.getItem("user"),
xulili's avatar
xulili committed
24
      expireNum: localStorage.getItem("expireNum"),
xulili's avatar
xulili committed
25 26 27 28 29 30 31 32 33 34
    };
  },
  mounted() {},
  methods: {
    logout() {
      this.$confirm("确认退出吗?")
        .then((_) => {
          this.handleLogout();
        })
        .catch((_) => {});
xulili's avatar
xulili committed
35
    },
xulili's avatar
xulili committed
36 37 38
    handleLogout() {
      let _this = this;
      _this
xulili's avatar
xulili committed
39 40 41 42 43
        .$https({
          method: "get",
          url: "logout",
          authType: "back",
        })
xulili's avatar
xulili committed
44 45 46 47 48 49 50 51
        .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
52
              loginOut();
xulili's avatar
xulili committed
53 54 55 56 57 58 59 60 61 62 63
              _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
64
    },
xulili's avatar
xulili committed
65 66
  },
};
xulili's avatar
xulili committed
67 68
</script>
<style lang="less" scoped>
xulili's avatar
xulili committed
69 70 71 72 73 74 75 76 77 78 79 80 81 82 83
.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
84
      cursor: pointer;
xulili's avatar
xulili committed
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 110 111 112 113
    }
    .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
114
    }
xulili's avatar
xulili committed
115 116 117 118 119
    .login-out {
      width: 20px;
      height: 20px;
      background: url("~@/assets/login/logout.png") no-repeat center/100% 100%;
      cursor: pointer;
xulili's avatar
xulili committed
120
    }
xulili's avatar
xulili committed
121
  }
xulili's avatar
xulili committed
122 123 124 125 126 127
  .effectiveDate {
    position: absolute;
    right: 93px;
    top: 25px;
    color: @party-white
  }
xulili's avatar
xulili committed
128 129
}
</style>