export function handleError()

in kystudio/src/util/business.js [18:51]


export function handleError (res, errorcallback) {
  var responseData = res && res.data || null
  if (!res || res === 'cancel' || res === true || res === false) {
    return
  }
  // 服务器超时和无response的情况
  if (res.status === 504 || !res.status) {
    if (typeof errorcallback === 'function') {
      errorcallback(responseData, -1, res && res.status || -1, '')
      return
    }
    window.kylinVm.$store.state.config.errorMsgBox.isShow = true
    if (window.kylinVm.$store.state.config.platform === 'iframe') {
      window.kylinVm.$store.state.config.errorMsgBox.msg = res.message || window.kylinVm.$t('kylinLang.common.notConnectServerIframe')
    } else {
      window.kylinVm.$store.state.config.errorMsgBox.msg = res.message || (responseData && responseData.msg) || window.kylinVm.$t('kylinLang.common.notConnectServer')
    }
    window.kylinVm.$store.state.config.errorMsgBox.detail = responseData && responseData.stacktrace || res.stack || JSON.stringify(res)
  } else {
    var msg = responseData ? (responseData.msg || responseData.message || window.kylinVm.$t('kylinLang.common.unknownError')) : window.kylinVm.$t('kylinLang.common.unknownError')
    if (typeof errorcallback !== 'function') {
      window.kylinVm.$store.state.config.errorMsgBox.isShow = true
      window.kylinVm.$store.state.config.errorMsgBox.msg = msg
      window.kylinVm.$store.state.config.errorMsgBox.detail = responseData && responseData.stacktrace || JSON.stringify(res)
    } else {
      if (responseData && responseData.code) {
        errorcallback(responseData.data, responseData.code, res.status, responseData.msg)
      } else {
        errorcallback(responseData, -1, res && res.status || -1, res && res.msg || '')
      }
    }
  }
  window.kylinVm.$store.state.config.showLoadingBox = false
}