From ff9cdf2b63070f01b375ac93c0e3b2975548ec14 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期四, 03 四月 2025 09:34:04 +0800
Subject: [PATCH] Merge branch 'develop'

---
 src/index.js               |   18 ++++++---
 src/views/login/index.scss |   37 +++++++-----------
 public/manifest.json       |    2 
 src/views/main/index.jsx   |   11 +++++
 src/views/login/index.jsx  |   35 ++++++++++++++++-
 5 files changed, 71 insertions(+), 32 deletions(-)

diff --git a/public/manifest.json b/public/manifest.json
index 18d9315..a87928a 100644
--- a/public/manifest.json
+++ b/public/manifest.json
@@ -6,5 +6,5 @@
   "display": "standalone",
   "theme_color": "#000000",
   "background_color": "#ffffff",
-  "mk_version": "20250301"
+  "mk_version": "20250402"
 }
diff --git a/src/index.js b/src/index.js
index 07da582..ac00e9a 100644
--- a/src/index.js
+++ b/src/index.js
@@ -247,6 +247,8 @@
         GLOB.showline = _systemMsg.showline || ''
         GLOB.navBar = _systemMsg.navBar || 'shutter'
         GLOB.appVersion = _systemMsg.app_version || ''
+        GLOB.loginOtop = _systemMsg.loginOtop || ''
+        GLOB.loginOleft = _systemMsg.loginOleft || ''
         sessionStorage.setItem('appname', _systemMsg.appname || '')
 
         let levels = [30, 10, 20, 40, 50, 60, 70, 80, 90, 100]
@@ -389,12 +391,16 @@
         value: GLOB.debugger
       })
     } else if (GLOB.sysType === 'cloud') {
-      Object.defineProperty(GLOB, 'debugger', {
-        writable: false,
-        value: GLOB.debugger
-      })
-
-      GLOB.breakpoint = false
+      if (sessionStorage.getItem('cloudRun') === 'debug') {
+        GLOB.debugger = true
+      } else {
+        Object.defineProperty(GLOB, 'debugger', {
+          writable: false,
+          value: GLOB.debugger
+        })
+  
+        GLOB.breakpoint = false
+      }
     } else {
       if (sessionStorage.getItem('breakpoint')) {
         GLOB.debugger = true
diff --git a/src/views/login/index.jsx b/src/views/login/index.jsx
index 9d0ab7b..850d770 100644
--- a/src/views/login/index.jsx
+++ b/src/views/login/index.jsx
@@ -599,6 +599,20 @@
             if (!['shutter', 'linkage_navigation', 'linkage', 'menu_board', 'menu_board_navigation'].includes(res.menu_type)) {
               res.menu_type = 'shutter'
             }
+            
+            let loginOtop = ''
+            let loginOleft = ''
+            let windowWidth = window.innerWidth
+            let fix = null
+            res.login_screen_offset && res.login_screen_offset.forEach(item => {
+              if (!item.offset_x && !item.offset_y) return
+
+              if (fix === null || Math.abs(windowWidth - item.resolution_width) < fix) {
+                fix = Math.abs(windowWidth - item.resolution_width)
+                loginOtop = item.offset_y + item.y_unit
+                loginOleft = item.offset_x + item.x_unit
+              }
+            })
 
             let systemMsg = {
               favicon: res.titlelogo || '',
@@ -616,7 +630,9 @@
               navBar: res.menu_type, // shutter 鐧惧彾绐椼�乴inkage_navigation 鑱斿姩鑿滃崟銆乴inkage 鑱斿姩鑿滃崟_鏃犲鑸爮銆乵enu_board 鑿滃崟闈㈡澘銆乵enu_board_navigation 鑿滃崟闈㈡澘_鏍囩椤�
               app_version: res.app_version,
               Member_Level: 0,
-              appname: res.appname || ''
+              appname: res.appname || '',
+              loginOtop: loginOtop,
+              loginOleft: loginOleft
             }
 
             if ([10, 20, 30, 40, 50, 60, 70, 80, 90, 100].includes(res.member_level)) {
@@ -730,6 +746,9 @@
               window.location.reload()
               return
             }
+
+            window.GLOB.loginOtop = systemMsg.loginOtop
+            window.GLOB.loginOleft = systemMsg.loginOleft
             
             this.setState({
               loginWays: login_ways,
@@ -903,8 +922,20 @@
   render () {
     const { lineColor, bgImage, loginlogo, copyRight, webSite, ICP, loginWays } = this.state
 
+    let wrapStyle = {}
+
+    if (bgImage) {
+      wrapStyle.backgroundImage = `url(${bgImage})`
+    }
+    if (window.GLOB.loginOtop) {
+      wrapStyle['--mk-login-offset-top'] = window.GLOB.loginOtop
+    }
+    if (window.GLOB.loginOleft) {
+      wrapStyle['--mk-login-offset-left'] = window.GLOB.loginOleft
+    }
+
     return (
-      <div className="login-container" id="mk-login-view" style={bgImage ? {backgroundImage: 'url(' + bgImage + ')'} : {}}>
+      <div className="login-container" id="mk-login-view" style={wrapStyle}>
         <div className="logo" style={lineColor ? {borderColor: lineColor} : {}}>
           {loginlogo ? <img src={loginlogo} alt=""/> : null}
           {this.state.platName ? <p className="plat-name">{this.state.platName}</p> : null}
diff --git a/src/views/login/index.scss b/src/views/login/index.scss
index a5b2e89..cb8b3af 100644
--- a/src/views/login/index.scss
+++ b/src/views/login/index.scss
@@ -5,6 +5,9 @@
   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;
@@ -28,11 +31,14 @@
 
   .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 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);
@@ -51,15 +57,15 @@
 
     .login-form {
       position: relative;
-      float: right;
-      margin-top: 5%;
-      margin-right: 20%;
       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;
@@ -324,23 +330,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;
     }
   }
 }
\ No newline at end of file
diff --git a/src/views/main/index.jsx b/src/views/main/index.jsx
index 6971bcf..2686a48 100644
--- a/src/views/main/index.jsx
+++ b/src/views/main/index.jsx
@@ -68,6 +68,17 @@
           MKEmitter.emit('debugChange')
         }
       })
+    } else {
+      Object.defineProperty(window, 'debugger', {
+        configurable: true,
+        enumerable: true,
+        set(value) {
+          if (value === 1949) {
+            sessionStorage.setItem('cloudRun', 'debug')
+            window.location.reload()
+          }
+        }
+      })
     }
   }
 

--
Gitblit v1.8.0