From 9ff5920c0a58771219b134a7b46b7d0c1e1542ad Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期三, 19 六月 2024 23:50:13 +0800
Subject: [PATCH] 2024-06-19

---
 src/components/tabview/index.jsx                                      |    2 
 src/mob/searchconfig/searchdragelement/index.jsx                      |    2 
 src/menu/datasource/verifycard/utils.jsx                              |    2 
 src/templates/zshare/editTable/index.jsx                              |    2 
 src/views/login/loginform.jsx                                         |   23 +-
 src/components/resetPassword/resetpwd/index.jsx                       |   57 +++---
 src/components/header/index.jsx                                       |   46 +++--
 src/menu/datasource/verifycard/customscript/index.jsx                 |    2 
 src/utils/utils-custom.js                                             |    2 
 src/components/resetPassword/index.jsx                                |   23 +-
 src/menu/components/card/cardcellcomponent/dragaction/index.jsx       |    2 
 src/menu/components/share/actioncomponent/dragaction/index.jsx        |    2 
 src/tabviews/zshare/actionList/exceloutbutton/index.jsx               |    9 +
 src/tabviews/custom/popview/index.jsx                                 |    2 
 src/templates/sharecomponent/actioncomponent/verifyexcelout/utils.jsx |    6 
 src/tabviews/basetable/index.jsx                                      |    2 
 src/templates/sharecomponent/columncomponent/index.jsx                |    2 
 src/menu/tablenodes/index.jsx                                         |    4 
 src/api/index.js                                                      |    3 
 src/tabviews/custom/components/module/invoice/index.jsx               |    2 
 src/templates/modalconfig/dragelement/index.jsx                       |    2 
 src/templates/sharecomponent/actioncomponent/verifyprint/utils.jsx    |    2 
 src/components/header/loginform.jsx                                   |    8 
 src/views/mobdesign/index.jsx                                         |    3 
 src/templates/zshare/codemirror/index.jsx                             |    3 
 src/menu/sysinterface/index.jsx                                       |    2 
 src/index.js                                                          |   73 ++++----
 src/views/sso/index.jsx                                               |   12 
 src/menu/components/search/main-search/dragsearch/index.jsx           |    2 
 src/menu/components/share/searchcomponent/dragsearch/index.jsx        |    2 
 src/mob/colorsketch/index.jsx                                         |    7 
 src/views/pcdesign/index.jsx                                          |    3 
 src/templates/zshare/pasteform/index.jsx                              |    2 
 src/mob/components/formdragelement/index.jsx                          |    2 
 src/templates/sharecomponent/searchcomponent/dragsearch/index.jsx     |    2 
 src/tabviews/zshare/actionList/printbutton/index.jsx                  |    2 
 src/components/breadview/index.jsx                                    |    4 
 src/tabviews/custom/index.jsx                                         |    4 
 src/menu/components/table/base-table/columns/index.jsx                |    2 
 src/templates/sharecomponent/actioncomponent/dragaction/index.jsx     |    2 
 src/views/appmanage/index.jsx                                         |   18 +-
 src/menu/components/share/copycomponent/index.jsx                     |    2 
 src/menu/debug/index.jsx                                              |    2 
 src/views/imdesign/index.jsx                                          |    3 
 src/components/pasteboard/index.jsx                                   |    2 
 src/menu/components/table/normal-table/columns/index.jsx              |    4 
 src/menu/components/table/edit-table/columns/index.jsx                |    4 
 src/views/login/index.jsx                                             |   53 +++---
 48 files changed, 221 insertions(+), 201 deletions(-)

diff --git a/src/api/index.js b/src/api/index.js
index d7b2088..707c722 100644
--- a/src/api/index.js
+++ b/src/api/index.js
@@ -15,7 +15,8 @@
 window.GLOB.$error = false
 
 let service = window.GLOB.service ? '-' + window.GLOB.service.replace('/', '') : ''
-let db = `mkdb${service}`
+let lang = sessionStorage.getItem('lang') !== 'zh-CN' ? sessionStorage.getItem('lang') : ''
+let db = `mkdb${service + lang}`
 
 if (window.indexedDB) {
   CacheUtils.openIndexDB(db)
diff --git a/src/components/breadview/index.jsx b/src/components/breadview/index.jsx
index 4965580..ac52d25 100644
--- a/src/components/breadview/index.jsx
+++ b/src/components/breadview/index.jsx
@@ -34,7 +34,7 @@
   UNSAFE_componentWillMount () {
     let home = {
       MenuID: 'home_page_id',
-      MenuName: '棣栭〉',
+      MenuName: window.GLOB.dict['home'] || '棣栭〉',
       type: 'Home'
     }
     this.setState({tabview: home})
@@ -140,7 +140,7 @@
   gotoHome = () => {
     let home = {
       MenuID: 'home_page_id',
-      MenuName: '棣栭〉',
+      MenuName: window.GLOB.dict['home'] || '棣栭〉',
       type: 'Home'
     }
     this.setState({tabview: home})
diff --git a/src/components/header/index.jsx b/src/components/header/index.jsx
index 5e547d7..2204476 100644
--- a/src/components/header/index.jsx
+++ b/src/components/header/index.jsx
@@ -34,7 +34,8 @@
     thdMenuList: [],
     debug: sessionStorage.getItem('debug') === 'true' && window.GLOB.memberLevel > 0,
     collapse: sessionStorage.getItem('collapse') === 'true',
-    lang: sessionStorage.getItem('lang') || ''
+    lang: sessionStorage.getItem('lang') || '',
+    dict: window.GLOB.dict
   }
 
   UNSAFE_componentWillMount () {
@@ -113,13 +114,14 @@
   }
 
   logout = () => {
+    const { dict } = this.state
     // 閫�鍑虹櫥褰�
     let _this = this
     confirm({
-      title: '鎮ㄧ‘瀹氳閫�鍑哄悧?',
+      title: dict['logout_query'] || '鎮ㄧ‘瀹氳閫�鍑哄悧锛�',
       content: '',
-      okText: '纭畾',
-      cancelText: '鍙栨秷',
+      okText: dict['ok'] || '纭畾',
+      cancelText: dict['cancel'] || '鍙栨秷',
       onOk() {
         sessionStorage.clear()
         _this.props.history.replace('/login')
@@ -442,11 +444,10 @@
 
           sessionStorage.setItem('CloudLogo', res.open_logo || '')
 
-          let _url = window.location.href.split('#')[0] + 'cloud'
           if (param.remember) {
-            localStorage.setItem(_url, window.btoa(window.encodeURIComponent(JSON.stringify({time: new Date().getTime(), username: param.username, password: param.password}))))
+            localStorage.setItem(window.GLOB.sysSign + 'cloud', window.btoa(window.encodeURIComponent(JSON.stringify({time: new Date().getTime(), username: param.username, password: param.password}))))
           } else {
-            localStorage.setItem(_url, window.btoa(window.encodeURIComponent(JSON.stringify({time: new Date().getTime(), username: param.username, password: ''}))))
+            localStorage.setItem(window.GLOB.sysSign + 'cloud', window.btoa(window.encodeURIComponent(JSON.stringify({time: new Date().getTime(), username: param.username, password: ''}))))
           }
 
           window.GLOB.mainMenu = null
@@ -564,15 +565,19 @@
   }
 
   verup = () => {
+    const { dict } = this.state
+
     confirm({
-      title: '椤甸潰鏇存柊',
-      content: '閲嶆柊鍔犺浇搴旂敤淇℃伅',
+      title: dict['page_upd'] || '椤甸潰鏇存柊',
+      content: dict['reload_app'] || '閲嶆柊鍔犺浇搴旂敤淇℃伅',
+      okText: dict['ok'] || '纭畾',
+      cancelText: dict['cancel'] || '鍙栨秷',
       onOk() {
         return new Promise(resolve => {
           if (!window.GLOB.IndexDB) {
             notification.warning({
               top: 92,
-              message: '鏇存柊澶辫触锛岃鍒锋柊椤甸潰閲嶈瘯锛�',
+              message: dict['exc_fail'] || '鏇存柊澶辫触锛岃鍒锋柊椤甸潰閲嶈瘯锛�',
               duration: 2
             })
             resolve()
@@ -584,7 +589,7 @@
             setTimeout(() => {
               notification.success({
                 top: 92,
-                message: '鏇存柊鎴愬姛锛�',
+                message: dict['exc_success'] || '鏇存柊鎴愬姛锛�',
                 duration: 2
               })
               resolve()
@@ -598,7 +603,8 @@
 
   about = () => {
     Modal.success({
-      title: '绯荤粺鐗堟湰v' + window.GLOB.appVersion
+      title: (window.GLOB.dict['sys_ver'] || '绯荤粺鐗堟湰') + ' v' + window.GLOB.appVersion,
+      okText: window.GLOB.dict['got_it'] || '鐭ラ亾浜�',
     })
   }
 
@@ -609,32 +615,32 @@
   }
 
   render () {
-    const { thdMenuList, searchkey, debug, menulist, collapse } = this.state
+    const { thdMenuList, searchkey, debug, menulist, collapse, dict } = this.state
     const navBar = window.GLOB.navBar
 
     const menu = (
       <Menu className="header-dropdown">
         {debug && <Menu.Item key="switch">
-          缂栬緫
+          {dict['edit'] || '缂栬緫'}
           <Switch size="small" style={{marginLeft: '7px'}} checked={false} onChange={this.changeEditState} />
         </Menu.Item>}
-        <Menu.Item key="password" onClick={this.changePassword}>淇敼瀵嗙爜</Menu.Item>
-        {this.state.systems.length ? <Menu.SubMenu style={{minWidth: '110px'}} title="鍒囨崲绯荤粺">
+        <Menu.Item key="password" onClick={this.changePassword}>{dict['ch_pwd'] || '淇敼瀵嗙爜'}</Menu.Item>
+        {this.state.systems.length ? <Menu.SubMenu style={{minWidth: '110px'}} title={dict['swt_sys'] || '鍒囨崲绯荤粺'}>
           {this.state.systems.map((system, index) => (
             <Menu.Item style={{minWidth: '100px', lineHeight: '30px'}} key={'sub' + index} onClick={() => {this.changeSystem(system)}}> {system.AppName} </Menu.Item>
           ))}
         </Menu.SubMenu> : null}
-        <Menu.Item key="doc" onClick={this.gotoDoc}>鏂囨。涓績</Menu.Item>
+        <Menu.Item key="doc" onClick={this.gotoDoc}>{dict['doc_center'] || '鏂囨。涓績'}</Menu.Item>
         <Menu.Item key="verup" onClick={this.verup}>
-          椤甸潰鏇存柊
+          {dict['page_upd'] || '椤甸潰鏇存柊'}
         </Menu.Item>
         {window.GLOB.WXNotice ? <Menu.Item key="wxnotice" onClick={() => this.setState({wxVisible: true})}>
           寰俊娑堟伅
         </Menu.Item> : null}
         {window.GLOB.appVersion ? <Menu.Item key="version" onClick={this.about}>
-          鍏充簬
+          {dict['about'] || '鍏充簬'}
         </Menu.Item> : null}
-        <Menu.Item key="logout" onClick={this.logout}>閫�鍑�</Menu.Item>
+        <Menu.Item key="logout" onClick={this.logout}>{dict['logout'] || '閫�鍑�'}</Menu.Item>
       </Menu>
     )
 
diff --git a/src/components/header/loginform.jsx b/src/components/header/loginform.jsx
index dd47e63..5154a9c 100644
--- a/src/components/header/loginform.jsx
+++ b/src/components/header/loginform.jsx
@@ -19,8 +19,7 @@
   }
 
   UNSAFE_componentWillMount () {
-    let _url = window.location.href.split('#')[0] + 'cloud'
-    let _user = localStorage.getItem(_url)
+    let _user = localStorage.getItem(window.GLOB.sysSign + 'cloud')
     
     if (_user) {
       try {
@@ -33,7 +32,7 @@
 
     if (_user && new Date().getTime() - _user.time > 1000 * 7 * 24 * 60 * 60) {
       _user = ''
-      localStorage.removeItem(_url)
+      localStorage.removeItem(window.GLOB.sysSign + 'cloud')
     }
 
     if (_user) {
@@ -83,10 +82,9 @@
 
   rememberChange = (e) => {
     let val = e.target.checked
-    let _url = window.location.href.split('#')[0] + 'cloud'
 
     if (!val) {
-      localStorage.removeItem(_url)
+      localStorage.removeItem(window.GLOB.sysSign + 'cloud')
     }
   }
 
diff --git a/src/components/pasteboard/index.jsx b/src/components/pasteboard/index.jsx
index aae3fa1..c7a79a1 100644
--- a/src/components/pasteboard/index.jsx
+++ b/src/components/pasteboard/index.jsx
@@ -46,7 +46,7 @@
       _config = JSON.parse(window.decodeURIComponent(window.atob(_config)))
 
       if (typeof(_config) === 'object' && _config.$srcId) {
-        let srcid = localStorage.getItem(window.location.href.split('#')[0] + 'srcId')
+        let srcid = localStorage.getItem(window.GLOB.sysSign + 'srcId')
         if (srcid && _config.$srcId !== srcid) {
           notification.warning({
             top: 92,
diff --git a/src/components/resetPassword/index.jsx b/src/components/resetPassword/index.jsx
index 71ca86a..de2862b 100644
--- a/src/components/resetPassword/index.jsx
+++ b/src/components/resetPassword/index.jsx
@@ -14,7 +14,8 @@
     visible: false,
     loading: false,
     type: 'account',
-    okText: '纭畾',
+    okText: window.GLOB.dict['ok'] || '纭畾',
+    dict: window.GLOB.dict,
     smsId: '',
     mob: '',
     code: ''
@@ -40,7 +41,7 @@
       visible: true,
       loading: false,
       type: 'account',
-      okText: '纭畾',
+      okText: window.GLOB.dict['ok'] || '纭畾',
       mob: '',
       code: '',
       smsId: sessionStorage.getItem('mk_sms_id') || ''
@@ -48,7 +49,7 @@
   }
 
   resetPwdSubmit = () => {
-    const { type } = this.state
+    const { type, dict } = this.state
 
     if (type === 'account') {
       this.formRef.handleConfirm().then(res => {
@@ -77,7 +78,7 @@
             })
             notification.success({
               top: 92,
-              message: '淇敼鎴愬姛锛岃閲嶆柊鐧诲綍銆�',
+              message: dict['re_login'] || '淇敼鎴愬姛锛岃閲嶆柊鐧诲綍銆�',
               duration: 2
             })
             this.callback && this.callback()
@@ -98,7 +99,7 @@
         if (!/^1[3456789]\d{9}$/.test(res.phone)) {
           notification.warning({
             top: 92,
-            message: '鎵嬫満鍙锋牸寮忛敊璇紝璇烽噸濉紒',
+            message: dict['phone_error'] || '鎵嬫満鍙锋牸寮忛敊璇紝璇烽噸濉紒',
             duration: 5
           })
           return
@@ -114,7 +115,7 @@
         this.setState({
           code: res.vercode,
           type: 'phonepwd',
-          okText: '纭畾'
+          okText: dict['ok'] || '纭畾'
         })
       }, () => {})
     } else if (type === 'phonepwd') {
@@ -146,7 +147,7 @@
             })
             notification.success({
               top: 92,
-              message: '淇敼鎴愬姛锛岃閲嶆柊鐧诲綍銆�',
+              message: dict['re_login'] || '淇敼鎴愬姛锛岃閲嶆柊鐧诲綍銆�',
               duration: 2
             })
             this.callback && this.callback()
@@ -166,23 +167,23 @@
   }
 
   render() {
-    const { visible, loading, okText, type, mob, smsId } = this.state
+    const { visible, loading, okText, type, mob, smsId, dict } = this.state
 
     return (
       <Modal
-        title="淇敼瀵嗙爜"
+        title={dict['ch_pwd'] || '淇敼瀵嗙爜'}
         wrapClassName="reset-password-modal"
         visible={visible}
         maskClosable={false}
         onOk={this.resetPwdSubmit}
         onCancel={() => { this.setState({ visible: false })}}
         okText={okText}
-        cancelText="鍙栨秷"
+        cancelText={dict['cancel'] || '鍙栨秷'}
         confirmLoading={loading}
         destroyOnClose
       >
         <Resetpwd type={type} mob={mob} smsId={smsId} wrappedComponentRef={(inst) => this.formRef = inst} resetPwdSubmit={this.resetPwdSubmit}/>
-        {type === 'account' && smsId ? <div className="forget-pwd"><span onClick={() => this.setState({type: 'mob', okText: '涓嬩竴姝�'})}>蹇樿瀵嗙爜锛�</span></div> : null}
+        {type === 'account' && smsId ? <div className="forget-pwd"><span onClick={() => this.setState({type: 'mob', okText: dict['next'] || '涓嬩竴姝�'})}>{dict['forgot_pwd'] || '蹇樿瀵嗙爜锛�'}</span></div> : null}
       </Modal>
     )
   }
diff --git a/src/components/resetPassword/resetpwd/index.jsx b/src/components/resetPassword/resetpwd/index.jsx
index 514bab5..829571b 100644
--- a/src/components/resetPassword/resetpwd/index.jsx
+++ b/src/components/resetPassword/resetpwd/index.jsx
@@ -9,7 +9,8 @@
   state = {
     confirmDirty: false,
     autoCompleteResult: [],
-    level: localStorage.getItem(window.location.href.split('#')[0] + 'pwdlevel') || ''
+    level: localStorage.getItem(window.GLOB.sysSign + 'pwdlevel') || '',
+    dict: window.GLOB.dict,
   }
 
   LoginTimer = null
@@ -63,7 +64,7 @@
   compareToFirstPassword = (rule, value, callback) => {
     const { form } = this.props
     if (value && value !== form.getFieldValue('password')) {
-      callback('涓ゆ杈撳叆瀵嗙爜涓嶄竴鑷达紒')
+      callback(window.GLOB.dict['pwd_notM'] || '涓ゆ杈撳叆瀵嗙爜涓嶄竴鑷达紒')
     } else {
       callback()
     }
@@ -71,16 +72,16 @@
 
   validateToNextPassword = (rule, value, callback) => {
     const { form } = this.props
-    const { level } = this.state
+    const { level, dict } = this.state
 
     if (value && this.state.confirmDirty) {
       form.validateFields(['confirm'], { force: true })
     }
 
     if (level === 'letter_num' && value && /^[0-9a-zA-Z!@#$%^&*()_]*$/.test(value) && /^([^0-9]*|[^a-zA-Z]*)$/.test(value)) {
-      callback('瀵嗙爜涓繀椤诲惈鏈夋暟瀛楀拰瀛楁瘝銆�')
+      callback(dict['pwd_letter_num'] || '瀵嗙爜涓繀椤诲寘鍚暟瀛椾笌瀛楁瘝')
     } else if ((level === 'char_num' || level === 'char_num_90' || level === 'char_num_90_sms') && value && /^[0-9a-zA-Z!@#$%^&*()_]*$/.test(value) && /^([^0-9]*|[^a-zA-Z]*|[^!@#$%^&*()_]*)$/.test(value)) {
-      callback('瀵嗙爜涓繀椤诲惈鏈夋暟瀛椼�佸瓧姣嶅拰鐗规畩瀛楃銆�')
+      callback(dict['pwd_char_num'] || '瀵嗙爜涓繀椤诲惈鏈夋暟瀛椼�佸瓧姣嶄互鍙婄壒娈婂瓧绗�')
     } else {
       callback()
     }
@@ -191,12 +192,12 @@
   render() {
     const { type } = this.props
     const { getFieldDecorator } = this.props.form
-    const { level, delay, verdisabled } = this.state
+    const { level, delay, verdisabled, dict } = this.state
 
     const formItemLayout = {
       labelCol: {
         xs: { span: 24 },
-        sm: { span: 6 }
+        sm: { span: 7 }
       },
       wrapperCol: {
         xs: { span: 24 },
@@ -208,38 +209,38 @@
     if (level) {
       rules.push({
         min: 8,
-        message: '瀵嗙爜闀垮害涓嶅彲灏忎簬8浣嶏紒'
+        message: dict['pwd_min'] || '瀵嗙爜闀垮害涓嶅彲灏忎簬8浣�'
       })
     }
 
     return (
       <>
         {type === 'account' ? <Form {...formItemLayout} onKeyDown={this.onEnterSubmit} id="reset-password-form">
-          <Form.Item label="鍘熷瘑鐮�">
+          <Form.Item label={dict['ori_pwd'] || '鍘熷瘑鐮�'}>
             {getFieldDecorator('originpwd', {
               rules: [
                 {
                   required: true,
-                  message: '璇疯緭鍏ュ師瀵嗙爜锛�'
+                  message: dict['oripwd_required'] || '璇疯緭鍏ュ師瀵嗙爜锛�'
                 }
               ]
             })(<Input.Password autoFocus/>)}
           </Form.Item>
-          <Form.Item label="鏂板瘑鐮�" hasFeedback>
+          <Form.Item label={dict['new_pwd'] || '鏂板瘑鐮�'} hasFeedback>
             {getFieldDecorator('password', {
               rules: [
                 {
                   required: true,
-                  message: '璇疯緭鍏ユ柊瀵嗙爜锛�'
+                  message: dict['newpwd_required'] || '璇疯緭鍏ユ柊瀵嗙爜锛�'
                 },
                 {
                   pattern: /^[0-9a-zA-Z!@#$%^&*()_]*$/ig,
-                  message: '瀵嗙爜鍙厑璁稿寘鍚暟瀛椼�佸瓧姣嶄互鍙�!@#$%&*()_銆�'
+                  message: dict['password_format'] || '瀵嗙爜鍙厑璁稿寘鍚暟瀛椼�佸瓧姣嶄互鍙�!@#$%&*()_銆�'
                 },
                 ...rules,
                 {
                   max: 50,
-                  message: '鏈�澶у瘑鐮侀暱搴︿负50浣嶏紒'
+                  message: dict['pwd_max'] || '瀵嗙爜闀垮害涓嶅彲瓒呰繃50涓瓧绗︼紒'
                 },
                 {
                   validator: this.validateToNextPassword
@@ -247,12 +248,12 @@
               ]
             })(<Input.Password />)}
           </Form.Item>
-          <Form.Item label="纭瀵嗙爜" hasFeedback>
+          <Form.Item label={dict['con_pwd'] || '纭瀵嗙爜'} hasFeedback>
             {getFieldDecorator('confirm', {
               rules: [
                 {
                   required: true,
-                  message: '璇风‘璁ゅ瘑鐮侊紒'
+                  message: dict['conpwd_required'] || '璇风‘璁ゅ瘑鐮侊紒'
                 },
                 {
                   validator: this.compareToFirstPassword
@@ -262,21 +263,21 @@
           </Form.Item>
         </Form> : null}
         {type === 'phonepwd' ? <Form {...formItemLayout} onKeyDown={(e) => e.key === 'Enter' && this.props.resetPwdSubmit()}>
-          <Form.Item label="鏂板瘑鐮�" hasFeedback>
+          <Form.Item label={dict['new_pwd'] || '鏂板瘑鐮�'} hasFeedback>
             {getFieldDecorator('password', {
               rules: [
                 {
                   required: true,
-                  message: '璇疯緭鍏ユ柊瀵嗙爜锛�'
+                  message: dict['newpwd_required'] || '璇疯緭鍏ユ柊瀵嗙爜锛�'
                 },
                 {
                   pattern: /^[0-9a-zA-Z!@#$%^&*()_]*$/ig,
-                  message: '瀵嗙爜鍙厑璁稿寘鍚暟瀛椼�佸瓧姣嶄互鍙�!@#$%&*()_銆�'
+                  message: dict['password_format'] || '瀵嗙爜鍙厑璁稿寘鍚暟瀛椼�佸瓧姣嶄互鍙�!@#$%&*()_銆�'
                 },
                 ...rules,
                 {
                   max: 50,
-                  message: '鏈�澶у瘑鐮侀暱搴︿负50浣嶏紒'
+                  message: dict['pwd_max'] || '瀵嗙爜闀垮害涓嶅彲瓒呰繃50涓瓧绗︼紒'
                 },
                 {
                   validator: this.validateToNextPassword
@@ -284,12 +285,12 @@
               ]
             })(<Input.Password />)}
           </Form.Item>
-          <Form.Item label="纭瀵嗙爜" hasFeedback>
+          <Form.Item label={dict['con_pwd'] || '纭瀵嗙爜'} hasFeedback>
             {getFieldDecorator('confirm', {
               rules: [
                 {
                   required: true,
-                  message: '璇风‘璁ゅ瘑鐮侊紒'
+                  message: dict['conpwd_required'] || '璇风‘璁ゅ瘑鐮侊紒'
                 },
                 {
                   validator: this.compareToFirstPassword
@@ -299,16 +300,16 @@
           </Form.Item>
         </Form> : null}
         {type === 'mob' ? <Form {...formItemLayout} onKeyDown={(e) => e.key === 'Enter' && this.props.resetPwdSubmit()}>
-          <Form.Item label="鎵嬫満鍙�">
+          <Form.Item label={dict['phone_no'] || '鎵嬫満鍙�'}>
             {getFieldDecorator('phone', {
               initialValue: '',
               rules: [
                 {
                   required: true,
-                  message: '璇疯緭鍏ユ墜鏈哄彿锛�'
+                  message: dict['phone_no_required'] || '璇疯緭鍏ユ墜鏈哄彿'
                 }
               ]
-            })(<Input placeholder="璇疯緭鍏ユ墜鏈哄彿" autoComplete="off" />)}
+            })(<Input placeholder={dict['phone_no'] || '鎵嬫満鍙�'} autoComplete="off" />)}
           </Form.Item>
         </Form> : null}
         {type === 'code' ? <Form wrapperCol={{ xs: { span: 24 }, sm: { span: 20 }}} onKeyDown={(e) => e.key === 'Enter' && this.props.resetPwdSubmit()}>
@@ -318,16 +319,16 @@
               rules: [
                 {
                   required: true,
-                  message: '璇疯緭鍏ラ獙璇佺爜锛�'
+                  message: dict['vercode_required'] || '璇疯緭鍏ラ獙璇佺爜'
                 }
               ]
             })(<Input
               addonAfter={
                 <Button type="link" size="small" disabled={verdisabled} onClick={this.getvercode}>
-                  {delay ? `${delay}s鍚庨噸鏂拌幏鍙朻 : '鑾峰彇楠岃瘉鐮�'}
+                  {delay ? `${delay}s` : dict['query_vercode'] || '鑾峰彇楠岃瘉鐮�'}
                 </Button>
               }
-              placeholder="璇疯緭鍏ラ獙璇佺爜"
+              placeholder={dict['vercode'] || '楠岃瘉鐮�'}
               autoComplete="off"
             />)}
           </Form.Item>
diff --git a/src/components/tabview/index.jsx b/src/components/tabview/index.jsx
index a30f61c..88e48b9 100644
--- a/src/components/tabview/index.jsx
+++ b/src/components/tabview/index.jsx
@@ -38,7 +38,7 @@
         activeId: 'home_page_id',
         tabviews: [{
           MenuID: 'home_page_id',
-          MenuName: '棣栭〉',
+          MenuName: window.GLOB.dict['home'] || '棣栭〉',
           type: 'Home'
         }]
       })
diff --git a/src/index.js b/src/index.js
index 6645ba6..3fd7db9 100644
--- a/src/index.js
+++ b/src/index.js
@@ -165,8 +165,39 @@
       }
     }
 
-    let _href = window.location.href.split('#')[0]
-    let _systemMsg = localStorage.getItem(_href + 'system')
+    if (process.env.NODE_ENV === 'production') { // 鐢ㄤ簬鏍¢獙鏄惁瀛樺湪寮�鍙戞潈闄�
+      let _service = window.location.href.replace(/\/admin(.*)/ig, '').replace(new RegExp(document.location.origin + '/?', 'ig'), '')
+      GLOB.service = _service ? _service + '/' : ''
+      GLOB.host = window.location.host + (_service ? '_' + _service : '')
+      GLOB.baseurl = document.location.origin + '/' + GLOB.service
+      GLOB.linkurl = GLOB.baseurl + 'index.html'
+    } else {
+      GLOB.location = config.host
+      GLOB.service = config.service
+      GLOB.host = config.host.replace(/http(s)?:\/\//ig, '') + (config.service ? '_' + config.service.replace(/\//ig, '') : '')
+      GLOB.baseurl = GLOB.location + '/' + GLOB.service
+      GLOB.linkurl = GLOB.baseurl + 'index.html'
+      GLOB.dataFormat = false
+
+      let mark = sessionStorage.getItem('system_mark')
+      let _mark = `sys_${GLOB.service.replace('/', '') || 'service'}`
+      if (mark && mark !== _mark) {
+        sessionStorage.clear()
+      }
+      sessionStorage.setItem('system_mark', _mark)
+    }
+
+    if (config.mainkey && GLOB.sysType !== 'cloud' && config.mainkey !== options.cakey) {
+      GLOB.localkey = GLOB.appkey
+      GLOB.appkey = config.mainkey
+    }
+
+    let lang = localStorage.getItem(window.location.href.split('#')[0] + 'lang') || GLOB.defLang || 'zh-CN'
+    sessionStorage.setItem('lang', lang)
+
+    GLOB.sysSign = GLOB.service + 'admin/' + lang + '/'
+
+    let _systemMsg = localStorage.getItem(GLOB.sysSign + 'system')
     let className = 'mk-blue-black'
 
     if (_systemMsg) {
@@ -229,38 +260,12 @@
       GLOB.filter = true
     }
 
-    if (process.env.NODE_ENV === 'production') { // 鐢ㄤ簬鏍¢獙鏄惁瀛樺湪寮�鍙戞潈闄�
-      let _service = window.location.href.replace(/\/admin(.*)/ig, '').replace(new RegExp(document.location.origin + '/?', 'ig'), '')
-      GLOB.service = _service ? _service + '/' : ''
-      GLOB.host = window.location.host + (_service ? '_' + _service : '')
-      GLOB.baseurl = document.location.origin + '/' + GLOB.service
-      GLOB.linkurl = GLOB.baseurl + 'index.html'
-    } else {
-      GLOB.location = config.host
-      GLOB.service = config.service
-      GLOB.host = config.host.replace(/http(s)?:\/\//ig, '') + (config.service ? '_' + config.service.replace(/\//ig, '') : '')
-      GLOB.baseurl = GLOB.location + '/' + GLOB.service
-      GLOB.linkurl = GLOB.baseurl + 'index.html'
-      GLOB.dataFormat = false
-
-      let mark = sessionStorage.getItem('system_mark')
-      let _mark = `sys_${GLOB.service.replace('/', '') || 'service'}`
-      if (mark && mark !== _mark) {
-        sessionStorage.clear()
-      }
-      sessionStorage.setItem('system_mark', _mark)
+    if (lang !== 'zh-CN') {
+      GLOB.WXNotice = false
     }
 
-    if (config.mainkey && GLOB.sysType !== 'cloud' && config.mainkey !== options.cakey) {
-      GLOB.localkey = GLOB.appkey
-      GLOB.appkey = config.mainkey
-    }
-
-    let lang = localStorage.getItem(_href + 'lang') || GLOB.defLang || 'zh-CN'
-    sessionStorage.setItem('lang', lang)
-
-    if (localStorage.getItem(_href + 'files') === md5(_href + 'files')) {
-      let d = localStorage.getItem(_href + 'filesDate')
+    if (localStorage.getItem(GLOB.sysSign + 'files') === md5(GLOB.sysSign + 'files')) {
+      let d = localStorage.getItem(GLOB.sysSign + 'filesDate')
 
       GLOB.storeFiles = true
       GLOB.storeDate = Math.ceil((new Date(d).getTime() - new Date().getTime()) / 86400000)
@@ -286,8 +291,8 @@
 
     GLOB.dict = {}
 
-    if (localStorage.getItem(_href + 'js_trans')) {
-      let js_trans = JSON.parse(localStorage.getItem(_href + 'js_trans'))
+    if (localStorage.getItem(GLOB.sysSign + 'js_trans')) {
+      let js_trans = JSON.parse(localStorage.getItem(GLOB.sysSign + 'js_trans'))
 
       js_trans.forEach(item => {
         if (lang !== item.lang) return
diff --git a/src/menu/components/card/cardcellcomponent/dragaction/index.jsx b/src/menu/components/card/cardcellcomponent/dragaction/index.jsx
index 207e436..e55c040 100644
--- a/src/menu/components/card/cardcellcomponent/dragaction/index.jsx
+++ b/src/menu/components/card/cardcellcomponent/dragaction/index.jsx
@@ -58,7 +58,7 @@
     try {
       delete _val.$srcId
     
-      let srcid = localStorage.getItem(window.location.href.split('#')[0] + 'srcId')
+      let srcid = localStorage.getItem(window.GLOB.sysSign + 'srcId')
       if (srcid) {
         _val.$srcId = srcid
       }
diff --git a/src/menu/components/search/main-search/dragsearch/index.jsx b/src/menu/components/search/main-search/dragsearch/index.jsx
index 5af808c..04d5372 100644
--- a/src/menu/components/search/main-search/dragsearch/index.jsx
+++ b/src/menu/components/search/main-search/dragsearch/index.jsx
@@ -52,7 +52,7 @@
     try {
       delete _val.$srcId
     
-      let srcid = localStorage.getItem(window.location.href.split('#')[0] + 'srcId')
+      let srcid = localStorage.getItem(window.GLOB.sysSign + 'srcId')
       if (srcid) {
         _val.$srcId = srcid
       }
diff --git a/src/menu/components/share/actioncomponent/dragaction/index.jsx b/src/menu/components/share/actioncomponent/dragaction/index.jsx
index cab1425..a90eb21 100644
--- a/src/menu/components/share/actioncomponent/dragaction/index.jsx
+++ b/src/menu/components/share/actioncomponent/dragaction/index.jsx
@@ -74,7 +74,7 @@
     try {
       delete _val.$srcId
     
-      let srcid = localStorage.getItem(window.location.href.split('#')[0] + 'srcId')
+      let srcid = localStorage.getItem(window.GLOB.sysSign + 'srcId')
       if (srcid) {
         _val.$srcId = srcid
       }
diff --git a/src/menu/components/share/copycomponent/index.jsx b/src/menu/components/share/copycomponent/index.jsx
index af234aa..5450110 100644
--- a/src/menu/components/share/copycomponent/index.jsx
+++ b/src/menu/components/share/copycomponent/index.jsx
@@ -19,7 +19,7 @@
     try {
       delete _val.$srcId
     
-      let srcid = localStorage.getItem(window.location.href.split('#')[0] + 'srcId')
+      let srcid = localStorage.getItem(window.GLOB.sysSign + 'srcId')
       if (srcid) {
         _val.$srcId = srcid
       }
diff --git a/src/menu/components/share/searchcomponent/dragsearch/index.jsx b/src/menu/components/share/searchcomponent/dragsearch/index.jsx
index 87b345e..3ead8c1 100644
--- a/src/menu/components/share/searchcomponent/dragsearch/index.jsx
+++ b/src/menu/components/share/searchcomponent/dragsearch/index.jsx
@@ -46,7 +46,7 @@
     try {
       delete _val.$srcId
     
-      let srcid = localStorage.getItem(window.location.href.split('#')[0] + 'srcId')
+      let srcid = localStorage.getItem(window.GLOB.sysSign + 'srcId')
       if (srcid) {
         _val.$srcId = srcid
       }
diff --git a/src/menu/components/table/base-table/columns/index.jsx b/src/menu/components/table/base-table/columns/index.jsx
index d36923a..63cf2fa 100644
--- a/src/menu/components/table/base-table/columns/index.jsx
+++ b/src/menu/components/table/base-table/columns/index.jsx
@@ -549,7 +549,7 @@
       cols: columns.filter(col => !col.origin)
     }
 
-    let srcid = localStorage.getItem(window.location.href.split('#')[0] + 'srcId')
+    let srcid = localStorage.getItem(window.GLOB.sysSign + 'srcId')
     if (srcid) {
       val.$srcId = srcid
     }
diff --git a/src/menu/components/table/edit-table/columns/index.jsx b/src/menu/components/table/edit-table/columns/index.jsx
index 6cdaf67..9deae06 100644
--- a/src/menu/components/table/edit-table/columns/index.jsx
+++ b/src/menu/components/table/edit-table/columns/index.jsx
@@ -47,7 +47,7 @@
       cols: [column]
     }
 
-    let srcid = localStorage.getItem(window.location.href.split('#')[0] + 'srcId')
+    let srcid = localStorage.getItem(window.GLOB.sysSign + 'srcId')
     if (srcid) {
       val.$srcId = srcid
     }
@@ -553,7 +553,7 @@
       cols: columns.filter(col => !col.origin)
     }
 
-    let srcid = localStorage.getItem(window.location.href.split('#')[0] + 'srcId')
+    let srcid = localStorage.getItem(window.GLOB.sysSign + 'srcId')
     if (srcid) {
       val.$srcId = srcid
     }
diff --git a/src/menu/components/table/normal-table/columns/index.jsx b/src/menu/components/table/normal-table/columns/index.jsx
index 17246ed..de7593e 100644
--- a/src/menu/components/table/normal-table/columns/index.jsx
+++ b/src/menu/components/table/normal-table/columns/index.jsx
@@ -47,7 +47,7 @@
       cols: [column]
     }
 
-    let srcid = localStorage.getItem(window.location.href.split('#')[0] + 'srcId')
+    let srcid = localStorage.getItem(window.GLOB.sysSign + 'srcId')
     if (srcid) {
       val.$srcId = srcid
     }
@@ -518,7 +518,7 @@
       cols: columns.filter(col => !col.origin)
     }
 
-    let srcid = localStorage.getItem(window.location.href.split('#')[0] + 'srcId')
+    let srcid = localStorage.getItem(window.GLOB.sysSign + 'srcId')
     if (srcid) {
       val.$srcId = srcid
     }
diff --git a/src/menu/datasource/verifycard/customscript/index.jsx b/src/menu/datasource/verifycard/customscript/index.jsx
index 308e942..cf60479 100644
--- a/src/menu/datasource/verifycard/customscript/index.jsx
+++ b/src/menu/datasource/verifycard/customscript/index.jsx
@@ -245,7 +245,7 @@
             <Form.Item label="鍙敤瀛楁" className="field-able">
               <Tooltip mouseLeaveDelay={0.3} mouseEnterDelay={0.3} placement="top" title={'鍏叡鍊硷紝璇锋寜鐓xxx@鏍煎紡浣跨敤銆�'}><span style={{color: '#1890ff'}}>BID, LoginUID, SessionUid, UserID, Appkey, lang, time_id, typename, datam</span></Tooltip>,&nbsp;
               <Tooltip mouseLeaveDelay={0.3} mouseEnterDelay={0.3} placement="top" title={'绯荤粺鍙橀噺锛岀郴缁熶細瀹氫箟鍙橀噺骞惰祴鍊笺��'}><span style={{color: '#fa8c16'}}>UserName, FullName, RoleID, mk_departmentcode, mk_organization, mk_user_type, mk_nation, mk_province, mk_city, mk_district, mk_address</span></Tooltip>,&nbsp;
-              <Tooltip mouseLeaveDelay={0.3} mouseEnterDelay={0.3} placement="top" title={'鎺掑簭銆佸垎椤典互鍙婃悳绱㈡潯浠跺彉閲忥紝璇锋寜鐓xxx@鏍煎紡浣跨敤銆備娇鐢ˊpageSize@鎴朄orderBy@浠h〃鑷畾涔夊垎椤碉紝鎬绘暟璇蜂互mk_total杩斿洖銆�'}>orderBy, pageSize, pageIndex{usefulFields ? ', ' + usefulFields : ''}{type === 'calendar' ? ', mk_year' : ''}{hasExtend ? ', mk_time' : ''}</Tooltip>
+              <Tooltip mouseLeaveDelay={0.3} mouseEnterDelay={0.3} placement="top" title={'鎺掑簭銆佸垎椤典互鍙婃悳绱㈡潯浠跺彉閲忥紝璇锋寜鐓xxx@鏍煎紡浣跨敤銆備娇鐢ˊpageSize@銆丂orderBy@ 鎴栬剼鏈腑瀛樺湪 @mk_total 浠h〃鑷畾涔夊垎椤碉紝鎬绘暟璇蜂互mk_total杩斿洖銆�'}>orderBy, pageSize, pageIndex{usefulFields ? ', ' + usefulFields : ''}{type === 'calendar' ? ', mk_year' : ''}{hasExtend ? ', mk_time' : ''}</Tooltip>
               <Tooltip mouseLeaveDelay={0.3} mouseEnterDelay={0.3} placement="top" title={'url鍙橀噺锛岃鎸夌収@xxx@鏍煎紡浣跨敤銆�'}>{urlFields ? ', ' : ''}<span style={{color: '#13c2c2'}}>{urlFields}</span></Tooltip>
               {window.GLOB.process ? <Tooltip mouseLeaveDelay={0.3} mouseEnterDelay={0.3} placement="top" title={'宸ヤ綔娴佸彉閲忥紝璇锋寜鐓xxx@鏍煎紡浣跨敤銆�'}>, <span style={{color: 'purple'}}>works_flow_code</span></Tooltip> : null}
             </Form.Item>
diff --git a/src/menu/datasource/verifycard/utils.jsx b/src/menu/datasource/verifycard/utils.jsx
index 5c8bc84..6714e81 100644
--- a/src/menu/datasource/verifycard/utils.jsx
+++ b/src/menu/datasource/verifycard/utils.jsx
@@ -105,7 +105,7 @@
     }
 
     // 姝e垯鏇挎崲
-    let custompage = /@pageSize@|@orderBy@/i.test(_dataresource + _customScript)
+    let custompage = /@pageSize@|@orderBy@|@mk_total/i.test(_dataresource + _customScript)
     let _regoptions = getSearchRegs(searches)
 
     let _search = joinMainSearchkey(searches)
diff --git a/src/menu/debug/index.jsx b/src/menu/debug/index.jsx
index c40298c..737fd3e 100644
--- a/src/menu/debug/index.jsx
+++ b/src/menu/debug/index.jsx
@@ -1956,7 +1956,7 @@
     item.setting.dataresource = _dataresource
     item.setting.customScript = _customScript
 
-    let custompage = /@pageSize@|@orderBy@/i.test(_dataresource + _customScript)
+    let custompage = /@pageSize@|@orderBy@|@mk_total/i.test(_dataresource + _customScript)
 
     if (_dataresource) {
       if (custompage) {
diff --git a/src/menu/sysinterface/index.jsx b/src/menu/sysinterface/index.jsx
index 1504093..3c61833 100644
--- a/src/menu/sysinterface/index.jsx
+++ b/src/menu/sysinterface/index.jsx
@@ -74,7 +74,7 @@
   copy = (item) => {
     let msg = { key: 'interface', type: 'line', data: item }
 
-    let srcid = localStorage.getItem(window.location.href.split('#')[0] + 'srcId')
+    let srcid = localStorage.getItem(window.GLOB.sysSign + 'srcId')
     if (srcid) {
       msg.$srcId = srcid
     }
diff --git a/src/menu/tablenodes/index.jsx b/src/menu/tablenodes/index.jsx
index c04da88..12951c2 100644
--- a/src/menu/tablenodes/index.jsx
+++ b/src/menu/tablenodes/index.jsx
@@ -548,11 +548,11 @@
         }
       } else if (menu.param.type === 'app') {
         if (menu.param.typename !== 'pc') {
-          let _param = {...menu.param}
+          let _param = {...menu.param, lang: sessionStorage.getItem('lang')}
           _param = window.btoa(window.encodeURIComponent(JSON.stringify(_param)))
           window.open(`#/mobdesign/${_param}`)
         } else {
-          let _param = {...menu.param}
+          let _param = {...menu.param, lang: sessionStorage.getItem('lang')}
           _param = window.btoa(window.encodeURIComponent(JSON.stringify(_param)))
           window.open(`#/pcdesign/${_param}`)
         }
diff --git a/src/mob/colorsketch/index.jsx b/src/mob/colorsketch/index.jsx
index ac0a99e..2260cdd 100644
--- a/src/mob/colorsketch/index.jsx
+++ b/src/mob/colorsketch/index.jsx
@@ -12,7 +12,6 @@
   '#eb2f96', '#aeb303', '#c32539', '#1d3661', '#ffd591', '#ffe58f', '#fffb8f', '#eaff8f', '#b7eb8f', '#87e8de', '#91d5ff',
   '#adc6ff', '#EBE9E9', '#d9d9d9', 'rgba(0, 0, 0, 0.65)', 'rgba(0, 0, 0, 0.85)', '#000000', '#ffffff', 'transparent'
 ]
-const _href = window.location.href.split('#')[0]
 let loading = false
 
 class ColorSketch extends Component {
@@ -79,7 +78,7 @@
 
   getColors = (appColors) => {
     let colors = JSON.parse(JSON.stringify(presetColors))
-    let normal_colors = localStorage.getItem(_href + 'normal_colors')
+    let normal_colors = localStorage.getItem(window.GLOB.sysSign + 'normal_colors')
 
     if (normal_colors) {
       try {
@@ -135,7 +134,7 @@
     const { initVal, color } = this.state
     
     if (!status && color && color !== initVal && color !== 'rgba(0, 0, 0, 0)' && color !== 'transparent' && !/rgba\(\d+,\s*\d+,\s*\d+,\s*0\)/.test(color)) {
-      let normal_colors = localStorage.getItem(_href + 'normal_colors')
+      let normal_colors = localStorage.getItem(window.GLOB.sysSign + 'normal_colors')
 
       if (normal_colors) {
         try {
@@ -154,7 +153,7 @@
         normal_colors.length = 10
       }
 
-      localStorage.setItem(_href + 'normal_colors', JSON.stringify(normal_colors))
+      localStorage.setItem(window.GLOB.sysSign + 'normal_colors', JSON.stringify(normal_colors))
     }
   }
 
diff --git a/src/mob/components/formdragelement/index.jsx b/src/mob/components/formdragelement/index.jsx
index 838e79d..d357279 100644
--- a/src/mob/components/formdragelement/index.jsx
+++ b/src/mob/components/formdragelement/index.jsx
@@ -66,7 +66,7 @@
 
     delete val.$srcId
     
-    let srcid = localStorage.getItem(window.location.href.split('#')[0] + 'srcId')
+    let srcid = localStorage.getItem(window.GLOB.sysSign + 'srcId')
     if (srcid) {
       val.$srcId = srcid
     }
diff --git a/src/mob/searchconfig/searchdragelement/index.jsx b/src/mob/searchconfig/searchdragelement/index.jsx
index 1583c99..cf7e96a 100644
--- a/src/mob/searchconfig/searchdragelement/index.jsx
+++ b/src/mob/searchconfig/searchdragelement/index.jsx
@@ -55,7 +55,7 @@
 
     delete val.$srcId
     
-    let srcid = localStorage.getItem(window.location.href.split('#')[0] + 'srcId')
+    let srcid = localStorage.getItem(window.GLOB.sysSign + 'srcId')
     if (srcid) {
       val.$srcId = srcid
     }
diff --git a/src/tabviews/basetable/index.jsx b/src/tabviews/basetable/index.jsx
index b02c94b..5205276 100644
--- a/src/tabviews/basetable/index.jsx
+++ b/src/tabviews/basetable/index.jsx
@@ -677,7 +677,7 @@
       component.setting.customScript = _customScript // 鏁寸悊鍚庤嚜瀹氫箟鑴氭湰
       component.setting.tailScript = _tailScript     // 鍚庣疆鑷畾涔夎剼鏈�
 
-      component.setting.custompage = /@pageSize@|@orderBy@/i.test(component.setting.dataresource + component.setting.customScript)
+      component.setting.custompage = /@pageSize@|@orderBy@|@mk_total/i.test(component.setting.dataresource + component.setting.customScript)
 
       if (!component.setting.execute || component.setting.custompage) {
         component.forbidLine = true
diff --git a/src/tabviews/custom/components/module/invoice/index.jsx b/src/tabviews/custom/components/module/invoice/index.jsx
index 35de277..5733915 100644
--- a/src/tabviews/custom/components/module/invoice/index.jsx
+++ b/src/tabviews/custom/components/module/invoice/index.jsx
@@ -233,7 +233,7 @@
     item.setting.customScript = _customScript // 鏁寸悊鍚庤嚜瀹氫箟鑴氭湰
     item.setting.tailScript = _tailScript     // 鍚庣疆鑷畾涔夎剼鏈�
 
-    item.setting.custompage = /@pageSize@|@orderBy@/i.test(item.setting.dataresource + item.setting.customScript)
+    item.setting.custompage = /@pageSize@|@orderBy@|@mk_total/i.test(item.setting.dataresource + item.setting.customScript)
 
     return item
   }
diff --git a/src/tabviews/custom/index.jsx b/src/tabviews/custom/index.jsx
index b8f54e8..2e02bbb 100644
--- a/src/tabviews/custom/index.jsx
+++ b/src/tabviews/custom/index.jsx
@@ -900,7 +900,7 @@
           item.setting.customScript = _customScript // 鏁寸悊鍚庤嚜瀹氫箟鑴氭湰
           item.setting.tailScript = _tailScript     // 鍚庣疆鑷畾涔夎剼鏈�
 
-          item.setting.custompage = /@pageSize@|@orderBy@/i.test(item.setting.dataresource + item.setting.customScript)
+          item.setting.custompage = /@pageSize@|@orderBy@|@mk_total/i.test(item.setting.dataresource + item.setting.customScript)
 
           if (!item.setting.execute || item.setting.custompage) {
             item.forbidLine = true
@@ -1337,7 +1337,7 @@
       inter.setting.customScript = _customScript // 鏁寸悊鍚庤嚜瀹氫箟鑴氭湰
       inter.setting.tailScript = _tailScript     // 鍚庣疆鑷畾涔夎剼鏈�
 
-      inter.setting.custompage = /@pageSize@|@orderBy@/i.test(inter.setting.dataresource + inter.setting.customScript)
+      inter.setting.custompage = /@pageSize@|@orderBy@|@mk_total/i.test(inter.setting.dataresource + inter.setting.customScript)
 
       return inter
     })
diff --git a/src/tabviews/custom/popview/index.jsx b/src/tabviews/custom/popview/index.jsx
index 26bde98..bfc26d7 100644
--- a/src/tabviews/custom/popview/index.jsx
+++ b/src/tabviews/custom/popview/index.jsx
@@ -612,7 +612,7 @@
           item.setting.customScript = _customScript // 鏁寸悊鍚庤嚜瀹氫箟鑴氭湰
           item.setting.tailScript = _tailScript     // 鍚庣疆鑷畾涔夎剼鏈�
 
-          item.setting.custompage = /@pageSize@|@orderBy@/i.test(item.setting.dataresource + item.setting.customScript)
+          item.setting.custompage = /@pageSize@|@orderBy@|@mk_total/i.test(item.setting.dataresource + item.setting.customScript)
 
           if (!item.setting.execute || item.setting.custompage) {
             item.forbidLine = true
diff --git a/src/tabviews/zshare/actionList/exceloutbutton/index.jsx b/src/tabviews/zshare/actionList/exceloutbutton/index.jsx
index 4b5b326..31dd53a 100644
--- a/src/tabviews/zshare/actionList/exceloutbutton/index.jsx
+++ b/src/tabviews/zshare/actionList/exceloutbutton/index.jsx
@@ -919,11 +919,18 @@
         _tailScript = _tailScript.replace(/@\$|\$@/ig, '').replace(/@datam@/ig, '\'\'')
       }
 
+      if (btn.$flowId && window.GLOB.UserCacheMap.has(btn.$flowId)) {
+        let flow = window.GLOB.UserCacheMap.get(btn.$flowId)
+        _setting.dataresource = _setting.dataresource.replace(/@works_flow_code@/ig, `'${flow.flow_code}'`)
+        _customScript = _customScript.replace(/@works_flow_code@/ig, `'${flow.flow_code}'`)
+        _tailScript = _tailScript.replace(/@works_flow_code@/ig, `'${flow.flow_code}'`)
+      }
+
       _setting.customScript = _customScript // 鏁寸悊鍚庤嚜瀹氫箟鑴氭湰
       _setting.tailScript = _tailScript     // 鍚庣疆鑷畾涔夎剼鏈�
 
       _setting.laypage = pagination
-      _setting.custompage = /@pageSize@|@orderBy@/i.test(_setting.dataresource + _setting.customScript)
+      _setting.custompage = /@pageSize@|@orderBy@|@mk_total/i.test(_setting.dataresource + _setting.customScript)
 
       _setting.queryType = btn.verify.queryType
       _setting.$name = btn.logLabel
diff --git a/src/tabviews/zshare/actionList/printbutton/index.jsx b/src/tabviews/zshare/actionList/printbutton/index.jsx
index d924c81..08898cd 100644
--- a/src/tabviews/zshare/actionList/printbutton/index.jsx
+++ b/src/tabviews/zshare/actionList/printbutton/index.jsx
@@ -1009,7 +1009,7 @@
     }
 
     let isDataM = sessionStorage.getItem('dataM') === 'true'
-    let custompage = /@pageSize@|@orderBy@/i.test(_dataresource + _customScript + _tailScript)
+    let custompage = /@pageSize@|@orderBy@|@mk_total/i.test(_dataresource + _customScript + _tailScript)
     let regoptions = [
       { reg: /@orderBy@/ig, value: btn.verify.setting.order },
       { reg: /@pageSize@/ig, value: '9999' },
diff --git a/src/templates/modalconfig/dragelement/index.jsx b/src/templates/modalconfig/dragelement/index.jsx
index 4798f28..6d6c0c5 100644
--- a/src/templates/modalconfig/dragelement/index.jsx
+++ b/src/templates/modalconfig/dragelement/index.jsx
@@ -66,7 +66,7 @@
 
     delete val.$srcId
     
-    let srcid = localStorage.getItem(window.location.href.split('#')[0] + 'srcId')
+    let srcid = localStorage.getItem(window.GLOB.sysSign + 'srcId')
     if (srcid) {
       val.$srcId = srcid
     }
diff --git a/src/templates/sharecomponent/actioncomponent/dragaction/index.jsx b/src/templates/sharecomponent/actioncomponent/dragaction/index.jsx
index 5de06eb..c0076ff 100644
--- a/src/templates/sharecomponent/actioncomponent/dragaction/index.jsx
+++ b/src/templates/sharecomponent/actioncomponent/dragaction/index.jsx
@@ -70,7 +70,7 @@
       }
       delete _val.$srcId
     
-      let srcid = localStorage.getItem(window.location.href.split('#')[0] + 'srcId')
+      let srcid = localStorage.getItem(window.GLOB.sysSign + 'srcId')
       if (srcid) {
         _val.$srcId = srcid
       }
diff --git a/src/templates/sharecomponent/actioncomponent/verifyexcelout/utils.jsx b/src/templates/sharecomponent/actioncomponent/verifyexcelout/utils.jsx
index f4e335c..4949841 100644
--- a/src/templates/sharecomponent/actioncomponent/verifyexcelout/utils.jsx
+++ b/src/templates/sharecomponent/actioncomponent/verifyexcelout/utils.jsx
@@ -50,7 +50,7 @@
       _dataresource = '(' + _dataresource + ') tb'
     }
 
-    let custompage = /@pageSize@|@orderBy@/i.test(_dataresource + _customScript)
+    let custompage = /@pageSize@|@orderBy@|@mk_total/i.test(_dataresource + _customScript)
     
     // 姝e垯鏇挎崲
     regoptions.push({
@@ -73,6 +73,10 @@
       value: ''
     })
 
+    if (window.GLOB.process) {
+      regoptions.push({reg: /@works_flow_code@/ig, value: `'mk_flow_code'`})
+    }
+
     regoptions.forEach(item => {
       _dataresource = _dataresource.replace(item.reg, item.value)
       _customScript = _customScript.replace(item.reg, item.value)
diff --git a/src/templates/sharecomponent/actioncomponent/verifyprint/utils.jsx b/src/templates/sharecomponent/actioncomponent/verifyprint/utils.jsx
index c33d899..719ba0e 100644
--- a/src/templates/sharecomponent/actioncomponent/verifyprint/utils.jsx
+++ b/src/templates/sharecomponent/actioncomponent/verifyprint/utils.jsx
@@ -34,7 +34,7 @@
       _dataresource = '(' + _dataresource + ') tb'
     }
 
-    let custompage = /@pageSize@|@orderBy@/i.test(_dataresource + _customScript)
+    let custompage = /@pageSize@|@orderBy@|@mk_total/i.test(_dataresource + _customScript)
 
     // 姝e垯鏇挎崲
     let regoptions = [{
diff --git a/src/templates/sharecomponent/columncomponent/index.jsx b/src/templates/sharecomponent/columncomponent/index.jsx
index c44b763..f390b59 100644
--- a/src/templates/sharecomponent/columncomponent/index.jsx
+++ b/src/templates/sharecomponent/columncomponent/index.jsx
@@ -373,7 +373,7 @@
       columns: columnlist
     }
 
-    let srcid = localStorage.getItem(window.location.href.split('#')[0] + 'srcId')
+    let srcid = localStorage.getItem(window.GLOB.sysSign + 'srcId')
     if (srcid) {
       val.$srcId = srcid
     }
diff --git a/src/templates/sharecomponent/searchcomponent/dragsearch/index.jsx b/src/templates/sharecomponent/searchcomponent/dragsearch/index.jsx
index 277f247..3edd6e1 100644
--- a/src/templates/sharecomponent/searchcomponent/dragsearch/index.jsx
+++ b/src/templates/sharecomponent/searchcomponent/dragsearch/index.jsx
@@ -54,7 +54,7 @@
     try {
       delete _val.$srcId
 
-      let srcid = localStorage.getItem(window.location.href.split('#')[0] + 'srcId')
+      let srcid = localStorage.getItem(window.GLOB.sysSign + 'srcId')
       if (srcid) {
         _val.$srcId = srcid
       }
diff --git a/src/templates/zshare/codemirror/index.jsx b/src/templates/zshare/codemirror/index.jsx
index 0980534..dfe9c2b 100644
--- a/src/templates/zshare/codemirror/index.jsx
+++ b/src/templates/zshare/codemirror/index.jsx
@@ -169,8 +169,7 @@
         return
       }
 
-      let _href = window.location.href.split('#')[0]
-      localStorage.setItem(_href + 'sql_char', JSON.stringify([res.origin, res.value]))
+      localStorage.setItem(window.GLOB.sysSign + 'sql_char', JSON.stringify([res.origin, res.value]))
 
       _sql = _sql.replace(reg, res.value)
 
diff --git a/src/templates/zshare/editTable/index.jsx b/src/templates/zshare/editTable/index.jsx
index 9ce9e95..b14d57a 100644
--- a/src/templates/zshare/editTable/index.jsx
+++ b/src/templates/zshare/editTable/index.jsx
@@ -419,7 +419,7 @@
     }
 
     try {
-      let srcid = localStorage.getItem(window.location.href.split('#')[0] + 'srcId')
+      let srcid = localStorage.getItem(window.GLOB.sysSign + 'srcId')
       if (srcid) {
         msg.$srcId = srcid
       }
diff --git a/src/templates/zshare/pasteform/index.jsx b/src/templates/zshare/pasteform/index.jsx
index 73d666e..f3c3d6b 100644
--- a/src/templates/zshare/pasteform/index.jsx
+++ b/src/templates/zshare/pasteform/index.jsx
@@ -41,7 +41,7 @@
             _config = JSON.parse(window.decodeURIComponent(window.atob(_config)))
 
             if (typeof(_config) === 'object' && _config.$srcId) {
-              let srcid = localStorage.getItem(window.location.href.split('#')[0] + 'srcId')
+              let srcid = localStorage.getItem(window.GLOB.sysSign + 'srcId')
               if (srcid && _config.$srcId !== srcid) {
                 notification.warning({
                   top: 92,
diff --git a/src/utils/utils-custom.js b/src/utils/utils-custom.js
index af8a8b5..68420fa 100644
--- a/src/utils/utils-custom.js
+++ b/src/utils/utils-custom.js
@@ -2665,6 +2665,8 @@
 
         if (item.type === 'navbar') {
           item.uuid = item.uuid.slice(0, 24) + tail
+        } else if (item.type === 'login') {
+          item.wrap.linkmenu = item.wrap.linkmenu.slice(0, 24) + tail
         } else if (item.type === 'menubar') {
           item.subMenus = item.subMenus.map(cell => {
             if (cell.setting.name && menuDict[cell.setting.name]) {
diff --git a/src/views/appmanage/index.jsx b/src/views/appmanage/index.jsx
index c75eae4..26ae31c 100644
--- a/src/views/appmanage/index.jsx
+++ b/src/views/appmanage/index.jsx
@@ -517,8 +517,7 @@
         })
 
         if (!selectApp && applist[0]) {
-          let _href = window.location.href.split('#')[0] + 'app_record'
-          let record = localStorage.getItem(_href)
+          let record = localStorage.getItem(window.GLOB.sysSign + 'app_record')
           record = record ? JSON.parse(record) : null
 
           if (record && record.dates) {
@@ -537,7 +536,7 @@
             })
 
             if (reset) {
-              localStorage.setItem(_href, JSON.stringify(record))
+              localStorage.setItem(window.GLOB.sysSign + 'app_record', JSON.stringify(record))
             }
           }
         }
@@ -715,17 +714,16 @@
   jumpApp = (item) => {
     const { selectApp } = this.state
 
-    let _href = window.location.href.split('#')[0] + 'app_record'
-    let record = localStorage.getItem(_href)
+    let record = localStorage.getItem(window.GLOB.sysSign + 'app_record')
     record = record ? JSON.parse(record) : null
 
     if (!record || !record.dates) {
-      localStorage.setItem(_href, JSON.stringify({preId: selectApp.ID, activeId: selectApp.ID, dates: {[selectApp.ID]: new Date().getTime()}}))
+      localStorage.setItem(window.GLOB.sysSign + 'app_record', JSON.stringify({preId: selectApp.ID, activeId: selectApp.ID, dates: {[selectApp.ID]: new Date().getTime()}}))
     } else {
       if (record.preId === selectApp.ID || record.activeId === selectApp.ID) {
-        localStorage.setItem(_href, JSON.stringify({preId: selectApp.ID, activeId: selectApp.ID, dates: {...record.dates, [selectApp.ID]: new Date().getTime()}}))
+        localStorage.setItem(window.GLOB.sysSign + 'app_record', JSON.stringify({preId: selectApp.ID, activeId: selectApp.ID, dates: {...record.dates, [selectApp.ID]: new Date().getTime()}}))
       } else {
-        localStorage.setItem(_href, JSON.stringify({...record, preId: selectApp.ID}))
+        localStorage.setItem(window.GLOB.sysSign + 'app_record', JSON.stringify({...record, preId: selectApp.ID}))
       }
     }
 
@@ -907,10 +905,10 @@
         ID = selectApp.ID
       } else {
         let lowerKei = res.kei_no.toLowerCase()
-        if (lowerKei === 'mob') {
+        if (['mob', 'pad', 'pc', 'admin'].includes(lowerKei)) {
           notification.warning({
             top: 92,
-            message: '搴旂敤缂栫爜涓嶅厑璁镐娇鐢╩ob锛�',
+            message: '搴旂敤缂栫爜涓嶅厑璁镐娇鐢╩ob銆乸ad銆乸c銆乤dmin锛�',
             duration: 3
           })
           return
diff --git a/src/views/imdesign/index.jsx b/src/views/imdesign/index.jsx
index 24ef181..0c60d63 100644
--- a/src/views/imdesign/index.jsx
+++ b/src/views/imdesign/index.jsx
@@ -146,7 +146,8 @@
     let param = {
       MenuID: config.wrap.linkmenu,
       copyMenuId: '',
-      type: 'view'
+      type: 'view',
+      lang: sessionStorage.getItem('lang')
     }
 
     param = window.btoa(window.encodeURIComponent(JSON.stringify(param)))
diff --git a/src/views/login/index.jsx b/src/views/login/index.jsx
index e98559a..b94807a 100644
--- a/src/views/login/index.jsx
+++ b/src/views/login/index.jsx
@@ -15,8 +15,6 @@
 const Resetpwd = asyncLoadComponent(() => import('@/components/resetPassword'))
 const LoginCloudForm = asyncComponent(() => import('./logincloudform'))
 
-const _href = window.location.href.split('#')[0]
-
 class Login extends Component {
   state = {
     isDisabled: false,
@@ -89,13 +87,10 @@
         window.GLOB.externalDatabase = `[${res.paas_externalDatabase}]..`
       }
 
-      localStorage.setItem(_href + 'lang', param.lang || 'zh-CN')
-      sessionStorage.setItem('lang', param.lang || 'zh-CN')
-
       sessionStorage.removeItem('visitorUserID')
       sessionStorage.removeItem('visitorLoginUID')
       
-      let users = localStorage.getItem(_href + 'users')
+      let users = localStorage.getItem(window.GLOB.sysSign + 'users')
       
       if (users) {
         try {
@@ -116,9 +111,9 @@
 
       users.unshift({username: param.username, password: param.remember ? param.password : ''})
 
-      localStorage.setItem(_href + 'users', window.btoa(window.encodeURIComponent(JSON.stringify(users))))
+      localStorage.setItem(window.GLOB.sysSign + 'users', window.btoa(window.encodeURIComponent(JSON.stringify(users))))
 
-      let level = localStorage.getItem(_href + 'pwdlevel')
+      let level = localStorage.getItem(window.GLOB.sysSign + 'pwdlevel')
 
       if (level && process.env.NODE_ENV === 'production') {
         let visible = false
@@ -207,9 +202,6 @@
         sessionStorage.setItem('externalDatabase', res.paas_externalDatabase)
         window.GLOB.externalDatabase = `[${res.paas_externalDatabase}]..`
       }
-
-      localStorage.setItem(_href + 'lang', param.lang || 'zh-CN')
-      sessionStorage.setItem('lang', param.lang || 'zh-CN')
 
       sessionStorage.removeItem('visitorUserID')
       sessionStorage.removeItem('visitorLoginUID')
@@ -319,14 +311,14 @@
       }
     }
 
-    const _addressUrl = _href + 'queryAddress'
+    const _addressUrl = window.location.href.split('#')[0] + 'queryAddress'
 
     if (localStorage.getItem(_addressUrl) === 'true') {
       this.queryAddress()
     }
 
     const timeStamp = new Date().getTime()
-    const _authUrl = _href + 'AuthCode'
+    const _authUrl = window.location.href.split('#')[0] + 'AuthCode'
 
     let authCode = localStorage.getItem(_authUrl)
     let _s = md5('mksoft' + moment().format('YYYYMMDD'))
@@ -373,7 +365,7 @@
           lictime = Math.floor(new Date(lictime).getTime() / 86400000)
           let curtime = Math.floor(new Date().getTime() / 86400000)
           let licday = lictime - curtime
-          let _mindUrl = _href + 'notMind'
+          let _mindUrl = window.location.href.split('#')[0] + 'notMind'
 
           if (licday < 0 || isNaN(licday)) {
             Modal.warning({
@@ -463,12 +455,12 @@
             localStorage.setItem(_authUrl, box)
 
             if (res.e_files === 'true') {
-              localStorage.setItem(_href + 'files', md5(_href + 'files'))
-              localStorage.setItem(_href + 'filesDate', res.e_files_end_date)
+              localStorage.setItem(window.GLOB.sysSign + 'files', md5(window.GLOB.sysSign + 'files'))
+              localStorage.setItem(window.GLOB.sysSign + 'filesDate', res.e_files_end_date)
               window.GLOB.storeFiles = true
               window.GLOB.storeDate = Math.ceil((new Date(res.e_files_end_date).getTime() - new Date().getTime()) / 86400000)
             } else {
-              localStorage.removeItem(_href + 'files')
+              localStorage.removeItem(window.GLOB.sysSign + 'files')
               window.GLOB.storeFiles = false
             }
     
@@ -484,7 +476,7 @@
             }
           } else {
             localStorage.removeItem(_authUrl)
-            localStorage.removeItem(_href + 'files')
+            localStorage.removeItem(window.GLOB.sysSign + 'files')
             window.GLOB.storeFiles = false
 
             this.setState({
@@ -599,7 +591,6 @@
               res.menu_type = 'shutter'
             }
 
-            let _url = _href + 'system'
             let systemMsg = {
               favicon: res.titlelogo || '',
               platTitle: res.titleName || '',
@@ -635,12 +626,12 @@
               level = ''
             }
 
-            localStorage.setItem(_href + 'pwdlevel', level)
+            localStorage.setItem(window.GLOB.sysSign + 'pwdlevel', level)
 
             if (res.srcid) {
-              localStorage.setItem(_href + 'srcId', res.srcid)
+              localStorage.setItem(window.GLOB.sysSign + 'srcId', res.srcid)
             } else {
-              localStorage.removeItem(_href + 'srcId')
+              localStorage.removeItem(window.GLOB.sysSign + 'srcId')
             }
 
             sessionStorage.setItem('home_background', res.index_background_color || '')
@@ -655,12 +646,11 @@
             document.title = systemMsg.platTitle
 
             try {
-              localStorage.setItem(_url, window.btoa(window.encodeURIComponent(JSON.stringify(systemMsg))))
+              localStorage.setItem(window.GLOB.sysSign + 'system', window.btoa(window.encodeURIComponent(JSON.stringify(systemMsg))))
             } catch (e) {
-              localStorage.removeItem(_url)
+              localStorage.removeItem(window.GLOB.sysSign + 'system')
             }
 
-            
             if (res.lang_translation_js && res.lang_data && res.lang_data[0] && (res.lang_data.length > 1 || res.lang_data[0].Lang !== 'zh-CN')) {
               let lang = sessionStorage.getItem('lang')
               let js_trans = res.lang_translation_js.map(item => {
@@ -675,10 +665,10 @@
                 }
               })
 
-              localStorage.setItem(_href + 'js_trans', JSON.stringify(js_trans))
+              localStorage.setItem(window.GLOB.sysSign + 'js_trans', JSON.stringify(js_trans))
             }
 
-            let _loginurl = _href + 'loginways'
+            let _loginurl = window.GLOB.sysSign + 'loginways'
             let login_ways = []
             if (res.login_ways && res.login_ways.length > 0) {
               res.login_ways.forEach(item => {
@@ -723,6 +713,13 @@
                   sessionStorage.setItem('subLangList', JSON.stringify(list))
                 }
               }
+            }
+
+            if (res.lang_data.length === 1 && res.lang_data[0].Lang !== sessionStorage.getItem('lang')) {
+              localStorage.setItem(window.location.href.split('#')[0] + 'lang', res.lang_data[0].Lang)
+              sessionStorage.setItem('lang', res.lang_data[0].Lang)
+              window.location.reload()
+              return
             }
             
             this.setState({
@@ -785,7 +782,7 @@
       }
     })
     
-    let loginWays = localStorage.getItem(_href + 'loginways')
+    let loginWays = localStorage.getItem(window.GLOB.sysSign + 'loginways')
     if (loginWays) {
       try {
         loginWays = JSON.parse(window.decodeURIComponent(window.atob(loginWays)))
diff --git a/src/views/login/loginform.jsx b/src/views/login/loginform.jsx
index 859fd37..4f4d150 100644
--- a/src/views/login/loginform.jsx
+++ b/src/views/login/loginform.jsx
@@ -51,9 +51,14 @@
   UNSAFE_componentWillMount () {
     const { loginWays } = this.props
     let remember = true
-    let _url = window.location.href.split('#')[0]
+
+    if (localStorage.getItem(window.location.href.split('#')[0] + 'users')) { // 杩囨浮
+      localStorage.setItem(window.GLOB.sysSign + 'users', localStorage.getItem(window.location.href.split('#')[0] + 'users'))
+      localStorage.setItem(window.GLOB.sysSign + 'remember', localStorage.getItem(window.location.href.split('#')[0] + 'remember'))
+      localStorage.removeItem(window.location.href.split('#')[0] + 'users')
+    }
     
-    if (localStorage.getItem(_url + 'remember') === 'false') {
+    if (localStorage.getItem(window.GLOB.sysSign + 'remember') === 'false') {
       remember = false
     }
     if (!window.GLOB.keepKey) {
@@ -83,8 +88,8 @@
     })
 
     let activeKey = _loginWays[0].type
-
-    let users = localStorage.getItem(_url + 'users')
+    
+    let users = localStorage.getItem(window.GLOB.sysSign + 'users')
     let _user = null
     
     if (users) {
@@ -181,8 +186,7 @@
   }
 
   changelang = (val) => {
-    const _href = window.location.href.split('#')[0]
-    localStorage.setItem(_href + 'lang', val)
+    localStorage.setItem(window.location.href.split('#')[0] + 'lang', val)
     sessionStorage.setItem('lang', val)
 
     window.location.reload()
@@ -392,9 +396,8 @@
 
   rememberChange = (e) => {
     let val = e.target.checked
-    let _url = window.location.href.split('#')[0]
 
-    localStorage.setItem(_url + 'remember', val)
+    localStorage.setItem(window.GLOB.sysSign + 'remember', val)
   }
 
   complete = (val) => {
@@ -422,9 +425,7 @@
     
     this.setState({users: _users})
 
-    let _url = window.location.href.split('#')[0]
-
-    localStorage.setItem(_url + 'users', window.btoa(window.encodeURIComponent(JSON.stringify(_users))))
+    localStorage.setItem(window.GLOB.sysSign + 'users', window.btoa(window.encodeURIComponent(JSON.stringify(_users))))
   }
 
   /**
diff --git a/src/views/mobdesign/index.jsx b/src/views/mobdesign/index.jsx
index 8cc1bed..7381eb5 100644
--- a/src/views/mobdesign/index.jsx
+++ b/src/views/mobdesign/index.jsx
@@ -399,7 +399,8 @@
       MenuID: menu.MenuID,
       copyMenuId: menu.copyMenuId || '',
       clearMenu: menu.clearMenu !== 'false',
-      type: 'view'
+      type: 'view',
+      lang: sessionStorage.getItem('lang')
     }
 
     param.MenuNo = menu.MenuNo || ''
diff --git a/src/views/pcdesign/index.jsx b/src/views/pcdesign/index.jsx
index 0f54aaf..8e522f6 100644
--- a/src/views/pcdesign/index.jsx
+++ b/src/views/pcdesign/index.jsx
@@ -249,7 +249,8 @@
       MenuID: menu.MenuID,
       copyMenuId: menu.copyMenuId || '',
       clearMenu: menu.clearMenu !== 'false',
-      type: 'view'
+      type: 'view',
+      lang: sessionStorage.getItem('lang')
     }
 
     // param.MenuNo = menu.MenuNo || ''
diff --git a/src/views/sso/index.jsx b/src/views/sso/index.jsx
index 5b11539..007b51d 100644
--- a/src/views/sso/index.jsx
+++ b/src/views/sso/index.jsx
@@ -66,8 +66,6 @@
           res.menu_type = 'shutter'
         }
 
-        const _href = window.location.href.split('#')[0]
-        let _url = _href + 'system'
         let systemMsg = {
           favicon: res.titlelogo || '',
           platTitle: res.titleName || '',
@@ -103,12 +101,12 @@
           level = ''
         }
 
-        localStorage.setItem(_href + 'pwdlevel', level)
+        localStorage.setItem(window.GLOB.sysSign + 'pwdlevel', level)
 
         if (res.srcid) {
-          localStorage.setItem(_href + 'srcId', res.srcid)
+          localStorage.setItem(window.GLOB.sysSign + 'srcId', res.srcid)
         } else {
-          localStorage.removeItem(_href + 'srcId')
+          localStorage.removeItem(window.GLOB.sysSign + 'srcId')
         }
 
         sessionStorage.setItem('home_background', res.index_background_color || '')
@@ -123,9 +121,9 @@
         document.title = systemMsg.platTitle
 
         try {
-          localStorage.setItem(_url, window.btoa(window.encodeURIComponent(JSON.stringify(systemMsg))))
+          localStorage.setItem(window.GLOB.sysSign + 'system', window.btoa(window.encodeURIComponent(JSON.stringify(systemMsg))))
         } catch (e) {
-          localStorage.removeItem(_url)
+          localStorage.removeItem(window.GLOB.sysSign + 'system')
         }
 
         window.GLOB.mainlogo = systemMsg.mainlogo

--
Gitblit v1.8.0