From 68b6626ece8b94c1faa091ee3811e09c4af6d28f Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期二, 15 十月 2024 10:14:18 +0800
Subject: [PATCH] 2024-10-15

---
 src/api/index.js |  240 +++++++++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 220 insertions(+), 20 deletions(-)

diff --git a/src/api/index.js b/src/api/index.js
index 768aa69..72e889c 100644
--- a/src/api/index.js
+++ b/src/api/index.js
@@ -47,6 +47,18 @@
         okText: '鐭ラ亾浜�',
         onOk: () => {
           window.GLOB.$error = false
+
+          localStorage.removeItem('UserID')
+          localStorage.removeItem('LoginUID')
+          localStorage.removeItem('User_Name')
+          localStorage.removeItem('Full_Name')
+          localStorage.removeItem('avatar')
+          localStorage.removeItem('dataM')
+          localStorage.removeItem('localDataM')
+          localStorage.removeItem('debug')
+          localStorage.removeItem('role_id')
+          localStorage.removeItem('mk_user_type')
+
           sessionStorage.clear()
           if (!!(window.history && window.history.pushState)) {
             window.history.replaceState(null, null, window.location.href.split('#')[0] + '#/login')
@@ -98,6 +110,25 @@
   }
 
   /**
+   * @description 浣跨敤dostar鎺ュ彛锛岃烦杩囬獙璇�
+   * @param {Object} param 鏌ヨ鍙婃彁浜ゅ弬鏁�
+   */
+  loginAndRedirect (param) {
+    let url = ''
+    if (process.env.NODE_ENV === 'production') {
+      url = document.location.origin + '/zh-CN/Home/LoginAndRedirect'
+    } else {
+      url = window.GLOB.location + '/zh-CN/Home/LoginAndRedirect'
+    }
+
+    return axios({
+      url: url,
+      method: 'post',
+      data: qs.stringify(param)
+    })
+  }
+
+  /* @description 鐩存帴璇锋眰
    * @description 寰俊涓氬姟璇锋眰 鍘熸帴鍙� 'wxpay/getaccesstoken'
    */
   // wxAccessToken (appId, domain = '') {
@@ -306,6 +337,11 @@
     // Type: 'X' 鏃�
     // param.Password = Utils.formatOptions(password)
 
+    // positecgroup
+    if (window.GLOB.appkey === '202011021844144334E823A3011414082AD77') {
+      param.svccode = 'oms'
+    }
+
     let url = '/webapi/dologon'
 
     if (isCloud) {
@@ -353,6 +389,36 @@
           resolve({data: null, valid: false})
         }
       })
+    })
+  }
+
+  /**
+   * @description 鐧诲綍浜屾楠岃瘉 // positecgroup
+   */
+  verifycode (verify) {
+    let param = {
+      certificate: 'certificate',
+      captcha: verify.code,
+      token: verify.token,
+      ati: verify.ati,
+      vid: verify.vid,
+      uid: verify.uid,
+      shopId: verify.shopId,
+      loginId: verify.loginId,
+      phone: verify.phone,
+      sellerNick: verify.sellerNick,
+      isRisk: verify.isRisk,
+      requestId: verify.requestId,
+      riskNum: verify.riskNum,
+      username: verify.username
+    }
+
+    let url = '/webapi/dologon'
+
+    return axios({
+      url,
+      method: 'post',
+      data: param
     })
   }
 
@@ -492,26 +558,26 @@
   /**
    * @description 鑾峰彇鎴栦慨鏀圭郴缁熼厤缃紝澧炲姞appkey
    */
-  getSystemFuncs (time) {
-    let param = {
-      func: 's_get_func_base_sso',
-      update_date: time,
-      userid: sessionStorage.getItem('UserID') || '',
-      lang: sessionStorage.getItem('lang') || '',
-      SessionUid: localStorage.getItem('SessionUid') || '',
-      LoginUID: sessionStorage.getItem('LoginUID') || '',
-      appkey: window.GLOB.appkey
-    }
+  // getSystemFuncs (time) {
+  //   let param = {
+  //     func: 's_get_func_base_sso',
+  //     update_date: time,
+  //     userid: sessionStorage.getItem('UserID') || '',
+  //     lang: sessionStorage.getItem('lang') || '',
+  //     SessionUid: localStorage.getItem('SessionUid') || '',
+  //     LoginUID: sessionStorage.getItem('LoginUID') || '',
+  //     appkey: window.GLOB.appkey
+  //   }
 
-    let url = window.GLOB.mainSystemApi || '/webapi/dostars'
-    param = this.encryptParam(param)
+  //   let url = window.GLOB.mainSystemApi || '/webapi/dostars'
+  //   param = this.encryptParam(param)
 
-    return axios({
-      url: `${url}/${param.func}`,
-      method: 'post',
-      data: JSON.stringify(param)
-    })
-  }
+  //   return axios({
+  //     url: `${url}/${param.func}`,
+  //     method: 'post',
+  //     data: JSON.stringify(param)
+  //   })
+  // }
 
   /**
    * @description 鑾峰彇鎴栦慨鏀圭郴缁熼厤缃紝澧炲姞appkey
@@ -671,8 +737,67 @@
     param.LoginUID = param.LoginUID || sessionStorage.getItem('LoginUID') || ''
     param.appkey = window.GLOB.appkey || ''
 
+    if (param.$backend) {
+      delete param.$backend
+
+      let id = ''
+      if (cache) {
+        id = param.data[0].id
+
+        if (window.GLOB.CacheMap.has(id)) {
+          return Promise.resolve(window.GLOB.CacheMap.get(id))
+        }
+      }
+
+      param.username = sessionStorage.getItem('User_Name') || ''
+      param.fullname = sessionStorage.getItem('Full_Name') || ''
+      param.s_debug = window.GLOB.debugger ? 'Y' : ''
+      param.data_md5 = param.data_md5 || ''
+      param.time_limit = param.time_limit || 0
+
+      let url = '/webapi/exstars'
+      if (param.rduri) {
+        param.rduri = param.rduri.replace(/dostars/ig, 'exstars')
+        if (!window.GLOB.transfer) {
+          url = param.rduri
+          delete param.rduri
+        }
+      }
+
+      if (param.$type) {
+        url += '/' + param.$type
+      }
+
+      delete param.$type
+
+      param = this.encryptParam(param)
+
+      return new Promise((resolve) => {
+        axios({
+          url: url,
+          method: 'post',
+          data: JSON.stringify(param)
+        }).then(res => {
+          if (res.mksqls) {
+            res.mksqls.forEach(n => {
+              n = n.replace(/(UNION ALL\s+)?SELECT obj_name='[\S\s]+sub_field=''\s+/ig, '')
+              window.mkInfo(n)
+            })
+          }
+          if (res.ErrCode === 'version_error') {
+            res.ErrCode = '-2'
+            MKEmitter.emit('reloadTabs')
+          }
+          if (res.status && id) {
+            window.GLOB.CacheMap.set(id, res)
+          }
+          resolve(res)
+        })
+      })
+    }
+
     let url = '/webapi/dostars'
-    if (param.rduri && !window.GLOB.transfer) {
+    if (param.rduri && !window.GLOB.transfer) { // positecgroup
       url = param.rduri
       delete param.rduri
     }
@@ -938,6 +1063,52 @@
           }
         })
       })
+    } else if (param.$backend) {
+      delete param.$backend
+
+      let url = '/webapi/exstars'
+      if (param.rduri) {
+        param.rduri = param.rduri.replace(/dostars/ig, 'exstars')
+        if (!window.GLOB.transfer) {
+          url = param.rduri
+          delete param.rduri
+        }
+      }
+
+      if (param.$type) {
+        url += '/' + param.$type
+      }
+
+      delete param.$type
+
+      param.username = sessionStorage.getItem('User_Name') || ''
+      param.fullname = sessionStorage.getItem('Full_Name') || ''
+      param.s_debug = window.GLOB.debugger ? 'Y' : ''
+      param.data_md5 = param.data_md5 || ''
+      param.time_limit = param.time_limit || 0
+
+      param = this.encryptParam(param)
+
+      return new Promise((resolve) => {
+        axios({
+          url: url,
+          method: 'post',
+          data: JSON.stringify(param),
+          requestId
+        }).then(res => {
+          if (res.mksqls) {
+            res.mksqls.forEach(n => {
+              n = n.replace(/(UNION ALL\s+)?SELECT obj_name='[\S\s]+sub_field=''\s+/ig, '')
+              window.mkInfo(n)
+            })
+          }
+          if (res.ErrCode === 'version_error') {
+            res.ErrCode = '-2'
+            MKEmitter.emit('reloadTabs')
+          }
+          resolve(res)
+        })
+      })
     } else {
       let url = '/webapi/dostars'
       if (param.rduri && (!window.GLOB.transfer || /https:\/\/sso.mk9h.cn/.test(param.rduri)) && /\/dostars/.test(param.rduri) && param.func !== 'webapi_ChangeUser') {
@@ -954,6 +1125,27 @@
         requestId
       })
     }
+  }
+
+  /**
+   * @description 娓呯┖鍚庣缂撳瓨
+   */
+  cacheInterface (param) {
+    param.appkey = window.GLOB.appkey || ''
+
+    let url = '/webapi/excache'
+    if (param.rduri && !window.GLOB.transfer) {
+      url = param.rduri
+      delete param.rduri
+    }
+
+    param = this.encryptParam(param)
+
+    return axios({
+      url: url,
+      method: 'post',
+      data: JSON.stringify(param),
+    })
   }
 
   /**
@@ -1012,7 +1204,15 @@
         data: param
       }).then(res => {
         if (res.status && res.urlPath) {
-          res.urlPath = window.GLOB.baseurl + res.urlPath
+          if (!/Content\/images/.test(res.urlPath)) {
+            let key = CryptoJS.enc.Utf8.parse('D1185ED7B32568C9')
+            let wordArray = CryptoJS.enc.Base64.parse(res.urlPath)
+            let decryptedWordArray = CryptoJS.AES.decrypt({ ciphertext: wordArray }, key, { mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.Pkcs7 })
+            res.urlPath = CryptoJS.enc.Utf8.stringify(decryptedWordArray)
+          }
+          if (!/^http/.test(res.urlPath)) {
+            res.urlPath = window.GLOB.baseurl + res.urlPath
+          }
         }
         resolve(res)
       })

--
Gitblit v1.8.0