king
2025-05-13 1a176e4bdba485301385caac1a29102e598d25cc
src/api/index.js
@@ -48,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')
          if (!/#\/login/.test(window.location.href)) {
            sessionStorage.clear()
            if (!!(window.history && window.history.pushState)) {
@@ -61,6 +73,15 @@
    return Promise.reject(response.data)
  } else {
    if (response.data.ErrCode === 'E') {
      if (/死锁|尚未从池中获取连接/.test(response.data.message)) {
        response.data.message = (window.GLOB.dict['server_busy'] || '服务器繁忙,请稍后重试!') + (/死锁/.test(response.data.message) ? '01' : '02')
        response.data.ErrMesg = response.data.message
      } else if (/无法打开登录所请求的数据库|在与\s*SQL\s+Server\s*建立连接时出现/.test(response.data.message)) {
        response.data.message = '服务器链接不可用,请关闭浏览器重新打开!'
        response.data.ErrMesg = response.data.message
      }
    }
    if (response.config.requestId) {
      response.data.$requestId = response.config.requestId
    }
@@ -69,7 +90,15 @@
}, (error) => {
  let response = error.response || ''
  if (response && response.status) {
  if (!response) {
    notification.error({
      className: 'notification-custom-error',
      bottom: 0,
      message: error.message.includes('Network Error') && sessionStorage.getItem('lang') === 'zh-CN' ? '网络连接失败!' : error.message,
      placement: 'bottomRight',
      duration: 15
    })
  } else if (response && response.status) {
    notification.error({
      className: 'notification-custom-error',
      bottom: 0,
@@ -127,6 +156,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 = '') {
@@ -252,7 +300,8 @@
      login_id_address: sessionStorage.getItem('ipAddress') || '',
      kei_id: window.btoa(window.encodeURIComponent(window.GLOB.host)),
      device_id: localStorage.getItem('SessionUid'),
      appkey: window.GLOB.appkey || ''
      appkey: window.GLOB.appkey || '',
      lang: sessionStorage.getItem('lang') || ''
    }
    let url = '/webapi/dologon'
@@ -290,7 +339,8 @@
      kei_id: window.btoa(window.encodeURIComponent(window.GLOB.host)),
      device_id: localStorage.getItem('SessionUid'),
      timestamp: moment().add(shim, 'seconds').format('YYYY-MM-DD HH:mm:ss'),
      appkey: window.GLOB.appkey || ''
      appkey: window.GLOB.appkey || '',
      lang: sessionStorage.getItem('lang') || ''
    }
    
    // Type: 'S' 时
@@ -308,6 +358,11 @@
    
    // Type: 'X' 时
    // param.Password = Utils.formatOptions(password)
    // positecgroup
    if (window.GLOB.appkey === '202011021844144334E823A3011414082AD77') {
      param.svccode = 'oms'
    }
    let url = '/webapi/dologon'
@@ -356,6 +411,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
    })
  }
@@ -738,7 +823,7 @@
    }
    let url = '/webapi/dostars'
    if (param.rduri && !window.GLOB.transfer) {
    if (param.rduri && !window.GLOB.transfer) { // positecgroup
      url = param.rduri
      delete param.rduri
    }
@@ -1028,6 +1113,14 @@
      param.data_md5 = param.data_md5 || ''
      param.time_limit = param.time_limit || 0
      param.data.forEach(item => {
        item.exps.forEach(cell => {
          if (typeof(cell.value) === 'number') {
            cell.value = cell.value + ''
          }
        })
      })
      param = this.encryptParam(param)
      return new Promise((resolve) => {