zoukankan      html  css  js  c++  java
  • 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 {
         100%;
        display: flex;
        flex-direction: column;
        align-items: center;
        padding: 20px 0;
        background-color: #2c3f54;
        div {
          text-align: center;
          img {
             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;
       80%;
      height: 40px;
      margin: 20px auto 0;
      color: #fff;
      border-radius: 20px;
    }
    </style>
    作者:陈彦斌

    个性签名:没有学不会的技术,只有不学习的人!
    联系方式:543210188(WeChat/QQ),推荐WeChat
  • 相关阅读:
    Windows 10 字体替换
    Windows 任务栏增加秒显示
    CCProxy v8.0 代理服务器
    Git RPM软件包 && 源码包
    Google Chrome 浏览器最新版本 71.0.3578.98(正式版本) (64 位)
    Linux 查询公网出口IP
    Windows 10 Enterprise LTSC做Windows To Go蓝屏无法进入系统
    Nginx编译./configure翻译
    Windows 10 快捷键
    JDBC连接MySQL
  • 原文地址:https://www.cnblogs.com/chenyanbin/p/13355105.html
Copyright © 2011-2022 走看看