From f1a4a2e83a5a3a3f8636c0d85a3a02471c5b07e7 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期三, 05 三月 2025 15:39:52 +0800
Subject: [PATCH] Merge branch 'positec' into dms

---
 src/api/index.js |  142 ++++++++++++++++++++++++++++++-----------------
 1 files changed, 90 insertions(+), 52 deletions(-)

diff --git a/src/api/index.js b/src/api/index.js
index b4b0e42..2b7208c 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 lang = sessionStorage.getItem('lang') !== 'zh-CN' ? sessionStorage.getItem('lang') : ''
+let lang = sessionStorage.getItem('lang') || 'zh-CN'
+lang = lang !== 'zh-CN' ? lang : ''
 let db = `mkdb${service + lang}`
 
 if (window.indexedDB) {
@@ -47,6 +48,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')
@@ -74,6 +87,32 @@
       placement: 'bottomRight',
       duration: 15
     })
+    if ([500, 504].includes(response.status) && error.config && error.config.url && error.config.data) {
+      window.mkInfo(error.config.url)
+      window.mkInfo(error.config.data)
+      if (window.GLOB.errorLog && !sessionStorage.getItem('local_error')) {
+        let urlReg = new RegExp('^(' + window.GLOB.baseurl + '|/)webapi/(exstars|dostars)', 'ig')
+        if (urlReg.test(error.config.url) && !/s_special_error_note_log/.test(error.config.url)) {
+          let res = null
+          try {
+            let data = JSON.parse(error.config.data)
+            if (!data.rduri) {
+              res = {
+                api_url: error.config.url,
+                error_code: response.status,
+                error_time: moment().format('YYYY-MM-DD HH:mm:ss'),
+                api_param: error.config.data
+              }
+            }
+          } catch (e) {
+            res = null
+          }
+          if (res) {
+            sessionStorage.setItem('local_error', JSON.stringify(res))
+          }
+        }
+      }
+    }
   }
 
   return Promise.reject(response)
@@ -98,6 +137,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 = '') {
@@ -111,36 +169,12 @@
   // }
 
   /**
-   * @description 寰俊涓氬姟璇锋眰
-   * 39涓� qingqiumarket.cn|cloud.mk9h.cn|sso.mk9h.cn
+   * @description 蹇�掓煡璇�
    */
-  wxNginxRequest (url, method, param) {
-    let _url = url
-
-    if (!/^http/.test(url)) {
-      _url = window.GLOB.location + '/' + url
-      if (process.env.NODE_ENV === 'production') {
-        _url = document.location.origin + '/' + url
-      }
-    }
-    if (/qingqiumarket.cn|cloud.mk9h.cn/.test(_url)) {
-      _url = _url.replace('http://qingqiumarket.cn/', 'http://qingqiumarket.cn:8080/')
-      _url = _url.replace('http://cloud.mk9h.cn/', 'http://cloud.mk9h.cn:8080/')
-      _url = _url.replace('https://qingqiumarket.cn/', 'https://qingqiumarket.cn:8443/')
-      _url = _url.replace('https://cloud.mk9h.cn/', 'https://cloud.mk9h.cn:8443/')
-    }
-    
-    if (param) {
-      return axios({
-        url: _url,
-        method,
-        data: param
-      })
-    }
-
+  expressRequest (url) {
     return axios({
-      url: _url,
-      method
+      url: window.GLOB.location + '/' + url,
+      method: 'get'
     })
   }
 
@@ -175,12 +209,7 @@
    * @description 娓稿鐧诲綍
    */
   getTouristMsg (binding_type, appid, openid, memberid, scanId) {
-    let _SessionUid = localStorage.getItem('SessionUid')
-
-    if (!_SessionUid) { // 鎵嬪姩娓呴櫎SessionUid鏃讹紝瀹炴椂鐢熸垚
-      _SessionUid = Utils.getuuid()
-      localStorage.setItem('SessionUid', _SessionUid)
-    }
+    let _SessionUid = localStorage.getItem('SessionUid') || ''
 
     let param = {
       func: 's_visitor_login',
@@ -216,6 +245,9 @@
       } else {
         param.linkurl = window.GLOB.linkurl
       }
+    } else if (binding_type === 'cloud') { // 鐧诲綍浜戠
+      delete param.rduri
+      url = window.atob('aHR0cHM6Ly9jbG91$mkZC5tazloLmNu'.replace('$mk', '')) + '/webapi/dologon/s_visitor_login'
     }
     
     param.LText = md5(window.btoa(_SessionUid + param.timestamp + (param.linkurl || '')))
@@ -469,7 +501,7 @@
             CacheUtils.delIndexDBConfig(list)
             this.delCacheConfig('all')
 
-            if (reHome) {
+            if (reHome && reload !== 'home_page_id') {
               MKEmitter.emit('reloadMenuView', 'home_page_id')
             }
           }
@@ -750,9 +782,13 @@
           if (res.mksqls) {
             res.mksqls.forEach(n => {
               n = n.replace(/(UNION ALL\s+)?SELECT obj_name='[\S\s]+sub_field=''\s+/ig, '')
+              if (!res.status && param.data[0] && param.data[0].menuname) {
+                window.mkInfo('%c' + param.data[0].menuname, 'color: #f5222d')
+              }
               window.mkInfo(n)
             })
           }
+          delete res.mksqls
           if (res.ErrCode === 'version_error') {
             res.ErrCode = '-2'
             MKEmitter.emit('reloadTabs')
@@ -1068,12 +1104,21 @@
           if (res.mksqls) {
             res.mksqls.forEach(n => {
               n = n.replace(/(UNION ALL\s+)?SELECT obj_name='[\S\s]+sub_field=''\s+/ig, '')
+              if (!res.status && param.data[0] && param.data[0].menuname) {
+                window.mkInfo('%c' + param.data[0].menuname, 'color: #f5222d')
+              }
               window.mkInfo(n)
             })
           }
-          if (res.ErrCode === 'version_error') {
-            res.ErrCode = '-2'
-            MKEmitter.emit('reloadTabs')
+          delete res.mksqls
+          if (!res.status) {
+            if (res.ErrCode === 'version_error') {
+              res.ErrCode = '-2'
+              MKEmitter.emit('reloadTabs')
+            } else if (res.message === 'permission deny') {
+              res.message = window.GLOB.dict['permission_deny'] || '鏃犲綋鍓嶈彍鍗曟垨鎸夐挳鐨勮闂潈闄愶紝璇疯仈绯荤鐞嗗憳锛�'
+              res.ErrMesg = window.GLOB.dict['permission_deny'] || '鏃犲綋鍓嶈彍鍗曟垨鎸夐挳鐨勮闂潈闄愶紝璇疯仈绯荤鐞嗗憳锛�'
+            }
           }
           resolve(res)
         })
@@ -1101,6 +1146,8 @@
    */
   cacheInterface (param) {
     param.appkey = window.GLOB.appkey || ''
+    param.userid = param.userid || sessionStorage.getItem('UserID') || ''
+    param.LoginUID = param.LoginUID || sessionStorage.getItem('LoginUID') || ''
 
     let url = '/webapi/excache'
     if (param.rduri && !window.GLOB.transfer) {
@@ -1204,19 +1251,8 @@
    * @description oss鏂囦欢涓婁紶
    */
   fileOssUpload (param) {
-    let _url = window.GLOB.location + '/file/oss/upload'
-    if (process.env.NODE_ENV === 'production') {
-      _url = document.location.origin + '/file/oss/upload'
-    }
-    if (/qingqiumarket.cn|cloud.mk9h.cn/.test(_url)) {
-      _url = _url.replace('http://qingqiumarket.cn/', 'http://qingqiumarket.cn:8080/')
-      _url = _url.replace('http://cloud.mk9h.cn/', 'http://cloud.mk9h.cn:8080/')
-      _url = _url.replace('https://qingqiumarket.cn/', 'https://qingqiumarket.cn:8443/')
-      _url = _url.replace('https://cloud.mk9h.cn/', 'https://cloud.mk9h.cn:8443/')
-    }
-    
     return axios({
-      url: _url,
+      url: window.GLOB.location + '/file/oss/upload',
       method: 'post',
       headers: { 'Content-Type': 'multipart/form-data' },
       data: param
@@ -1256,7 +1292,7 @@
   /**
    * @description sql妫�楠�
    */
-  sDebug (sql) {
+  sDebug (sql, skip = false) {
     let param = {
       func: 's_debug_sql',
       exec_type: window.GLOB.execType || 'y',
@@ -1284,6 +1320,8 @@
 
     window.mkInfo(`/* sql 楠岃瘉 */\n${sql.replace(/\n\s{6,20}/ig, '\n')}`)
 
+    if (skip) return
+
     sql = sql.replace(/\n/ig, ' ')
 
     param.LText = Utils.formatOptions(sql, param.exec_type)

--
Gitblit v1.8.0