From 3d048c6bbb3a5bd96fc231212f005b42e93233a7 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期四, 18 三月 2021 09:19:30 +0800
Subject: [PATCH] 2021-03-18

---
 src/index.js                                                                   |    4 
 src/menu/sysinterface/settingform/baseform/index.jsx                           |   16 ++
 src/templates/zshare/formconfig.jsx                                            |   17 ++
 src/menu/components/share/actioncomponent/formconfig.jsx                       |   23 ++
 src/templates/sharecomponent/actioncomponent/actionform/index.jsx              |    9 +
 src/templates/sharecomponent/settingcomponent/settingform/datasource/index.jsx |   16 ++
 src/templates/zshare/verifycard/index.jsx                                      |   10 +
 public/options.json                                                            |    4 
 src/setupProxy.js                                                              |   93 ++++++------
 src/menu/components/share/actioncomponent/actionform/index.jsx                 |    9 +
 src/api/index.js                                                               |  154 ++++++++-------------
 src/tabviews/custom/index.jsx                                                  |    2 
 src/tabviews/subtable/index.jsx                                                |    2 
 src/tabviews/subtabtable/index.jsx                                             |    2 
 src/tabviews/commontable/index.jsx                                             |    2 
 src/tabviews/zshare/actionList/normalbutton/index.jsx                          |    2 
 public/README.txt                                                              |    4 
 src/views/login/index.jsx                                                      |   14 +
 18 files changed, 221 insertions(+), 162 deletions(-)

diff --git a/public/README.txt b/public/README.txt
index 902b54d..5429398 100644
--- a/public/README.txt
+++ b/public/README.txt
@@ -6,4 +6,6 @@
 systemType        -- 鍒ゆ柇涓氬姟绯荤粺涓烘祴璇� (绌�) 鎴栨寮� (production) 锛屾寮忕郴缁熷紑鍙戞潈闄愬彧鍚湁绯荤粺鍗囩骇绛夐檺瀹氬姛鑳�
 externalDatabase  -- 澶栬仈搴擄紝涓嶄娇鐢ㄦ椂榛樿涓篺alse
 lineColor         -- 鐧诲綍椤靛垎鍓茬嚎棰滆壊
-filter            -- 椤甸潰婊ら暅锛屽�间负'true'鏃讹紝椤甸潰鏄剧ず涓洪粦鐧借壊
\ No newline at end of file
+filter            -- 椤甸潰婊ら暅锛屽�间负'true'鏃讹紝椤甸潰鏄剧ず涓洪粦鐧借壊
+defaultApp        -- 榛樿搴旂敤锛岀郴缁熼渶榛樿鎵撳紑鏌愪釜瀛愬簲鐢ㄦ椂闇�濉啓搴旂敤缂栫爜锛岀┖鍊兼椂璺宠浆鍒扮鐞嗗悗鍙�
+defaultLang       -- 榛樿鎵撳紑鐨勫瓙搴旂敤璇█绫诲瀷锛屽~鍏efaultApp鏃舵湁鏁�
\ No newline at end of file
diff --git a/public/options.json b/public/options.json
index f46bf79..283b16e 100644
--- a/public/options.json
+++ b/public/options.json
@@ -7,5 +7,7 @@
   "lineColor": "",
   "filter": "false",
   "defaultApp": "",
-  "defaultLang": "zh-CN"
+  "defaultLang": "zh-CN",
+  "host": "http://qingqiumarket.cn",
+  "service": "mkwms/"
 }
\ No newline at end of file
diff --git a/src/api/index.js b/src/api/index.js
index eaa86c6..68cdff5 100644
--- a/src/api/index.js
+++ b/src/api/index.js
@@ -24,7 +24,7 @@
 
 axios.defaults.crossDomain = true
 axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded;charset=UTF-8'
-axios.defaults.withCredentials = true
+axios.defaults.withCredentials = false
 
 axios.interceptors.request.use((config) => {
   if (config.url.includes('LoginAndRedirect') || config.url.includes('getjsonresult') || config.url.includes('wxNativePay')) {
@@ -83,7 +83,7 @@
     if (process.env.NODE_ENV === 'production') {
       axios.defaults.baseURL = document.location.origin + '/' + window.GLOB.service
     } else {
-      // axios.defaults.baseURL = 'http://127.0.0.1:8888'
+      axios.defaults.baseURL = window.GLOB.location + '/' + window.GLOB.service
     }
   }
   
@@ -105,7 +105,15 @@
    * @description 鐩存帴璇锋眰
    * @param {Object} param 鏌ヨ鍙婃彁浜ゅ弬鏁�
    */
-  directRequest (url, method = 'post', param) {
+  directRequest (url, method = 'post', param, cross) {
+    if (cross === 'true') {
+      return axios({
+        url,
+        method,
+        data: param
+      })
+    }
+
     let params = { method: 'post' }
     let _url = url
 
@@ -120,27 +128,9 @@
     }
 
     _url = _url.replace(/&/ig, '%26')
-    // _url = window.btoa(_url)
     params.url = '/trans/redirect?rd=' + _url + '&method=' + method
 
     return axios(params)
-  }
-
-  /**
-   * @description 浣跨敤dostar鎺ュ彛锛岃烦杞嚦dostars
-   * @param {Object} param 鏌ヨ鍙婃彁浜ゅ弬鏁�
-   */
-  dostarToDostars (param) {
-    param.userid = param.userid || sessionStorage.getItem('UserID') || ''
-    param.LoginUID = param.LoginUID || sessionStorage.getItem('LoginUID') || ''
-
-    param = this.encryptParam(param)
-
-    return axios({
-      url: '/webapi/dostar',
-      method: 'post',
-      data: param
-    })
   }
 
   /**
@@ -166,12 +156,13 @@
 
     param.appkey = window.GLOB.appkey || ''
 
+    let url = '/webapi/dologon/s_visitor_login'
     if (window.GLOB.mainSystemApi) {
-      param.rduri = window.GLOB.mainSystemApi.replace(/\/webapi(.*)/, '/webapi/dologon')
+      url = window.GLOB.mainSystemApi.replace(/\/webapi(.*)/, '/webapi/dologon/s_visitor_login')
     }
 
     return axios({
-      url: '/webapi/dologon',
+      url: url,
       method: 'post',
       data: param
     })
@@ -193,20 +184,21 @@
 
     param.appkey = window.GLOB.appkey || ''
 
+    let url = '/webapi/dologon'
     if (isCloud) {
       param.debug = 'Y'
       if (options.cloudServiceApi) {
-        param.rduri = options.cloudServiceApi.replace(/\/webapi(.*)/, '/webapi/dologon')
+        url = options.cloudServiceApi.replace(/\/webapi(.*)/, '/webapi/dologon')
       }
     } else if (window.GLOB.mainSystemApi) {
       if (options.sysType !== 'cloud' && window.GLOB.systemType !== 'production') {
         param.linkurl = window.GLOB.linkurl
       }
-      param.rduri = window.GLOB.mainSystemApi.replace(/\/webapi(.*)/, '/webapi/dologon')
+      url = window.GLOB.mainSystemApi.replace(/\/webapi(.*)/, '/webapi/dologon')
     }
 
     return axios({
-      url: '/webapi/dologon',
+      url,
       method: 'post',
       data: param
     })
@@ -216,7 +208,6 @@
    * @description 鐧诲綍绯荤粺, 鑾峰彇鐢ㄦ埛淇℃伅
    */
   getusermsg (username, password, isCloud = false) {
-    
     let param = {
       // func: 'webapi_login',
       UserName: username,
@@ -234,21 +225,22 @@
     // Type: 'X' 鏃�
     // param.Password = Utils.formatOptions(password)
     param.appkey = window.GLOB.appkey || ''
+    let url = '/webapi/dologon'
 
     if (isCloud) {
       param.debug = 'Y'
       if (options.cloudServiceApi) {
-        param.rduri = options.cloudServiceApi.replace(/\/webapi(.*)/, '/webapi/dologon')
+        url = options.cloudServiceApi.replace(/\/webapi(.*)/, '/webapi/dologon')
       }
     } else if (window.GLOB.mainSystemApi) {
       if (options.sysType !== 'cloud' && window.GLOB.systemType !== 'production') {
         param.linkurl = window.GLOB.linkurl
       }
-      param.rduri = window.GLOB.mainSystemApi.replace(/\/webapi(.*)/, '/webapi/dologon')
+      url = window.GLOB.mainSystemApi.replace(/\/webapi(.*)/, '/webapi/dologon')
     }
 
     return axios({
-      url: '/webapi/dologon',
+      url,
       method: 'post',
       data: param
     })
@@ -391,61 +383,21 @@
     param.lang = param.lang || sessionStorage.getItem('lang') || ''
     param.appkey = window.GLOB.appkey || ''
     param.SessionUid = localStorage.getItem('SessionUid') || ''
-    param.rduri = options.cloudServiceApi || ''
     param.userid = sessionStorage.getItem('CloudUserID') || ''
     param.LoginUID = sessionStorage.getItem('CloudLoginUID') || ''
 
     param = this.encryptParam(param)
 
+    let url = options.cloudServiceApi ? options.cloudServiceApi : '/webapi/dostars'
+    if (param.func) {
+      url = url + '/' + param.func
+    }
+
     return axios({
-      url: `/webapi/dostars${param.func ? '/' + param.func : ''}`,
+      url,
       method: 'post',
       data: param
     })
-  }
-
-  /**
-   * @description 鑾峰彇浜戠閰嶇疆锛屽苟缂撳瓨淇℃伅
-   */
-  getCloudCacheConfig (param) {
-    param.lang = param.lang || sessionStorage.getItem('lang') || ''
-    param.appkey = window.GLOB.appkey || ''
-    param.SessionUid = localStorage.getItem('SessionUid') || ''
-
-    if (options.cloudServiceApi) { // 闈炰簯绔姹�
-      param.rduri = options.cloudServiceApi
-      param.userid = sessionStorage.getItem('CloudUserID') || ''
-      param.LoginUID = sessionStorage.getItem('CloudLoginUID') || ''
-    } else {                       // 浜戠璇锋眰
-      param.userid = sessionStorage.getItem('UserID')
-      param.LoginUID = sessionStorage.getItem('LoginUID') || ''
-    }
-
-    let _param = JSON.parse(JSON.stringify(param)) // 缂撳瓨鏍¢獙锛屽幓闄ゆ椂闂村拰鍔犲瘑瀛楃
-    delete _param.timestamp
-    delete _param.secretkey
-    delete _param.open_key
-    _param = JSON.stringify(_param)
-    _param  = md5(_param)
-    
-    if (window.GLOB.CacheMap.has(_param)) {
-      return Promise.resolve(window.GLOB.CacheMap.get(_param))
-    } else {
-      param = this.encryptParam(param)
-
-      return new Promise(resolve => {
-        axios({
-          url: `/webapi/dostars${param.func ? '/' + param.func : ''}`,
-          method: 'post',
-          data: param
-        }).then(res => {
-          if (res.status) {
-            window.GLOB.CacheMap.set(_param, res)
-          }
-          resolve(res)
-        })
-      })
-    }
   }
 
   /**
@@ -458,18 +410,19 @@
     param.LoginUID = sessionStorage.getItem('LoginUID') || ''
     param.appkey = window.GLOB.appkey || ''
 
+    let url = '/webapi/dostars'
     if (sessionStorage.getItem('isEditState') === 'true' && options.cloudServiceApi) { // 缂栬緫鐘舵�侊紝涓斿瓨鍦ㄤ簯绔湴鍧�
-      param.rduri = options.cloudServiceApi
+      url = options.cloudServiceApi
       param.userid = sessionStorage.getItem('CloudUserID') || ''
       param.LoginUID = sessionStorage.getItem('CloudLoginUID') || ''
     } else if (window.GLOB.mainSystemApi) {
-      param.rduri = window.GLOB.mainSystemApi
+      url = window.GLOB.mainSystemApi
     }
 
     param = this.encryptParam(param)
 
     return axios({
-      url: `/webapi/dostars${param.func ? '/' + param.func : ''}`,
+      url: `${url}${param.func ? '/' + param.func : ''}`,
       method: 'post',
       data: param
     })
@@ -485,10 +438,16 @@
     param.LoginUID = sessionStorage.getItem('LoginUID') || ''
     param.appkey = window.GLOB.appkey || ''
 
+    let url = '/webapi/dostars'
+    if (param.rduri) {
+      url = param.rduri
+      delete param.rduri
+    }
+
     param = this.encryptParam(param)
 
     return axios({
-      url: `/webapi/dostars${param.func ? '/' + param.func : ''}`,
+      url: `${url}${param.func ? '/' + param.func : ''}`,
       method: 'post',
       data: param
     })
@@ -505,14 +464,15 @@
     param.LoginUID = sessionStorage.getItem('LoginUID') || ''
     param.appkey = window.GLOB.appkey || ''
 
+    let url = '/webapi/dostars'
     if (sessionStorage.getItem('isEditState') === 'true') { // 缂栬緫鐘舵�侊紝鍗曠偣鐧诲綍鏈嶅姟鍣ㄤ负浜戠
       if (options.cloudServiceApi) { // 瀛樺湪浜戠鍦板潃鏃讹紝浣跨敤浜戠绯荤粺鍙傛暟
-        param.rduri = options.cloudServiceApi
+        url = options.cloudServiceApi
         param.userid = sessionStorage.getItem('CloudUserID') || ''
         param.LoginUID = sessionStorage.getItem('CloudLoginUID') || ''
       }
     } else if (window.GLOB.mainSystemApi) {
-      param.rduri = window.GLOB.mainSystemApi
+      url = window.GLOB.mainSystemApi
     }
 
     let _param = JSON.parse(JSON.stringify(param)) // 缂撳瓨鏍¢獙锛屽幓闄ゆ椂闂村拰鍔犲瘑瀛楃
@@ -529,7 +489,7 @@
         }, () => {
           param = this.encryptParam(param)
           axios({
-            url: `/webapi/dostars${param.func ? '/' + param.func : ''}`,
+            url: `${url}${param.func ? '/' + param.func : ''}`,
             method: 'post',
             data: param
           }).then(res => {
@@ -549,7 +509,7 @@
         }, () => {
           param = this.encryptParam(param)
           axios({
-            url: `/webapi/dostars${param.func ? '/' + param.func : ''}`,
+            url: `${url}${param.func ? '/' + param.func : ''}`,
             method: 'post',
             data: param
           }).then(res => {
@@ -575,7 +535,7 @@
 
       return new Promise(resolve => {
         axios({
-          url: `/webapi/dostars${param.func ? '/' + param.func : ''}`,
+          url: `${url}${param.func ? '/' + param.func : ''}`,
           method: 'post',
           data: param
         }).then(res => {
@@ -598,10 +558,6 @@
     param.SessionUid = localStorage.getItem('SessionUid') || ''
     param.LoginUID = sessionStorage.getItem('LoginUID') || ''
     param.appkey = window.GLOB.appkey || ''
-
-    if (window.GLOB.mainSystemApi) {
-      param.rduri = window.GLOB.mainSystemApi
-    }
 
     let _param  = md5(JSON.stringify(param))
     
@@ -656,6 +612,12 @@
     param.LoginUID = param.LoginUID || sessionStorage.getItem('LoginUID') || ''
     param.appkey = window.GLOB.appkey || ''
 
+    let url = '/webapi/dostars'
+    if (param.rduri) {
+      url = param.rduri
+      delete param.rduri
+    }
+
     let _param = JSON.parse(JSON.stringify(param)) // 缂撳瓨鏍¢獙锛屽幓闄ゆ椂闂村拰鍔犲瘑瀛楃
     delete _param.timestamp
     delete _param.secretkey
@@ -670,7 +632,7 @@
 
       return new Promise(resolve => {
         axios({
-          url: `/webapi/dostars${param.func ? '/' + param.func : ''}`,
+          url: `${url}${param.func ? '/' + param.func : ''}`,
           method: 'post',
           data: param
         }).then(res => {
@@ -697,11 +659,16 @@
       param.userid = sessionStorage.getItem('CloudUserID') || param.userid || ''
       param.LoginUID = sessionStorage.getItem('CloudLoginUID') || param.LoginUID || ''
     }
+    let url = '/webapi/dostars'
+    if (param.rduri) {
+      url = param.rduri
+      delete param.rduri
+    }
 
     param = this.encryptParam(param)
 
     return axios({
-      url: `/webapi/dostars${param.func ? '/' + param.func : ''}`,
+      url: `${url}${param.func ? '/' + param.func : ''}`,
       method: 'post',
       data: param
     })
@@ -775,10 +742,11 @@
     param = this.encryptParam(param)
 
     if (param.rduri) {
-      param.rduri = param.rduri.replace(/webapi(.*)$/, 'webapi/SaveBase64Image')
+      let url = param.rduri.replace(/webapi(.*)$/, 'webapi/SaveBase64Image')
+      delete param.rduri
 
       return axios({
-        url: '/webapi/dostars',
+        url,
         method: 'post',
         data: param
       })
diff --git a/src/index.js b/src/index.js
index cc743d1..acc30d7 100644
--- a/src/index.js
+++ b/src/index.js
@@ -176,8 +176,8 @@
       GLOB.service = _service ? _service + '/' : ''
     } else {
       GLOB.linkurl = ''
-      GLOB.location = 'http://qingqiumarket.cn'
-      GLOB.service = 'mkwms/'
+      GLOB.location = config.host
+      GLOB.service = config.service
     }
 
     Object.defineProperty(GLOB, 'appId', {
diff --git a/src/menu/components/share/actioncomponent/actionform/index.jsx b/src/menu/components/share/actioncomponent/actionform/index.jsx
index 3d5b9a6..e96aa4e 100644
--- a/src/menu/components/share/actioncomponent/actionform/index.jsx
+++ b/src/menu/components/share/actioncomponent/actionform/index.jsx
@@ -171,7 +171,7 @@
       }
     } else if (_opentype !== 'popview' && _opentype !== 'tab') {
       if (_intertype === 'custom') {
-        _options.push('procMode', 'interface', 'callbackType', 'cbTable', 'proInterface', 'method')
+        _options.push('procMode', 'interface', 'callbackType', 'cbTable', 'proInterface', 'method', 'cross')
         if (_procMode === 'system') {
           _options.push('sql', 'sqlType')
         } else {
@@ -532,7 +532,12 @@
       } else if (item.type === 'radio') {
         fields.push(
           <Col span={12} key={index}>
-            <Form.Item label={item.label}>
+            <Form.Item label={item.tooltip ?
+              <Tooltip placement="topLeft" overlayClassName={item.tooltipClass} title={item.tooltip}>
+                <Icon type="question-circle" />
+                {item.label}
+              </Tooltip> : item.label
+            }>
               {getFieldDecorator(item.key, {
                 initialValue: item.initVal,
                 rules: [
diff --git a/src/menu/components/share/actioncomponent/formconfig.jsx b/src/menu/components/share/actioncomponent/formconfig.jsx
index 8043242..6d9fab1 100644
--- a/src/menu/components/share/actioncomponent/formconfig.jsx
+++ b/src/menu/components/share/actioncomponent/formconfig.jsx
@@ -284,17 +284,32 @@
     },
     {
       type: 'radio',
+      key: 'cross',
+      label: '璺ㄥ煙璇锋眰',
+      initVal: card.cross || 'true',
+      tooltip: '濡傛灉鑷畾涔夋帴鍙d笉鏀寔璺ㄥ煙璇锋眰锛屼細閫氳繃褰撳墠绯荤粺杞彂銆�',
+      required: false,
+      options: [{
+        value: 'true',
+        text: '鏀寔'
+      }, {
+        value: 'false',
+        text: '涓嶆敮鎸�'
+      }]
+    },
+    {
+      type: 'radio',
       key: 'callbackType',
       label: '鍥炶皟鏂瑰紡',
       initVal: card.callbackType || 'script',
-      tooltip: '浣跨敤榛樿鏂瑰紡鎵ц鏃讹紝闇�瑕侀厤鍚堣鍒掍换鍔°��',
+      tooltip: '浣跨敤鍚庡彴鑴氭湰鎵ц鏃讹紝闇�瑕侀厤鍚堣鍒掍换鍔°��',
       required: true,
       options: [{
-        value: 'default',
-        text: '榛樿鑴氭湰'
-      }, {
         value: 'script',
         text: '鑷畾涔夎剼鏈�'
+      }, {
+        value: 'default',
+        text: '鍚庡彴鑴氭湰'
       }]
     },
     {
diff --git a/src/menu/sysinterface/settingform/baseform/index.jsx b/src/menu/sysinterface/settingform/baseform/index.jsx
index 1c4c9b8..fbb22d6 100644
--- a/src/menu/sysinterface/settingform/baseform/index.jsx
+++ b/src/menu/sysinterface/settingform/baseform/index.jsx
@@ -206,6 +206,22 @@
               </Form.Item>
             </Col>
             <Col span={12}>
+              <Form.Item label={
+                <Tooltip placement="topLeft" title={'濡傛灉鑷畾涔夋帴鍙d笉鏀寔璺ㄥ煙璇锋眰锛屼細閫氳繃褰撳墠绯荤粺杞彂銆�'}>
+                  <Icon type="question-circle" />
+                  璺ㄥ煙璇锋眰
+                </Tooltip>
+              }>
+                {getFieldDecorator('cross', {
+                  initialValue: setting.cross || 'true'
+                })(
+                <Radio.Group>
+                  <Radio value="true">鏀寔</Radio>
+                  <Radio value="false">涓嶆敮鎸�</Radio>
+                </Radio.Group>)}
+              </Form.Item>
+            </Col>
+            <Col span={12}>
               <Form.Item label="鍥炶皟鏂瑰紡">
                 {getFieldDecorator('callbackType', {
                   initialValue: setting.callbackType || 'script'
diff --git a/src/setupProxy.js b/src/setupProxy.js
index d5d27d1..c5707d5 100644
--- a/src/setupProxy.js
+++ b/src/setupProxy.js
@@ -1,51 +1,52 @@
-const proxy = require('http-proxy-middleware')
-const host = 'http://qingqiumarket.cn'
-const service = 'mkwms/'
+// const proxy = require('http-proxy-middleware')
+// const host = 'http://qingqiumarket.cn'
+// const service = 'mkwms/'
 
-module.exports = function(app) {
-  app.use(proxy('/webapi', { 
-    target: `${host}/${service}webapi`,
-    secure: false,
-    changeOrigin: true,
-    pathRewrite: {
-    '^/webapi': '/'
-    }
-    // cookieDomainRewrite: "http://localhost:3000"
-  }))
+module.exports = function() {}
+// module.exports = function(app) {
+//   app.use(proxy('/webapi', { 
+//     target: `${host}/${service}webapi`,
+//     secure: false,
+//     changeOrigin: true,
+//     pathRewrite: {
+//     '^/webapi': '/'
+//     }
+//     // cookieDomainRewrite: "http://localhost:3000"
+//   }))
   
-  app.use(proxy('/zh-CN', { // 鐧诲綍鎺ュ彛
-    target: `${host}/${service}zh-CN`,
-    secure: false,
-    changeOrigin: true,
-    pathRewrite: {
-    '^/zh-CN': '/'
-    }
-  }))
+//   app.use(proxy('/zh-CN', { // 鐧诲綍鎺ュ彛
+//     target: `${host}/${service}zh-CN`,
+//     secure: false,
+//     changeOrigin: true,
+//     pathRewrite: {
+//     '^/zh-CN': '/'
+//     }
+//   }))
 
-  app.use(proxy('/Upload', {
-    target: `${host}/${service}zh-CN/Home/Upload`,
-    secure: false,
-    changeOrigin: true,
-    pathRewrite: {
-    '^/Upload': '/'
-    }
-  }))
+//   app.use(proxy('/Upload', {
+//     target: `${host}/${service}zh-CN/Home/Upload`,
+//     secure: false,
+//     changeOrigin: true,
+//     pathRewrite: {
+//     '^/Upload': '/'
+//     }
+//   }))
 
-  app.use(proxy('/wxpay', {
-    target: `${host}/${service}wxpay`,
-    secure: false,
-    changeOrigin: true,
-    pathRewrite: {
-    '^/wxpay': '/'
-    }
-  }))
+//   app.use(proxy('/wxpay', {
+//     target: `${host}/${service}wxpay`,
+//     secure: false,
+//     changeOrigin: true,
+//     pathRewrite: {
+//     '^/wxpay': '/'
+//     }
+//   }))
 
-  app.use(proxy('/trans', {
-    target: `${host}/${service}trans`,
-    secure: false,
-    changeOrigin: true,
-    pathRewrite: {
-    '^/trans': '/'
-    }
-  }))
-}
\ No newline at end of file
+//   app.use(proxy('/trans', {
+//     target: `${host}/${service}trans`,
+//     secure: false,
+//     changeOrigin: true,
+//     pathRewrite: {
+//     '^/trans': '/'
+//     }
+//   }))
+// }
\ No newline at end of file
diff --git a/src/tabviews/commontable/index.jsx b/src/tabviews/commontable/index.jsx
index a24c4ba..a2f2f10 100644
--- a/src/tabviews/commontable/index.jsx
+++ b/src/tabviews/commontable/index.jsx
@@ -537,7 +537,7 @@
       param[key] = result[key]
     })
 
-    Api.directRequest(url, setting.method, param).then(res => {
+    Api.directRequest(url, setting.method, param, setting.cross).then(res => {
       if (typeof(res) !== 'object' || Array.isArray(res)) {
         let error = '鏈煡鐨勮繑鍥炵粨鏋滐紒'
 
diff --git a/src/tabviews/custom/index.jsx b/src/tabviews/custom/index.jsx
index d3f6298..b113301 100644
--- a/src/tabviews/custom/index.jsx
+++ b/src/tabviews/custom/index.jsx
@@ -309,7 +309,7 @@
       param[key] = result[key]
     })
 
-    Api.directRequest(url, setting.method, param).then(res => {
+    Api.directRequest(url, setting.method, param, setting.cross).then(res => {
       if (typeof(res) !== 'object' || Array.isArray(res)) {
         let error = '鏈煡鐨勮繑鍥炵粨鏋滐紒'
 
diff --git a/src/tabviews/subtable/index.jsx b/src/tabviews/subtable/index.jsx
index 1e2a833..e5655a7 100644
--- a/src/tabviews/subtable/index.jsx
+++ b/src/tabviews/subtable/index.jsx
@@ -466,7 +466,7 @@
       param[key] = result[key]
     })
 
-    Api.directRequest(url, setting.method, param).then(res => {
+    Api.directRequest(url, setting.method, param, setting.cross).then(res => {
       if (typeof(res) !== 'object' || Array.isArray(res)) {
         let error = '鏈煡鐨勮繑鍥炵粨鏋滐紒'
 
diff --git a/src/tabviews/subtabtable/index.jsx b/src/tabviews/subtabtable/index.jsx
index 3022444..7cda524 100644
--- a/src/tabviews/subtabtable/index.jsx
+++ b/src/tabviews/subtabtable/index.jsx
@@ -427,7 +427,7 @@
       param[key] = result[key]
     })
 
-    Api.directRequest(url, setting.method, param).then(res => {
+    Api.directRequest(url, setting.method, param, setting.cross).then(res => {
       if (typeof(res) !== 'object' || Array.isArray(res)) {
         let error = '鏈煡鐨勮繑鍥炵粨鏋滐紒'
 
diff --git a/src/tabviews/zshare/actionList/normalbutton/index.jsx b/src/tabviews/zshare/actionList/normalbutton/index.jsx
index 8e6997a..7c27ad4 100644
--- a/src/tabviews/zshare/actionList/normalbutton/index.jsx
+++ b/src/tabviews/zshare/actionList/normalbutton/index.jsx
@@ -777,7 +777,7 @@
       param[key] = result[key]
     })
 
-    Api.directRequest(url, btn.method, param).then(res => {
+    Api.directRequest(url, btn.method, param, btn.cross).then(res => {
       if (typeof(res) !== 'object' || Array.isArray(res)) {
         let error = '鏈煡鐨勮繑鍥炵粨鏋滐紒'
 
diff --git a/src/templates/sharecomponent/actioncomponent/actionform/index.jsx b/src/templates/sharecomponent/actioncomponent/actionform/index.jsx
index 9183b08..1addfe3 100644
--- a/src/templates/sharecomponent/actioncomponent/actionform/index.jsx
+++ b/src/templates/sharecomponent/actioncomponent/actionform/index.jsx
@@ -208,7 +208,7 @@
       }
     } else if (_opentype !== 'popview') { // 鎵撳紑鏂瑰紡涓嶆槸寮圭獥椤甸潰鏃�
       if (_intertype === 'custom') {
-        _options.push('procMode', 'interface', 'callbackType', 'cbTable', 'proInterface', 'method')
+        _options.push('procMode', 'interface', 'callbackType', 'cbTable', 'proInterface', 'method', 'cross')
         if (_procMode === 'system') {
           _options.push('sql', 'sqlType')
         } else {
@@ -611,7 +611,12 @@
       } else if (item.type === 'radio') {
         fields.push(
           <Col span={12} key={index}>
-            <Form.Item label={item.label}>
+            <Form.Item label={item.tooltip ?
+              <Tooltip placement="topLeft" overlayClassName={item.tooltipClass} title={item.tooltip}>
+                <Icon type="question-circle" />
+                {item.label}
+              </Tooltip> : item.label
+            }>
               {getFieldDecorator(item.key, {
                 initialValue: item.initVal,
                 rules: [
diff --git a/src/templates/sharecomponent/settingcomponent/settingform/datasource/index.jsx b/src/templates/sharecomponent/settingcomponent/settingform/datasource/index.jsx
index 7c11299..a11ed88 100644
--- a/src/templates/sharecomponent/settingcomponent/settingform/datasource/index.jsx
+++ b/src/templates/sharecomponent/settingcomponent/settingform/datasource/index.jsx
@@ -524,6 +524,22 @@
               </Form.Item>
             </Col> : null}
             {interType === 'custom' ? <Col span={12}>
+              <Form.Item label={
+                <Tooltip placement="topLeft" title={'濡傛灉鑷畾涔夋帴鍙d笉鏀寔璺ㄥ煙璇锋眰锛屼細閫氳繃褰撳墠绯荤粺杞彂銆�'}>
+                  <Icon type="question-circle" />
+                  璺ㄥ煙璇锋眰
+                </Tooltip>
+              }>
+                {getFieldDecorator('cross', {
+                  initialValue: setting.cross || 'true'
+                })(
+                <Radio.Group>
+                  <Radio value="true">鏀寔</Radio>
+                  <Radio value="false">涓嶆敮鎸�</Radio>
+                </Radio.Group>)}
+              </Form.Item>
+            </Col> : null}
+            {interType === 'custom' ? <Col span={12}>
               <Form.Item label="鎵ц娆℃暟">
                 {getFieldDecorator('execTime', {
                   initialValue: setting.execTime || 'once'
diff --git a/src/templates/zshare/formconfig.jsx b/src/templates/zshare/formconfig.jsx
index 7278035..13cfc79 100644
--- a/src/templates/zshare/formconfig.jsx
+++ b/src/templates/zshare/formconfig.jsx
@@ -884,10 +884,25 @@
     },
     {
       type: 'radio',
+      key: 'cross',
+      label: '璺ㄥ煙璇锋眰',
+      initVal: card.cross || 'true',
+      tooltip: '濡傛灉鑷畾涔夋帴鍙d笉鏀寔璺ㄥ煙璇锋眰锛屼細閫氳繃褰撳墠绯荤粺杞彂銆�',
+      required: false,
+      options: [{
+        value: 'true',
+        text: '鏀寔'
+      }, {
+        value: 'false',
+        text: '涓嶆敮鎸�'
+      }]
+    },
+    {
+      type: 'radio',
       key: 'callbackType',
       label: '鍥炶皟鏂瑰紡',
       initVal: card.callbackType || 'script',
-      tooltip: '浣跨敤榛樿鏂瑰紡鎵ц鏃讹紝闇�瑕侀厤鍚堣鍒掍换鍔°��',
+      tooltip: '浣跨敤鍚庡彴鑴氭湰鎵ц鏃讹紝闇�瑕侀厤鍚堣鍒掍换鍔°��',
       required: true,
       options: [{
         value: 'script',
diff --git a/src/templates/zshare/verifycard/index.jsx b/src/templates/zshare/verifycard/index.jsx
index 5e51a06..0c57e9e 100644
--- a/src/templates/zshare/verifycard/index.jsx
+++ b/src/templates/zshare/verifycard/index.jsx
@@ -6,7 +6,7 @@
 
 import Api from '@/api'
 import Utils from '@/utils/utils.js'
-
+import options from '@/store/options.js'
 import UniqueForm from './uniqueform'
 import ContrastForm from './contrastform'
 import CustomForm from './customform'
@@ -961,7 +961,13 @@
     mutilparam.secretkey = Utils.encrypt(mutilparam.LText, mutilparam.timestamp)
     mutilparam.open_key = Utils.encryptOpenKey(mutilparam.secretkey, mutilparam.timestamp)
 
-    Api.getCloudCacheConfig(mutilparam).then(res => {
+    if (options.cloudServiceApi) { // 浜戠璇锋眰
+      mutilparam.rduri = options.cloudServiceApi
+      mutilparam.userid = sessionStorage.getItem('CloudUserID') || ''
+      mutilparam.LoginUID = sessionStorage.getItem('CloudLoginUID') || ''
+    }
+
+    Api.getSystemCacheConfig(mutilparam).then(res => {
       if (res.status) {
         this.setState({
           orderModular: res.modular,
diff --git a/src/views/login/index.jsx b/src/views/login/index.jsx
index 6a0fcac..1d232a8 100644
--- a/src/views/login/index.jsx
+++ b/src/views/login/index.jsx
@@ -219,16 +219,24 @@
       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
+        LoginUID: _id,
+        nonc: Utils.getuuid()
       }
+
+      let keys = Object.keys(param).sort()
+      let values = ''
+      keys.forEach(key => {
+        values += key + param[key]
+      })
+      param.sign = md5(values)
+      param.t = new Date().getTime()
   
-      Api.dostarToDostars(param).then(res => {
+      Api.directRequest(_rduri + '/sEmpowerCloud_Get_LinkUrl', 'post', param, 'true').then(res => {
         if (res.status) {
           if (res.EPC === str) {
             let box = []

--
Gitblit v1.8.0