king
2024-05-16 291b0107a031282e92d1d1fc0a9d3a3dc8229b85
src/api/index.js
@@ -57,6 +57,9 @@
    return Promise.reject(response.data)
  } else {
    if (response.config.requestId) {
      response.data.$requestId = response.config.requestId
    }
    return Promise.resolve(response.data)
  }
}, (error) => {
@@ -398,7 +401,7 @@
        this.getSystemConfig(param).then(res => {
          if (!res.status) {
            reject()
            reject(res.message)
            return
          }
@@ -438,7 +441,7 @@
          CacheUtils.updateIndexDBversion({version: res.app_version || '1.00', createDate: curTime})
          resolve()
          resolve(list)
        })
      }, () => {
        reject()
@@ -645,7 +648,7 @@
    param.sign = md5(values)
    param.t = new Date().getTime();
    ['arr_field', 'LText_field', 'custom_script', 'LText1', 'LText', 'LText2', 'DateCount'].forEach(key => {
    ['arr_field', 'custom_script', 'LText', 'DateCount'].forEach(key => {
      if (param[key]) {
        let val = param[key]
        delete param[key]
@@ -659,7 +662,7 @@
  /**
   * @description 获取系统配置,优先从缓存中取值,增加appkey
   * @param {Object}  param   请求参数
   * @param {Boolean} SSO     是否为单点登录地址
   * @param {Boolean} cache   是否使用缓存
   */
  getSystemCacheConfig (param, cache = true) {
    param.userid = param.userid || sessionStorage.getItem('UserID') || ''
@@ -755,7 +758,7 @@
      param = this.encryptParam(param)
      axios({
        url: token.interface,
        url: `${token.interface}${param.func ? '/' + param.func : ''}`,
        method: 'post',
        data: JSON.stringify(param)
      }).then(res => {
@@ -804,7 +807,7 @@
          param = this.encryptParam(param)
          axios({
            url: token.interface,
            url: `${token.interface}${param.func ? '/' + param.func : ''}`,
            method: 'post',
            data: JSON.stringify(param)
          }).then(res => {
@@ -834,7 +837,7 @@
   * @description 获取业务通用接口
   * 访问 'https://sso.mk9h.cn/webapi/dostars'或云端时,传入userid、LoginUID
   */
  genericInterface (param) {
  genericInterface (param, script = '', position, requestId = '') {
    param.userid = param.userid || sessionStorage.getItem('UserID') || ''
    param.lang = param.lang || sessionStorage.getItem('lang') || ''
    param.SessionUid = localStorage.getItem('SessionUid') || ''
@@ -852,9 +855,6 @@
      param.fullname = sessionStorage.getItem('Full_Name') || ''
    }
    let login = false
    let rduri = null
    if (param.rduri && /\s|\n/.test(param.rduri)) {
      param.rduri = param.rduri.replace(/\s|\n/g, '')
      if (!param.rduri) {
@@ -862,31 +862,50 @@
      }
    }
    if (param.$login && !window.GLOB.transfer) {
      login = true
      rduri = param.rduri || ''
    }
    delete param.$login
    if (script) {
      try {
        // eslint-disable-next-line
        let func = new Function('axios', 'Api', 'param', 'position', 'systemType', script)
        let promise = func(axios, this, param, position, window.GLOB.systemType)
    let url = '/webapi/dostars'
        if (promise instanceof Promise) {
          return promise
        }
      } catch (e) {
        console.warn(e)
      }
    if (param.rduri && !window.GLOB.transfer && /\/dostars/.test(param.rduri) && param.func !== 'webapi_ChangeUser') {
      url = param.rduri
      return Promise.resolve({
        status: false,
        message: '自定义脚本执行错误',
        ErrCode: 'E'
      })
    } else if (param.$login) {
      let rduri = param.rduri || ''
      delete param.$login
      delete param.rduri
    }
    param = this.encryptParam(param)
      param = this.encryptParam(param)
    if (login) {
      let time = +sessionStorage.getItem(rduri)
      let c_time = Math.round(new Date().getTime() / 1000)
      if (time && c_time - time <= 1800) {
        sessionStorage.setItem(rduri, c_time)
        return axios({
          url: `${url}${param.func ? '/' + param.func : ''}`,
          method: 'post',
          data: JSON.stringify(param)
        return new Promise((resolve, reject) => {
          axios({
            url: `${rduri}${param.func ? '/' + param.func : ''}`,
            method: 'post',
            data: JSON.stringify(param)
          }).then(result => {
            if (result && result.ErrCode === 'LoginError') {
              sessionStorage.removeItem(rduri)
            }
            resolve(result)
          }, () => {
            reject()
          })
        })
      }
@@ -895,11 +914,13 @@
          if (res.status) {
            sessionStorage.setItem(rduri, c_time)
            axios({
              url: `${url}${param.func ? '/' + param.func : ''}`,
              url: `${rduri}${param.func ? '/' + param.func : ''}`,
              method: 'post',
              data: JSON.stringify(param)
            }).then(result => {
              resolve(result)
            }, () => {
              reject()
            })
          } else {
            resolve(res)
@@ -918,10 +939,19 @@
        })
      })
    } else {
      let url = '/webapi/dostars'
      if (param.rduri && !window.GLOB.transfer && /\/dostars/.test(param.rduri) && param.func !== 'webapi_ChangeUser') {
        url = param.rduri
        delete param.rduri
      }
      param = this.encryptParam(param)
      return axios({
        url: `${url}${param.func ? '/' + param.func : ''}`,
        method: 'post',
        data: JSON.stringify(param)
        data: JSON.stringify(param),
        requestId
      })
    }
  }
@@ -1031,6 +1061,21 @@
    })
  }
  /**
   * @description 微信支付退款
   */
  setRefund (orderId) {
    let _param = new FormData()
    _param.append('out_biz_no', orderId)
    return axios({
      url: '/wxpay/wxRefund',
      headers: { 'Content-Type': 'multipart/form-data' },
      method: 'post',
      data: _param
    })
  }
  postekPrint (data) {
    return axios({
      url: 'http://127.0.0.1:888/postek/print',
@@ -1045,7 +1090,7 @@
  sDebug (sql, rduri = null) {
    let param = {
      func: 's_debug_sql',
      exec_type: 'y',
      exec_type: window.GLOB.execType || 'y',
      timestamp: moment().format('YYYY-MM-DD HH:mm:ss'),
      userid: sessionStorage.getItem('UserID') || '',
      lang: sessionStorage.getItem('lang') || '',
@@ -1053,6 +1098,15 @@
      LoginUID: sessionStorage.getItem('LoginUID') || '',
      appkey: window.GLOB.appkey || ''
    }
    sql = sql.replace(/@time_id@/ig, `'${Utils.getuuid()}'`)
    sql = sql.replace(/@ID@/ig, `'${Utils.getuuid()}'`)
    sql = sql.replace(/@BID@/ig, `'${Utils.getuuid()}'`)
    sql = sql.replace(/@LoginUID@/ig, `'${sessionStorage.getItem('LoginUID')}'`)
    sql = sql.replace(/@SessionUid@/ig, `'${localStorage.getItem('SessionUid')}'`)
    sql = sql.replace(/@UserID@/ig, `'${sessionStorage.getItem('UserID')}'`)
    sql = sql.replace(/@Appkey@/ig, `'${window.GLOB.appkey}'`)
    // sql = sql.replace(/@datam@/ig, `''`)
    if (window.GLOB.externalDatabase !== null) {
      sql = sql.replace(/@db@/ig, window.GLOB.externalDatabase)
@@ -1062,7 +1116,7 @@
    sql = sql.replace(/\n/ig, ' ')
    param.LText = Utils.formatOptions(sql)
    param.LText = Utils.formatOptions(sql, param.exec_type)
    param.secretkey = Utils.encrypt('', param.timestamp)
    param = this.encryptParam(param)
@@ -1099,6 +1153,8 @@
        clearTimeout(timer)
        if (/Shared Memory Provider|会话处于终止状态|当前命令发生了严重错误/.test(res.message)) {
          res.message = '验证失败,请检查SQL中是否存在死循环。'
        } else if (res.message.indexOf('EXECUTE 后的事务计数指示 BEGIN 和 COMMIT 语句的数目不匹配。上一计数 = 1,当前计数 = 0') > -1) {
          res.ErrCode = '-2'
        }
        resolve(res)
      }, () => {