<template> 
 | 
    <div class="wrap" :style="{ 
 | 
      'background': `url(${$store.state.VUE_APP_CONFIG.BG_IMAGE})`, 
 | 
      'background-repeat': 'no-repeat', 
 | 
      'background-size': 'cover', 
 | 
      'background-clip': 'content-box', 
 | 
      'background-position': 'center', 
 | 
      }" 
 | 
    > 
 | 
      <div class="introduce"> 
 | 
        <div v-if="$store.state.VUE_APP_CONFIG.LOGO"> 
 | 
          <img :src="$store.state.VUE_APP_CONFIG.LOGO" alt=""> 
 | 
        </div> 
 | 
        <h2>{{ $store.state.VUE_APP_CONFIG.COMPANY_NAME }}</h2> 
 | 
         
 | 
      </div> 
 | 
      <div class="login"> 
 | 
        <!-- <h1>系统登录 / LOGIN IN</h1> 
 | 
        <h3>{{test}}</h3> 
 | 
        <div class="info-input"> 
 | 
          <el-input v-model="username" placeholder="请输入用户名" prefix-icon="el-icon-user-solid" maxlength="50" v-trim/> 
 | 
          <div style="height: 15px;"></div> 
 | 
          <el-input v-model="password" placeholder="请输入密码" type="password" prefix-icon="eva-icon-password" maxlength="30" show-password/> 
 | 
          <div class="captcha-input"> 
 | 
            <el-input v-model="captcha.value" placeholder="图片验证码" prefix-icon="eva-icon-shield" maxlength="4" @keypress.enter.native="login"/> 
 | 
            <img v-if="!captcha.loading" :src="captcha.uri" @click="refreshCaptcha"> 
 | 
            <span v-else><i class="el-icon-loading"></i></span> 
 | 
          </div> 
 | 
        </div> 
 | 
        <el-button :loading="loading" @click="login">登  录</el-button> --> 
 | 
        正在授权登录... 
 | 
      </div> 
 | 
    </div> 
 | 
  </template> 
 | 
   
 | 
  <script type="text/javascript"> 
 | 
   
 | 
  import { autoLoginDemo1 } from '@/api/system/common' 
 | 
   
 | 
  export default { 
 | 
    name: 'autoLogin', 
 | 
     
 | 
    data () { 
 | 
      return { 
 | 
        test:'', 
 | 
        loading: false, 
 | 
        username: '', 
 | 
        password: '', 
 | 
        companyId: 8, 
 | 
        // 验证码 
 | 
        captcha: { 
 | 
          loading: false, 
 | 
          value: '', 
 | 
          uuid: '', 
 | 
          uri: '' 
 | 
        } 
 | 
      } 
 | 
    }, 
 | 
    created () { 
 | 
      let query = window.location.href.split('?')[1].split('&') 
 | 
      let data = { 
 | 
        companyId: this.$store.state.VUE_APP_CONFIG.COMPANY_ID 
 | 
      } 
 | 
      query.forEach(item => { 
 | 
        let subQuery = item.split('=') 
 | 
        data[subQuery[0]] = subQuery[1] 
 | 
      }) 
 | 
      // console.log(data); 
 | 
      autoLoginDemo1(data) 
 | 
        .then(() => { 
 | 
          window.location.href = process.env.VUE_APP_CONTEXT_PATH 
 | 
        }) 
 | 
      // this.companyId = window.location.COMPANY_ID 
 | 
    }, 
 | 
    methods: { 
 | 
      
 | 
      login () { 
 | 
        if (this.loading) { 
 | 
          return 
 | 
        } 
 | 
        if (!this.__check()) { 
 | 
          return 
 | 
        } 
 | 
        this.loading = true 
 | 
        loginByPassword({ 
 | 
          username: this.username.trim(), 
 | 
          password: this.password, 
 | 
          code: this.captcha.value.trim(), 
 | 
          companyId: this.companyId, 
 | 
          uuid: this.captcha.uuid 
 | 
        }) 
 | 
          .then(() => { 
 | 
            window.location.href = process.env.VUE_APP_CONTEXT_PATH 
 | 
          }) 
 | 
          .catch(e => { 
 | 
            this.refreshCaptcha() 
 | 
            this.$tip.apiFailed(e) 
 | 
          }) 
 | 
          .finally(() => { 
 | 
            this.loading = false 
 | 
          }) 
 | 
      }, 
 | 
      /** 
 | 
       * 刷新验证码 
 | 
       */ 
 | 
      refreshCaptcha () { 
 | 
        this.captcha.loading = true 
 | 
        getCaptcha() 
 | 
          .then(data => { 
 | 
            this.captcha.uri = data.image 
 | 
            this.captcha.uuid = data.uuid 
 | 
          }) 
 | 
          .catch(e => { 
 | 
            this.$tip.apiFailed(e) 
 | 
          }) 
 | 
          .finally(() => { 
 | 
            setTimeout(() => { 
 | 
              this.captcha.loading = false 
 | 
            }, 150) 
 | 
          }) 
 | 
      }, 
 | 
      /** 
 | 
       * 登录前验证 
 | 
       * 
 | 
       * @returns {boolean} 
 | 
       * @private 
 | 
       */ 
 | 
      __check () { 
 | 
        if (this.username.trim() === '') { 
 | 
          this.$tip.error('请输入用户名') 
 | 
          return false 
 | 
        } 
 | 
        if (this.password === '') { 
 | 
          this.$tip.error('请输入密码') 
 | 
          return false 
 | 
        } 
 | 
        if (this.captcha.value.trim() === '') { 
 | 
          this.$tip.error('请输入图片验证码') 
 | 
          return false 
 | 
        } 
 | 
        return true 
 | 
      }, 
 | 
       
 | 
    }, 
 | 
     
 | 
     
 | 
  } 
 | 
  </script> 
 | 
   
 | 
  <style scoped lang="scss"> 
 | 
  @import "@/assets/style/variables.scss"; 
 | 
  $input-gap: 30px; 
 | 
  .wrap { 
 | 
    display: flex; 
 | 
    width: 100%; 
 | 
    height: 100vh; 
 | 
    background-repeat: no-repeat; 
 | 
    background-size: cover; 
 | 
    background-clip: content-box; 
 | 
    background-position: center; 
 | 
    // 左边介绍 
 | 
    .introduce { 
 | 
      // padding-left: 10%; 
 | 
      position: relative; 
 | 
      width: 100%; 
 | 
      height: 100%; 
 | 
      box-sizing: border-box; 
 | 
      color: #fff; 
 | 
      background: rgba(0, 0, 0, 0.4); 
 | 
      display: flex; 
 | 
      flex-direction: column; 
 | 
      justify-content: center; 
 | 
      div { 
 | 
        position: absolute; 
 | 
        top: 60px; 
 | 
        left: 60px; 
 | 
        width: 300px; 
 | 
        height: 60px; 
 | 
        img { 
 | 
          max-width: 100%; 
 | 
          // margin: auto; 
 | 
          height: 100%; 
 | 
        } 
 | 
      } 
 | 
      h2 { 
 | 
        align-items: center; 
 | 
        padding-left: 60px; 
 | 
        font-size:45px; 
 | 
        font-style: italic; 
 | 
        font-weight: 900; 
 | 
        margin-top: 50px; 
 | 
      } 
 | 
      // h3 { 
 | 
      //   font-size: 49px; 
 | 
      //   font-weight: 300; 
 | 
      //   margin: 25px 0; 
 | 
      // } 
 | 
    } 
 | 
    // 右边登录 
 | 
    .login { 
 | 
      height: 100%; 
 | 
      width: 38%; 
 | 
      max-width: 560px; 
 | 
      min-width: 460px; 
 | 
      flex-shrink: 0; 
 | 
      text-align: center; 
 | 
      background: #fff; 
 | 
      padding: 0 80px; 
 | 
      display: flex; 
 | 
      flex-direction: column; 
 | 
      justify-content: center; 
 | 
      box-sizing: border-box; 
 | 
      h1 { 
 | 
        font-size: 28px; 
 | 
        font-weight: 500; 
 | 
      } 
 | 
      .info-input { 
 | 
        margin-top: $input-gap; 
 | 
        margin-bottom: 60px; 
 | 
        ::v-deep .el-input { 
 | 
          margin-top: 30px; 
 | 
          .el-input__inner { 
 | 
            // height: 50px; 
 | 
            background: #F9F9F9; 
 | 
            border: 1px solid transparent; 
 | 
            &:focus { 
 | 
              border: 1px solid $primary-color; 
 | 
            } 
 | 
          } 
 | 
        } 
 | 
      } 
 | 
      // 验证码输入 
 | 
      .captcha-input { 
 | 
        display: flex; 
 | 
        margin-top: $input-gap; 
 | 
        height: 30px; 
 | 
        .el-input { 
 | 
          width: 100%; 
 | 
          margin-top: 0; 
 | 
        } 
 | 
        span, img { 
 | 
          width: 40%; 
 | 
          height: 100%; 
 | 
          flex-shrink: 0; 
 | 
          margin-left: 16px; 
 | 
        } 
 | 
        span { 
 | 
          display: flex; 
 | 
          align-items: center; 
 | 
          justify-content: center; 
 | 
          background: #f7f7f7; 
 | 
          border-radius: 8px; 
 | 
        } 
 | 
      } 
 | 
      .el-button { 
 | 
        height: 50px; 
 | 
        width: 100%; 
 | 
        color: #fff; 
 | 
        font-size: 16px; 
 | 
        background: linear-gradient(130deg, $primary-title-start-color 0%, $icon-background-color 100%); 
 | 
      } 
 | 
    } 
 | 
  } 
 | 
  </style> 
 | 
   
 |