From e8ef7263819e847d55cd35e006aa02635fd7b82e Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期三, 14 五月 2025 17:54:21 +0800
Subject: [PATCH] 2025-05-14

---
 src/views/login/index.scss |  281 +++++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 255 insertions(+), 26 deletions(-)

diff --git a/src/views/login/index.scss b/src/views/login/index.scss
index ea7d5d6..b4fe275 100644
--- a/src/views/login/index.scss
+++ b/src/views/login/index.scss
@@ -1,36 +1,143 @@
 .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;
+    }
   }
+
   .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: flex-end;
+    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%;
-      padding: 1.6vw;
+      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 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 {
         font-size: 20px;
@@ -43,17 +150,51 @@
         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;
+        }
       }
       .minline {
         display: inline-block;
         margin-bottom: 3vh;
         margin-top: -10px;
+        height: 35px;
       }
       .minline.right {
         float: right;
         width: 100px;
+        margin-bottom: 2vh;
         .ant-select-selection {
           border: 0;
           box-shadow: none;
@@ -63,7 +204,39 @@
           }
         }
       }
-      button {
+      .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%;
         height: calc(2vw + 10px);
         min-height: 30px;
@@ -89,11 +262,11 @@
       .ant-form label {
         font-size: 16px;
       }
-      .ant-btn {
+      .ant-btn:not(.vercode) {
         font-size: 18px;
       }
       .anticon-eye {
-        color: #1890ff;
+        color: var(--mk-sys-color);
       }
     }
     .login-sync-button {
@@ -104,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 {
@@ -133,11 +365,8 @@
 @media screen and (max-width: 500px) {
   .login-container {
     .login-middle {
-      .login-form {
-        float: unset;
-        margin: 0 auto;
-        margin-top: 5%;
-      }
+      justify-content: center;
+      padding-right: 0px;
     }
   }
 }
\ No newline at end of file

--
Gitblit v1.8.0