<template>
  <div class="login" :style="{ backgroundImage: `url(${bg})` }">
    <div class="title">
      <div class="login-logo">
        <van-image width="48" height="48" :src="require('@/assets/imgs/logo.png')" />
        <span style="margin-left: 6px;">融通危险源辨识系统</span>
      </div>
      <!-- <div class="login-name">Enterprise Business Data Monitoring</div> -->
    </div>

    <div class="con" :style="{ backgroundImage: `url(${conBg})` }">
      <div class="hello">Hello!</div>
      <div class="welcome">
        欢迎登录<span></span>!
      </div>
      <div class="login-form">
        <van-form @submit="onSubmit" :show-error-message="false" validate-trigger="onSubmit">
          <div class="username-wrap">
            <div class="username-icon">
              <van-image :src="require('@/assets/login/login-username.png')" />
            </div>
            <van-field v-model="username" name="username" label="" placeholder="账号"
              :rules="[{ required: true, message: '请填写账号' }]" />
          </div>
          <div class="passworld-wrap">
            <div class="passworld-icon">
              <van-image :src="require('@/assets/login/login-passworld.png')" />
            </div>
            <van-field v-model="password" type="password" name="password" placeholder="密码"
              :rules="[{ required: true, message: '请填写密码' }]" />
          </div>
          <div style="margin: 16px;">
            <van-button round block type="info" native-type="submit">登录</van-button>
          </div>
        </van-form>
      </div>
    </div>
  </div>
</template>

<script>
import { getFun, postFun } from '@/service/table'
import { setToken } from '@/utils/auth'
import { setUserInfo, getUserInfo, getLocalUserInfo, setLocalUserInfo } from '@/utils/userInfo'
//引入
const Base64 = require("js-base64").Base64
export default {
  data() {
    return {
      bg: require("@/assets/login/login-bg.png"),
      conBg: require("@/assets/login/login-center.png"),
      username: "",
      password: ""
    };
  },
  mounted() {
    let height = document.documentElement.clientHeight; //获取当前可视区域的高度
    document.getElementsByClassName('login')[0].style.height = height + 'px'//给根布局设置高度
    // 判断localStorage中是否有用户信息
    if (getLocalUserInfo()) {
      this.username = getLocalUserInfo().loginName
      // 获取解密后的密码
      // console.log(Base64.decode(getLocalUserInfo().loginPassword)); // base64解密
    }
  },
  methods: {
    onSubmit(values) {
      this.$toast.loading({
        message: '登录中...',
        forbidClick: true,
        loadingType: 'spinner',
        duration: 0
      })
      postFun('/login', values).then((Response) => {
        if (Response.code == 200) {
          this.$toast.clear()
          // setLocalUserInfo(user)
          setToken(Response.token)
          getFun('/getInfo').then((Response2) => {
            console.log('%c [ Response2 ]-89', 'font-size:13px; background:pink; color:#bf2c9f;', Response2)
            var userInfo = {
              ...Response2.user
            }
            /* 存储用户信息 */
            setUserInfo(userInfo)
            // if(!Response2.data.initializePassword){
            //     this.$router.push('/save-workbench')
            // }else{
            //     this.$router.push('/reset-pas-two')
            // }
            this.$router.push('/save-workbench')
          })
          /* 存储用户信息 */


        } else {
          this.$toast.clear()
          this.$toast.fail({
            message: Response.msg,
            duration: 2000
          })
        }
      })
    }
  }
};
</script>
<style lang="less" scoped>
/* @import url(); 引入css类 */
.login {
  background-size: cover;
  background-repeat: no-repeat;
  background-attachment: fixed;
  height: 100vh;
  overflow: hidden;

  .title {
    padding-top: 22%;

    .login-logo {
      margin: 0 auto;
      font-size: 26px;
      text-align: center;
      color: white;
      font-weight: bolder;
      display: flex;
      justify-content: center;
      align-items: center;
    }

    .login-name {
      width: 100%;
      text-align: center;
      margin-top: 20px;
      color: #fafbfe;
      font-size: 18px;
    }
  }

  .con {
    width: 345px;
    height: 340px;
    margin: 62px auto 0;
    padding: 35px 25px;
    box-sizing: border-box;
    background-size: cover;
    background-repeat: no-repeat;

    .hello {
      color: #004fb1;
      font-size: 20px;
      font-weight: bold;
    }

    .welcome {
      margin: 15px 0;
      color: #7795e0;

      span {
        color: #71aaf2;
      }
    }

    .login-form {
      .username-wrap {
        position: relative;
        border-bottom: 1px solid #d2dcf5;

        .username-icon {
          width: 20px;
          position: absolute;
          left: 5px;
          top: 9px;
          z-index: 100;
        }

        /deep/ .van-field__body {
          padding-left: 20px;
          box-sizing: border-box;
        }

        /deep/ .van-field__error-message {
          padding-left: 20px;
        }
      }

      .passworld-wrap {
        position: relative;
        border-bottom: 1px solid #d2dcf5;

        .passworld-icon {
          width: 20px;
          position: absolute;
          left: 5px;
          top: 9px;
          z-index: 100;
        }

        /deep/ .van-field__body {
          padding-left: 20px;
          box-sizing: border-box;
        }

        /deep/ .van-field__error-message {
          padding-left: 20px;
        }
      }
    }
  }
}
</style>
