king
2025-05-12 347c1360ca4b5c6c17353b3e407a26e62c18138b
src/views/login/index.scss
@@ -1,83 +1,142 @@
.login-container {
  height: 100vh;
  min-height: 600px;
  background-color: #000000;
  background-color: var(--mk-sys-background);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  --mk-login-offset-top: 0px;
  --mk-login-offset-left: 0px;
  .logo {
    position: relative;
    height: 100px;
    padding-top: 30px;
    line-height: 80px;
    border-bottom: 2px solid #1890ff;
    border-bottom: 2px solid var(--mk-sys-color);
    img {
      max-height: 100%;
    }
    .plat-name {
      position: absolute;
      color: var(--mk-sys-font-color);
      line-height: 30px;
      font-size: 30px;
      font-weight: 600;
      padding-left: 20px;
      font-family: "黑体","宋体",sans-serif,"Arial","Microsoft YaHei";
      z-index: 1;
    }
  }
  .ant-tabs.ant-tabs-card {
    .ant-tabs-card-bar {
      border-bottom: 0;
      .ant-tabs-nav-container {
        height: 50px;
        line-height: 50px;
      }
      margin-bottom: 10px;
      .ant-tabs-nav-scroll {
        .ant-tabs-nav {
          display: block;
          > div {
            display: flex;
            > .ant-tabs-tab {
              height: 50px;
              line-height: 50px;
              flex: 1;
            }
          }
        }
      }
      .ant-tabs-tab {
        display: block;
        margin-right: 0;
        border-radius: 0;
        text-align: center;
        font-size: 18px;
        white-space: nowrap;
        text-overflow: ellipsis;
        overflow: hidden;
      }
      .ant-tabs-tab.ant-tabs-tab-active {
        cursor: default;
      }
    }
  }
  .login-form-1 {
    .ant-tabs-tab {
      text-align: left!important;
      padding-left: 1.6vw!important;
      line-height: 60px!important;
    }
  }
  .login-middle {
    position: relative;
    height: calc(100vh - 194px);
    height: calc(100vh - 200px);
    min-height: 420px;
    background-size: cover;
    background-position: center center;
    border-bottom: 2px solid #1890ff;
    border-bottom: 2px solid var(--mk-sys-color);
    display: flex;
    align-items: center;
    justify-content: right;
    padding-right: 20vw;
    overflow: hidden;
    .login-form-button {
      background-color: var(--mk-sys-color);
      border-color: var(--mk-sys-color);
    }
    .login-form-button[disabled] {
      background-color: var(--mk-sys-color5);
      border-color: var(--mk-sys-color5);
    }
    .login-form-button.disabled {
      background-color: var(--mk-sys-color5);
      border-color: var(--mk-sys-color5);
      color: #ffffff;
      cursor: not-allowed;
      opacity: 0.9;
    }
    .login-way-wrap {
      .login-way.active, .login-way:hover {
        color: var(--mk-sys-color);
      }
    }
    .login-form {
      float: right;
      margin-top: 5%;
      margin-right: 20%;
      position: relative;
      background: #ffffff;
      width: 22vw;
      min-width: 300px;
      border-radius: 5px;
      overflow: hidden;
      border: 1px solid #bfbfbf;
      top: var(--mk-login-offset-top, 0px);
      left: var(--mk-login-offset-left, 0px);
      transition: all 0.2s;
      .login-way-title {
        font-size: 18px;
        line-height: 45px;
        display: flex;
        padding-top: 10px;
      }
      .login-way-title::before, .login-way-title::after {
        display: inline-block;
        content: ' ';
        height: 0.5px;
        flex: 1;
        background-color: rgba(0, 0, 0, 0.15);
        position: relative;
        top: 22px;
      }
      .scan-icon {
        position: absolute;
        right: 0px;
        top: 0px;
        font-size: 46px;
        color: #000000;
        line-height: 1;
        transform: rotate(-45deg);
        transform-origin: 0 0;
        overflow: hidden;
        padding-bottom: 10px;
        cursor: pointer;
        .anticon {
          transform-origin: 0 0;
          transform: rotate(45deg);
        }
      }
      .login-ways {
        padding: 0 1.6vw 1.5vw;
        span {
          color: #1890ff;
          cursor: pointer;
        }
        span + span {
          margin-left: 15px;
        }
      }
      .login-ways.center {
        text-align: center;
      }
      .login-way-title::before {
        margin: 0 10px 0 1.6vw;
      }
      .login-way-title::after {
        margin: 0 1.6vw 0 10px;
      }
      .form-item-wrap {
        padding: 0.6vw 1.6vw 1.6vw;
        // padding: 0.6vw 1.6vw 1.6vw;
        padding: 0.6vw 1.6vw 0vw;
        .ant-select-auto-complete.ant-select .ant-select-selection--single {
          height: calc(2vw + 5px);
          min-height: 30px;
        }
        .ant-select-auto-complete.ant-select .ant-input:focus, .ant-select-auto-complete.ant-select .ant-input:hover {
          border-color: var(--mk-sys-color);
        }
      }
      h4 {
@@ -91,30 +150,46 @@
        margin-bottom: 3vh;
        height: 40px;
      }
      .ant-form-item.vercode {
        .ant-input-group {
          border: 1px solid #d9d9d9;
          border-radius: 4px;
          .ant-input {
            border: 0;
            border-right: 1px solid #d9d9d9;
          }
          .ant-input-group-addon {
            border: 0;
          }
        }
      }
      .btn-login {
        margin-bottom: 3vh;
        clear: both;
        height: auto;
      }
      .register-line {
        font-size: 14px;
        margin-bottom: 10px;
        height: 25px;
        float: right;
        .ant-form-item-control {
          line-height: 25px;
        }
        .register {
          color: #1890ff;
          margin-right: 10px;
        }
        .forgot {
          font-size: 14px;
          color: #1890ff;
          float: right;
        }
      }
      .minline {
        display: inline-block;
        margin-bottom: 3vh;
        margin-top: -10px;
        height: 35px;
      }
      .minline.right {
        float: right;
@@ -129,8 +204,37 @@
          }
        }
      }
      .proline {
        display: inline-block;
        margin-bottom: 10px;
        height: auto;
        margin-top: calc(-3vh + 10px);
        font-size: 13px;
        .ant-form-item-children {
          display: flex;
          align-items: flex-start;
          line-height: 1.5;
          color: rgba(0, 0, 0, 0.5);
          // .ant-checkbox-inner {
          //   width: 15px;
          //   height: 15px;
          // }
          input[type="checkbox"] {
            width: 35px;
            height: 22px;
            top: -4px;
            left: -4px;
          }
          a {
            color: var(--mk-sys-color);
          }
        }
      }
      button.vercode {
        border: 0;
        color: var(--mk-sys-color);
      }
      button:not(.vercode) {
        width: 100%;
@@ -162,7 +266,7 @@
        font-size: 18px;
      }
      .anticon-eye {
        color: #1890ff;
        color: var(--mk-sys-color);
      }
    }
    .login-sync-button {
@@ -173,21 +277,80 @@
  }
  .login-bottom {
    text-align: center;
    color: #ffffff;
    color: var(--mk-sys-font-color);
    padding-top: 20px;
    p span.split {
      margin-right: 15px;
    p {
      margin-bottom: 5px;
      text-align: center;
    }
    a {
      display: inline-block;
      margin-bottom: 5px;
      color: #ffffff;
      color: var(--mk-sys-font-color);
    }
  }
  .ant-btn-primary[disabled] {
    color: #fff;
    background-color: #40a9ff;
    border-color: #40a9ff;
  }
  .form-scan-wrap {
    text-align: center;
    line-height: 45px;
    .qr-wrap {
      position: relative;
      width: 60%;
      padding-top: 60%;
      margin: 0 auto;
      .qrcode-box {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        width: auto!important;
        height: auto!important;
        canvas {
          width: 100%!important;
          height: 100%!important;
        }
      }
      .qrcode-out {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: rgba(0, 0, 0, 0.7);
        padding-top: 30%;
        color: rgba(255, 255, 255, 0.7);
        line-height: 1.5;
        text-align: center;
        .anticon-redo {
          display: block;
          font-size: 24px;
          cursor: pointer;
          color: #ffffff;
        }
      }
    }
    .qr-wrap + img {
      width: 24px;
      margin-right: 5px;
      vertical-align: middle;
    }
  }
}
.mk-user-option {
  .anticon-close-circle {
    float: right;
    opacity: 0;
    transition: opacity 0.3s;
    padding: 3px;
  }
}
.mk-user-option:hover {
  .anticon-close-circle {
    opacity: 1;
  }
}
.sync-cloud-application {
@@ -202,23 +365,8 @@
@media screen and (max-width: 500px) {
  .login-container {
    .login-middle {
      .login-form {
        float: unset;
        margin: 0 auto;
        margin-top: 5%;
      }
    }
  }
}
@media screen and (min-width: 1550px) {
  .login-container {
    .ant-tabs.ant-tabs-card {
      .ant-tabs-card-bar {
        .ant-tabs-tab {
          font-size: 20px;
        }
      }
      justify-content: center;
      padding-right: 0px;
    }
  }
}