From c986f2f56bb153a9b6cebc74b4d9334c85ddfdda Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期一, 04 一月 2021 18:54:02 +0800
Subject: [PATCH] 2020-01-04

---
 src/views/login/index.jsx |  152 +++++++++++++++++++++++++++++++-------------------
 1 files changed, 94 insertions(+), 58 deletions(-)

diff --git a/src/views/login/index.jsx b/src/views/login/index.jsx
index 318cb49..3fdf721 100644
--- a/src/views/login/index.jsx
+++ b/src/views/login/index.jsx
@@ -70,6 +70,10 @@
     })
   }
 
+  /**
+   * @description 璐﹀彿瀵嗙爜鐧诲綍
+   * @param {Object} param 鐢ㄦ埛鍚嶅瘑鐮佺瓑淇℃伅
+   */
   async loginsubmit (param) {
     if (options.sysType === 'local' && !window.GLOB.mainSystemApi) { // 涓氬姟绯荤粺蹇呴』璁剧疆鍗曠偣鍦板潃
       Modal.warning({
@@ -86,6 +90,11 @@
       sessionStorage.setItem('User_Name', res.UserName)
       sessionStorage.setItem('Full_Name', res.FullName)
       sessionStorage.setItem('avatar', res.icon || '')
+      sessionStorage.setItem('dataM', res.dataM ? 'true' : '')
+      sessionStorage.setItem('localDataM', res.dataM ? 'true' : '')
+      sessionStorage.setItem('debug', res.debug || '')
+      sessionStorage.setItem('role_id', res.role_id || '')
+      sessionStorage.setItem('localRole_id', res.role_id || '')
 
       localStorage.setItem('lang', param.lang || 'zh-CN')
 
@@ -96,11 +105,6 @@
       } else {
         localStorage.removeItem(_url)
       }
-
-      // if (this.props.location.state && this.props.location.state.from.pathname) {
-      //   // 鏌ョ湅鏄惁涓哄叾浠栭〉闈㈣烦杞紝璺緞瀛樺湪鏃讹紝璺冲洖鍘熼〉闈�
-      //   this.props.history.replace(this.props.location.state.from.pathname)
-      // }
 
       let _history = sessionStorage.getItem('history')
       if (_history) {
@@ -119,6 +123,17 @@
       })
     } else {
       message.warning(res.message)
+      if (res.message.indexOf('瀵嗙爜閿欒') > -1) {
+        const input = document.getElementById('password')
+        if (input) {
+          input.select()
+        }
+      } else if (res.message.indexOf('鐧诲綍鏉冮檺') > -1) {
+        const input = document.getElementById('username')
+        if (input) {
+          input.select()
+        }
+      }
       this.setState({
         isDisabled: false
       })
@@ -141,6 +156,11 @@
       sessionStorage.setItem('User_Name', res.UserName)
       sessionStorage.setItem('Full_Name', res.FullName)
       sessionStorage.setItem('avatar', res.icon || '')
+      sessionStorage.setItem('dataM', res.dataM ? 'true' : '')
+      sessionStorage.setItem('localDataM', res.dataM ? 'true' : '')
+      sessionStorage.setItem('debug', res.debug || '')
+      sessionStorage.setItem('role_id', res.role_id || '')
+      sessionStorage.setItem('localRole_id', res.role_id || '')
 
       localStorage.setItem('lang', param.lang || 'zh-CN')
 
@@ -170,68 +190,73 @@
   componentDidMount () {
     const timeStamp = new Date().getTime()
     const _authUrl = window.location.href.split('#')[0] + 'AuthCode'
-    let _appId = window.GLOB.appId
-
-    if (options.sysType === 'cloud') { // 浜戠浣跨敤绯荤粺閰嶇疆appid
-      _appId = options.caId
-    }
-
-    let str = md5('MK19' + _appId + timeStamp)
-
-    let param = {
-      rduri: 'http://minkesoft.com/mksepc/webapi/dostars',
-      func: 'sEmpowerCloud_Get_LinkUrl',
-      AppID: _appId,
-      TimeStamp: timeStamp,
-      appkey: window.GLOB.appkey,
-      userid: 'bh0bapabtd45epsgra79segbch6c1ibk',
-      LoginUID: 'bh0bapabtd45epsgra79segbch6c1ibk'
-    }
-
-    Api.dostarToDostars(param).then(res => {
-      if (res.status) {
-        if (res.EPC === str) {
-          let box = []
-          for (let i = 0; i < 15; i++) {
-            let s = 'mksoft' + moment().add(i, 'days').format('YYYYMMDD')
-            box.push(md5(s))
-          }
-          box = box.join(',')
-          localStorage.setItem(_authUrl, box)
-  
-          this.setState({
-            auth: true
-          })
-        } else {
-          localStorage.removeItem(_authUrl)
-          this.setState({
-            auth: false
-          })
-        }
-      } else if (res.ErrCode === 'N') {
-        localStorage.removeItem(_authUrl)
-        this.setState({
-          auth: false
-        })
-      }
-    })
 
     let authCode = localStorage.getItem(_authUrl)
     let _s = md5('mksoft' + moment().format('YYYYMMDD'))
-    if (authCode && authCode.includes(_s)) {
+    authCode = authCode ? authCode.split(',') : []
+    let index = authCode.findIndex(key => key === _s)
+
+    if (index > -1) {
       this.setState({
         auth: true
       })
     }
 
+    if (index === -1 || index > 5) {
+      let _appId = window.GLOB.appId
+  
+      if (options.sysType === 'cloud') { // 浜戠浣跨敤绯荤粺閰嶇疆appid
+        _appId = options.caId
+      }
+  
+      let str = md5('MK19' + _appId + timeStamp)
+      let _rduri = window.atob('aHR0cDovL2VwYy5tazloL$mkmNuL3dlYmFwaS9kb3N0YXJz'.replace(/\$mk/ig, ''))
+      let _func = window.atob('c0VtcG93ZXJDbG91$mkZF9HZXRfTGlua1VybA=='.replace(/\$mk/ig, ''))
+      let _id = window.atob('YmgwYmFwYWJ0ZDQ1ZXBz$mkZ3JhNzlzZWdiY2g2YzFpYms='.replace(/\$mk/ig, ''))
+  
+      let param = {
+        rduri: _rduri,
+        func: _func,
+        AppID: _appId,
+        TimeStamp: timeStamp,
+        appkey: window.GLOB.appkey,
+        userid: _id,
+        LoginUID: _id
+      }
+  
+      Api.dostarToDostars(param).then(res => {
+        if (res.status) {
+          if (res.EPC === str) {
+            let box = []
+            for (let i = 0; i < 15; i++) {
+              let s = 'mksoft' + moment().add(i, 'days').format('YYYYMMDD')
+              box.push(md5(s))
+            }
+            box = box.join(',')
+            localStorage.setItem(_authUrl, box)
+    
+            this.setState({
+              auth: true
+            })
+          } else {
+            localStorage.removeItem(_authUrl)
+            this.setState({
+              auth: false
+            })
+          }
+        } else if (res.ErrCode === 'N') {
+          localStorage.removeItem(_authUrl)
+          this.setState({
+            auth: false
+          })
+        }
+      })
+    }
+
     Api.getTouristMsg().then(result => {
       if (result.status) {
-        if (!sessionStorage.getItem('UserID') && result.UserID) {
-          sessionStorage.setItem('UserID', result.UserID)
-        }
-        if (!sessionStorage.getItem('LoginUID') && result.LoginUID) {
-          sessionStorage.setItem('LoginUID', result.LoginUID)
-        }
+        result.UserID && sessionStorage.setItem('UserID', result.UserID)
+        result.LoginUID && sessionStorage.setItem('LoginUID', result.LoginUID)
 
         if (result.UserID && result.LoginUID) {
           this.setState({touristLogin: true})
@@ -261,8 +286,11 @@
               mainlogo: res.indexlogo || '',
               doclogo: res.doclogo || '',
               style: res.CSS || '',
+              showline: res.split_line_show || 'true',
               webSite: res.WebSite || ''
             }
+
+            sessionStorage.setItem('home_background', res.index_background_color)
 
             // url鏍囬
             document.title = systemMsg.platTitle
@@ -314,7 +342,7 @@
             window.GLOB.style = systemMsg.style
         
             if (window.GLOB.style && options.styles[window.GLOB.style]) {
-              document.getElementById('root').className = options.styles[window.GLOB.style]
+              document.body.className = options.styles[window.GLOB.style] + ' ' + (res.split_line_show === 'false' ? 'hidden-split-line' : '')
             }
 
             if (res.titlelogo && window.GLOB.favicon !== res.titlelogo) {
@@ -331,6 +359,14 @@
               sessionStorage.setItem('Member_Level', md5('mksoft' + moment().format('YYYYMM') + memberLevel))
               this.props.modifyMemberLevel(memberLevel)
             }
+
+            if (res.users_upt === 'true' && window.GLOB.systemType === 'production') {
+              Api.getLocalConfig ({func: 's_Get_local_u_deleted', users_upt_date: res.users_upt_date}).then(localres => {
+                Api.getSystemConfig({func: 's_get_sso_u_create', user_ids: localres.user_ids, user_ids_local: localres.user_ids_local, users_upt_date: localres.users_upt_date}).then(ssores => {
+                  Api.getLocalConfig ({func: 's_get_local_u_create', user_ids_local: ssores.user_ids_local})
+                })
+              })
+            }
           } else {
             message.warning(res.message)
           }

--
Gitblit v1.8.0