From 7506900639d82442b6def1a15049b5b6a88b44ba Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期五, 27 五月 2022 20:29:33 +0800
Subject: [PATCH] 保存时间限制

---
 src/views/pcdesign/index.jsx           |    2 
 src/components/header/loginform.jsx    |    8 +
 src/views/mobdesign/index.jsx          |    2 
 src/templates/comtableconfig/index.jsx |  234 +++++++++++++++++++++++-----------------------
 src/views/menudesign/index.jsx         |    2 
 src/views/login/index.jsx              |   20 ++++
 6 files changed, 147 insertions(+), 121 deletions(-)

diff --git a/src/components/header/loginform.jsx b/src/components/header/loginform.jsx
index 6e066ec..899741a 100644
--- a/src/components/header/loginform.jsx
+++ b/src/components/header/loginform.jsx
@@ -16,7 +16,8 @@
     dict: sessionStorage.getItem('lang') !== 'en-US' ? zhCN : enUS,
     remember: false,
     username: '',
-    password: ''
+    password: '',
+    delay: +sessionStorage.getItem('mkDelay')
   }
 
   UNSAFE_componentWillMount () {
@@ -87,10 +88,13 @@
 
   render() {
     const { getFieldDecorator } = this.props.form
-    const { remember, username, password } = this.state
+    const { remember, username, password, delay } = this.state
 
     return (
       <Form style={{margin: '0px 10px'}}>
+        {delay > 1000 ? <Form.Item style={{marginBottom: '0px', marginTop: '-10px'}}>
+          鍗囩骇鍒�<a target="_blank" rel="noopener noreferrer" href="https://cloud.mk9h.cn/admin/index.html">浼佷笟鐗�</a>锛岃幏寰楁洿楂樻晥鐨勫紑鍙戜綋楠屻��
+        </Form.Item> : null}
         <Form.Item style={{marginBottom: '0px', height: '60px'}}>
           {getFieldDecorator('username', {
             rules: [{ required: true, message: this.state.dict['login.username.empty'] }],
diff --git a/src/templates/comtableconfig/index.jsx b/src/templates/comtableconfig/index.jsx
index 07773f6..e0118e9 100644
--- a/src/templates/comtableconfig/index.jsx
+++ b/src/templates/comtableconfig/index.jsx
@@ -475,141 +475,143 @@
       param.open_edition = openEdition
     }
 
-    // 鏈夋寜閽垨鏍囩鍒犻櫎鏃讹紝鍏堣繘琛屽垹闄ゆ搷浣�
-    // 鍒犻櫎鎴愬姛鍚庯紝淇濆瓨椤甸潰閰嶇疆
-    new Promise(resolve => {
-      if (delActions.length > 0) {
-        let deffers = delActions.map(item => {
-          let _param = {
-            func: 'sPC_MainMenu_Del',
-            MenuID: item.card ? item.card.uuid : item.uuid
-          }
-
-          if (item.type === 'action') {
-            let _ParentParam = null
-
-            try {
-              _ParentParam = window.btoa(window.encodeURIComponent(JSON.stringify(item.card)))
-            } catch (e) {
-              console.warn('Stringify Failure')
-              _ParentParam = null
+    setTimeout(() => {
+      // 鏈夋寜閽垨鏍囩鍒犻櫎鏃讹紝鍏堣繘琛屽垹闄ゆ搷浣�
+      // 鍒犻櫎鎴愬姛鍚庯紝淇濆瓨椤甸潰閰嶇疆
+      new Promise(resolve => {
+        if (delActions.length > 0) {
+          let deffers = delActions.map(item => {
+            let _param = {
+              func: 'sPC_MainMenu_Del',
+              MenuID: item.card ? item.card.uuid : item.uuid
             }
 
-            if (_ParentParam) { // 鍒犻櫎鎸夐挳鏃讹紝淇濆瓨鎸夐挳閰嶇疆淇℃伅锛岀敤浜庢仮澶嶆寜閽�
-              _param.ParentParam = _ParentParam
-            }
-          }
+            if (item.type === 'action') {
+              let _ParentParam = null
 
-          return new Promise(resolve => {
-            Api.getSystemConfig(_param).then(response => {
-              resolve(response)
+              try {
+                _ParentParam = window.btoa(window.encodeURIComponent(JSON.stringify(item.card)))
+              } catch (e) {
+                console.warn('Stringify Failure')
+                _ParentParam = null
+              }
+
+              if (_ParentParam) { // 鍒犻櫎鎸夐挳鏃讹紝淇濆瓨鎸夐挳閰嶇疆淇℃伅锛岀敤浜庢仮澶嶆寜閽�
+                _param.ParentParam = _ParentParam
+              }
+            }
+
+            return new Promise(resolve => {
+              Api.getSystemConfig(_param).then(response => {
+                resolve(response)
+              })
             })
           })
-        })
-        Promise.all(deffers).then(result => {
-          let error = null
-          result.forEach(response => {
-            if (!response.status) {
-              error = response
+          Promise.all(deffers).then(result => {
+            let error = null
+            result.forEach(response => {
+              if (!response.status) {
+                error = response
+              }
+            })
+
+            if (error) {
+              this.setState({
+                menuloading: false,
+                menucloseloading: false
+              })
+              notification.warning({
+                top: 92,
+                message: error.message,
+                duration: 5
+              })
+              resolve(false)
+            } else {
+              this.setState({
+                delActions: []
+              })
+              resolve(true)
             }
           })
+        } else if (delActions.length === 0) {
+          resolve(true)
+        }
+      }).then(resp => {
+        if (resp === false) return
 
-          if (error) {
+        if (thawButtons.length > 0) {
+          let defers = thawButtons.map(item => {
+            return new Promise((resolve) => {
+              Api.getSystemConfig({
+                func: 'sPC_MainMenu_ReDel',
+                MenuID: item
+              }).then(res => {
+                if (res.status) {
+                  resolve('')
+                } else {
+                  resolve(res.message)
+                }
+              })
+            })
+          })
+
+          return Promise.all(defers)
+        } else {
+          return true
+        }
+      }).then(res => {
+        if (res === true || res === false) return res
+
+        let msg = res.filter(Boolean)[0]
+        if (msg) {
+          notification.warning({
+            top: 92,
+            message: msg,
+            duration: 5
+          })
+          return false
+        } else {
+          this.setState({
+            thawButtons: []
+          })
+          return true
+        }
+      }).then(resp => {
+        if (resp === false) return
+        let localParam = fromJS(param).toJS()
+        Api.getSystemConfig(param).then(response => {
+          if (response.status) {
+            this.setState({
+              config: _config,
+              openEdition: response.open_edition || '',
+              originMenu: fromJS(_config).toJS()
+            }, () => {
+              reload && MKEmitter.emit('revert')
+            })
+
+            localParam.func = 'sPC_TrdMenu_AddUpt_For_Local'
+            delete localParam.LongParam
+            delete localParam.PageParam
+            delete localParam.Template
+            delete localParam.Sort
+            delete localParam.EasyCode
+            delete localParam.open_edition
+
+            this.submitAction(btnParam, tabParam, localParam)
+          } else {
             this.setState({
               menuloading: false,
               menucloseloading: false
             })
             notification.warning({
               top: 92,
-              message: error.message,
+              message: response.message,
               duration: 5
             })
-            resolve(false)
-          } else {
-            this.setState({
-              delActions: []
-            })
-            resolve(true)
           }
         })
-      } else if (delActions.length === 0) {
-        resolve(true)
-      }
-    }).then(resp => {
-      if (resp === false) return
-
-      if (thawButtons.length > 0) {
-        let defers = thawButtons.map(item => {
-          return new Promise((resolve) => {
-            Api.getSystemConfig({
-              func: 'sPC_MainMenu_ReDel',
-              MenuID: item
-            }).then(res => {
-              if (res.status) {
-                resolve('')
-              } else {
-                resolve(res.message)
-              }
-            })
-          })
-        })
-
-        return Promise.all(defers)
-      } else {
-        return true
-      }
-    }).then(res => {
-      if (res === true || res === false) return res
-
-      let msg = res.filter(Boolean)[0]
-      if (msg) {
-        notification.warning({
-          top: 92,
-          message: msg,
-          duration: 5
-        })
-        return false
-      } else {
-        this.setState({
-          thawButtons: []
-        })
-        return true
-      }
-    }).then(resp => {
-      if (resp === false) return
-      let localParam = fromJS(param).toJS()
-      Api.getSystemConfig(param).then(response => {
-        if (response.status) {
-          this.setState({
-            config: _config,
-            openEdition: response.open_edition || '',
-            originMenu: fromJS(_config).toJS()
-          }, () => {
-            reload && MKEmitter.emit('revert')
-          })
-
-          localParam.func = 'sPC_TrdMenu_AddUpt_For_Local'
-          delete localParam.LongParam
-          delete localParam.PageParam
-          delete localParam.Template
-          delete localParam.Sort
-          delete localParam.EasyCode
-          delete localParam.open_edition
-
-          this.submitAction(btnParam, tabParam, localParam)
-        } else {
-          this.setState({
-            menuloading: false,
-            menucloseloading: false
-          })
-          notification.warning({
-            top: 92,
-            message: response.message,
-            duration: 5
-          })
-        }
       })
-    })
+    }, +sessionStorage.getItem('mkDelay'))
   }
 
   /**
diff --git a/src/views/login/index.jsx b/src/views/login/index.jsx
index 09d4090..036109b 100644
--- a/src/views/login/index.jsx
+++ b/src/views/login/index.jsx
@@ -517,6 +517,26 @@
             // res.indexlogo = res.indexlogo ? res.indexlogo.replace(/:8080/ig, '').replace(/http:/ig, 'https:') : ''
             // res.loginlogo = res.loginlogo ? res.loginlogo.replace(/:8080/ig, '').replace(/http:/ig, 'https:') : ''
 
+            if (options.sysType === 'local' && window.GLOB.systemType !== 'production') {
+              if (md5(('mk' + window.GLOB.appkey + res.sys_datetime + res.member_type + res.registry_date).toLowerCase()) !== res.secret_key) {
+                Modal.warning({
+                  title: '瀵嗛挜閿欒锛岃鑱旂郴绠$悊鍛橈紒',
+                  okText: '鐭ラ亾浜�'
+                })
+                this.setState({
+                  auth: false,
+                  authError: '瀵嗛挜閿欒锛岃鑱旂郴绠$悊鍛橈紒'
+                })
+                return
+              } else if (res.member_type === 'personal' && res.registry_date) {
+                let saveDelay = 0
+                try {
+                  saveDelay = parseInt((new Date().getTime() - new Date(res.registry_date).getTime()) / 4320000)
+                  sessionStorage.setItem('mkDelay', saveDelay)
+                } catch(e) {}
+              }
+            }
+
             let _url = _href + 'system'
             let systemMsg = {
               favicon: res.titlelogo || '',
diff --git a/src/views/menudesign/index.jsx b/src/views/menudesign/index.jsx
index 01d03e9..248b24e 100644
--- a/src/views/menudesign/index.jsx
+++ b/src/views/menudesign/index.jsx
@@ -922,7 +922,7 @@
         }
         MKEmitter.emit('completeSave')
       })
-    }, 300)
+    }, 300 + (+sessionStorage.getItem('mkDelay')))
   }
 
   getRoleFields = () => {
diff --git a/src/views/mobdesign/index.jsx b/src/views/mobdesign/index.jsx
index eb130a9..054e8b5 100644
--- a/src/views/mobdesign/index.jsx
+++ b/src/views/mobdesign/index.jsx
@@ -1556,7 +1556,7 @@
         }
         MKEmitter.emit('completeSave')
       })
-    }, 300)
+    }, 300 + (+sessionStorage.getItem('mkDelay')))
   }
 
   getRoleFields = () => {
diff --git a/src/views/pcdesign/index.jsx b/src/views/pcdesign/index.jsx
index a8cca4d..32d962a 100644
--- a/src/views/pcdesign/index.jsx
+++ b/src/views/pcdesign/index.jsx
@@ -1616,7 +1616,7 @@
         }
         MKEmitter.emit('completeSave')
       })
-    }, 300)
+    }, 300 + (+sessionStorage.getItem('mkDelay')))
   }
 
   getRoleFields = () => {

--
Gitblit v1.8.0