yb课堂 用户模块个人中心 《四十一》

Personal.vue

<template>
<div>
  <div class="container">
      <div class="p_top">
          <div>
              <img :src='info.head_img||defaultHeadImg' alt="头像"/>
              <router-link to="/login" v-if="getToken===''">
              <p>立刻登陆</p>
              </router-link>
              <p v-else>{{info.name}}</p>
          </div>
      </div>
      <button v-if="getToken !== ''" class="green" @click="signOut">退出登陆</button>
  </div>
  <common-footer></common-footer>
</div>
</template>
<script>
import CommonFooter from "@/components/CommonFooter";
import { getUserInfo } from "@/api/getData.js";
import defaultHeadImg from "@/assets/logo.png";
export default {
  components: {
    CommonFooter
  },
  data() {
    return {
      info: {},
      defaultHeadImg: defaultHeadImg
    };
  },
  computed: {
    getToken() {
      return this.$store.state.token;
    }
  },
  methods: {
    //获取用户信息
    async getInfo() {
      try {
        const result = await getUserInfo(this.getToken);
        if (result.data.code === 0) {
          this.info = result.data.data;
        }
      } catch (error) {
        console.log(Error);
      }
    },
    //退出登陆
    async signOut() {
      await this.$store.dispatch('clearToken');
      localStorage.removeItem("token");
      //刷新页面
      location.reload();
    }
  },
  mounted() {
    if (this.getToken) {
      this.getInfo();
    }
  }
};
</script>
<style lang="scss" scoped>
.container {
  // 顶部头像区域
  .p_top {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 20px 0;
    background-color: #2c3f54;
    div {
      text-align: center;
      img {
        width: 60px;
        height: 60px;
        border-radius: 50px;
      }
      p {
        font-size: 16px;
        color: #fff;
        margin-top: 10px;
      }
    }
  }
}
// 退出登录
.green {
  display: block;
  background-color: #3bb149;
  border: none;
  outline: none;
  width: 80%;
  height: 40px;
  margin: 20px auto 0;
  color: #fff;
  border-radius: 20px;
}
</style>

 

posted @ 2020-07-21 15:00  陈彦斌  阅读(163)  评论(0编辑  收藏  举报