From 31ec63f0419895876cbaba99637a884a32d33d0d Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期三, 01 九月 2021 10:31:45 +0800
Subject: [PATCH] 2021-09-01

---
 src/api/index.js |  147 ++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 108 insertions(+), 39 deletions(-)

diff --git a/src/api/index.js b/src/api/index.js
index 6e85dc6..88876da 100644
--- a/src/api/index.js
+++ b/src/api/index.js
@@ -14,12 +14,12 @@
   1585192949946f3et2ts8tn82krmumdf,15855615451212m12ip23vpcm79kloro,1587005717541lov40vg61q7l1rbveon,1590458676585agbbr63t6ihighg2i1g,1602315375262ikd33ii0nii34pt861o,1582771068837vsv54a089lgp45migbg,
   1582777675954ifu05upurs465omoth7,158294809668898cklbv6c5bou8e1fpu,1584676379094iktph45fb8imhg96bql,1584695125339vo5g7iqgfn01qmrd6s2,1584699661372vhmpp9dn9foo0eob722,15848421131551gg04ie8sitsd3f7467,
   1589782279158ngr675kk3oksin35sul,1589788042787ffdt9hle4s45k9r1nvs,15900310928174dro07ihfckghpb5h13,1594095599055qicg2eb642v5qglhnuo,1599613340050c8nu6rbst9d4emnnbsq,1577972969199lei1g0qkvlh4tkc908m,
-  1578479100252lfbp29v1kafk4s4q4ig,1577971621421tg4v0i1ur8873k7e0ob,1577929944419lgc5h3hepum765e2k7u,1588493493409k9guqp067d31lu7blsv`
+  1578479100252lfbp29v1kafk4s4q4ig,1577971621421tg4v0i1ur8873k7e0ob,1577929944419lgc5h3hepum765e2k7u,1588493493409k9guqp067d31lu7blsv,15827879285193g85m3i2uprektpgmpf`
 
 if (window.openDatabase) {
-  CacheUtils.openWebSql()
+  CacheUtils.openWebSql(options.sysType)
 } else if (window.indexedDB) {
-  CacheUtils.openIndexDB()
+  CacheUtils.openIndexDB(options.sysType)
 }
 
 axios.defaults.crossDomain = true
@@ -31,7 +31,7 @@
     config.data = qs.stringify(config.data)
   } else if (config.url.includes('Upload') || config.url.includes('doupload') || config.url.includes('dopreload')) {
     config.headers = { 'Content-Type': 'multipart/form-data' }
-  } else if (config.method === 'post') {
+  } else if (config.method === 'post' && config.data) {
     config.data = JSON.stringify(config.data)
   }
 
@@ -106,11 +106,16 @@
    * @param {Object} param 鏌ヨ鍙婃彁浜ゅ弬鏁�
    */
   directRequest (url, method = 'post', param, cross) {
-    if (cross === 'true') {
+    if (cross === 'true' && param) {
       return axios({
         url,
         method,
         data: param
+      })
+    } else if (cross === 'true') {
+      return axios({
+        url,
+        method
       })
     }
 
@@ -136,7 +141,7 @@
   /**
    * @description 娓稿鐧诲綍
    */
-  getTouristMsg () {
+  getTouristMsg (appid, openid, memberid, scanId) {
     let _SessionUid = localStorage.getItem('SessionUid')
 
     if (!_SessionUid) { // 鎵嬪姩娓呴櫎SessionUid鏃讹紝瀹炴椂鐢熸垚
@@ -156,6 +161,14 @@
 
     param.appkey = window.GLOB.appkey || ''
 
+    if (appid) {
+      param.binding_type = 'mk'
+      param.thd_party_member_id = memberid
+      param.thd_party_openid = openid
+      param.thd_party_appid = appid
+      param.id = scanId
+    }
+
     let url = '/webapi/dologon/s_visitor_login'
     if (window.GLOB.mainSystemApi) {
       // url = window.GLOB.mainSystemApi.replace(/\/webapi(.*)/, '/webapi/dologon/s_visitor_login')
@@ -172,7 +185,7 @@
   /**
    * @description 鎵嬫満鍙烽獙璇佺爜鐧诲綍
    */
-  getphoneusermsg (phoneNo, checkcode, isCloud = false) {
+  getphoneusermsg (phoneNo, checkcode, isCloud = false, ipAddress, city) {
     let param = {
       // func: 'webapi_login',
       mob: phoneNo,
@@ -180,7 +193,9 @@
       Password: '',
       check_code: checkcode,
       way_no: 'sms_vcode',
-      systemType: options.sysType
+      systemType: options.sysType,
+      login_city: city,
+      login_id_address: ipAddress
     }
 
     param.appkey = window.GLOB.appkey || ''
@@ -210,23 +225,41 @@
   /**
    * @description 鐧诲綍绯荤粺, 鑾峰彇鐢ㄦ埛淇℃伅
    */
-  getusermsg (username, password, isCloud = false) {
+  getusermsg (username, password, isCloud = false, ipAddress, city) {
     let param = {
       // func: 'webapi_login',
       UserName: username,
       systemType: options.sysType,
-      Type: 'S'
+      Type: 'S',
+      login_city: city,
+      login_id_address: ipAddress
     }
 
+    param.timestamp = moment().format('YYYY-MM-DD HH:mm:ss')
+
+    let sys_datetime = sessionStorage.getItem('sys_datetime')
+    let app_datetime = sessionStorage.getItem('app_datetime')
+    if (sys_datetime && app_datetime) {
+      let seconds = Math.floor((new Date().getTime() - app_datetime) / 1000)
+      param.timestamp = moment(sys_datetime, 'YYYY-MM-DD HH:mm:ss').add(seconds, 'seconds').format('YYYY-MM-DD HH:mm:ss')
+    }
+    
     // Type: 'S' 鏃�
     let shaObj = new jsSHA('SHA-1', 'TEXT')
-    param.timestamp = moment().format('YYYY-MM-DD HH:mm:ss')
     shaObj.update(password)
     param.Password = shaObj.getHash('HEX').toUpperCase()
     param.Password = md5(username + param.Password + param.timestamp)
 
+    // Type: 'mk_' 鏃�
+    // param.Type = '鍏挜'
+    // let shaObj = new jsSHA('SHA-1', 'TEXT')
+    // shaObj.update(password)
+    // param.Password = shaObj.getHash('HEX').toUpperCase()
+    // param.Password = md5('绉侀挜' + username + param.Password + param.timestamp)
+    
     // Type: 'X' 鏃�
     // param.Password = Utils.formatOptions(password)
+
     param.appkey = window.GLOB.appkey || ''
     let url = '/webapi/dologon'
 
@@ -260,14 +293,26 @@
       return Promise.reject()
     }
 
+    let curTime = moment().format('YYYY-MM-DD HH:mm:ss') + '.000'
+    let sys_datetime = sessionStorage.getItem('sys_datetime')
+    let app_datetime = sessionStorage.getItem('app_datetime')
+    if (sys_datetime && app_datetime) {
+      let seconds = Math.floor((new Date().getTime() - app_datetime) / 1000)
+      curTime = moment(sys_datetime, 'YYYY-MM-DD HH:mm:ss').add(seconds, 'seconds').format('YYYY-MM-DD HH:mm:ss') + '.000'
+    }
+
     if (window.GLOB.WebSql) {
       return new Promise((resolve, reject) => {
         CacheUtils.getWebSqlVersion().then(msg => {
           appVersion.oldVersion = msg.version || ''
-          let curTime = moment().format('YYYY-MM-DD HH:mm:ss') + '.000'
+          let modifydate = msg.createDate || curTime
+          if (modifydate.indexOf('Invalid date') > -1) {
+            modifydate = curTime
+          }
+
           let param = {
             func: 's_get_app_version',
-            modifydate: msg.createDate || curTime,
+            modifydate
           }
   
           this.getSystemConfig(param).then(res => {
@@ -311,10 +356,13 @@
       return new Promise((resolve, reject) => {
         CacheUtils.getIndexDBVersion().then(msg => {
           appVersion.oldVersion = msg.version || ''
-          let curTime = moment().format('YYYY-MM-DD HH:mm:ss') + '.000'
+          let modifydate = msg.createDate || curTime
+          if (modifydate.indexOf('Invalid date') > -1) {
+            modifydate = curTime
+          }
           let param = {
             func: 's_get_app_version',
-            modifydate: msg.createDate || curTime,
+            modifydate
           }
 
           this.getSystemConfig(param).then(res => {
@@ -408,11 +456,35 @@
   /**
    * @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
+    }
+
+    let url = window.GLOB.mainSystemApi || '/webapi/dostars'
+    param = this.encryptParam(param)
+
+    return axios({
+      url: `${url}/${param.func}`,
+      method: 'post',
+      data: param
+    })
+  }
+
+  /**
+   * @description 鑾峰彇鎴栦慨鏀圭郴缁熼厤缃紝澧炲姞appkey
+   */
   getSystemConfig (param) {
-    param.userid = sessionStorage.getItem('UserID') || ''
+    param.userid = param.userid || sessionStorage.getItem('UserID') || ''
     param.lang = param.lang || sessionStorage.getItem('lang') || ''
     param.SessionUid = localStorage.getItem('SessionUid') || ''
-    param.LoginUID = sessionStorage.getItem('LoginUID') || ''
+    param.LoginUID = param.LoginUID || sessionStorage.getItem('LoginUID') || ''
     param.appkey = window.GLOB.appkey || ''
 
     let url = '/webapi/dostars'
@@ -437,10 +509,10 @@
    * @description 鑾峰彇鎴栦慨鏀规湰鍦伴厤缃紝澧炲姞appkey
    */
   getLocalConfig (param) {
-    param.userid = sessionStorage.getItem('UserID') || ''
+    param.userid = param.userid || sessionStorage.getItem('UserID') || ''
     param.lang = param.lang || sessionStorage.getItem('lang') || ''
     param.SessionUid = localStorage.getItem('SessionUid') || ''
-    param.LoginUID = sessionStorage.getItem('LoginUID') || ''
+    param.LoginUID = param.LoginUID || sessionStorage.getItem('LoginUID') || ''
     param.appkey = window.GLOB.appkey || ''
 
     let url = '/webapi/dostars'
@@ -664,16 +736,18 @@
       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
-    }
+
+    // 寰呬紭鍖栵紝澧炲姞鏄惁鏀寔璺ㄥ煙璇锋眰
+    // let url = '/webapi/dostars'
+    // if (param.rduri) {
+    //   url = param.rduri
+    //   delete param.rduri
+    // }
 
     param = this.encryptParam(param)
 
     return axios({
-      url: `${url}${param.func ? '/' + param.func : ''}`,
+      url: `/webapi/dostars${param.func ? '/' + param.func : ''}`,
       method: 'post',
       data: param
     })
@@ -718,7 +792,7 @@
             }
             resolve()
           }
-        } catch {
+        } catch (e) {
           resolve({
             ErrCode: 'E',
             ErrMesg: '鏂囦欢瑙f瀽閿欒',
@@ -746,22 +820,17 @@
 
     param = this.encryptParam(param)
 
+    let url = '/webapi/SaveBase64Image'
     if (param.rduri) {
-      let url = param.rduri.replace(/webapi(.*)$/, 'webapi/SaveBase64Image')
+      url = param.rduri.replace(/webapi(.*)$/, 'webapi/SaveBase64Image')
       delete param.rduri
-
-      return axios({
-        url,
-        method: 'post',
-        data: param
-      })
-    } else {
-      return axios({
-        url: '/webapi/SaveBase64Image',
-        method: 'post',
-        data: param
-      })
     }
+
+    return axios({
+      url,
+      method: 'post',
+      data: param
+    })
   }
 
   /**

--
Gitblit v1.8.0