#
zhou zhou
18 小时以前 62569f5a20510dad64109ef18ba64929b8fecef6
rsf-design/src/utils/http/error.js
@@ -36,14 +36,28 @@
  }
  return $t(errorMap[status] || 'httpMsg.internalServerError')
}
function isRequestCancelled(error) {
  const message = String(error?.message || '').toLowerCase()
  return (
    error?.code === 'ERR_CANCELED' ||
    error?.name === 'CanceledError' ||
    error?.name === 'AbortError' ||
    message.includes('canceled') ||
    message.includes('cancelled') ||
    message.includes('aborted') ||
    message.includes('请求已取消')
  )
}
function handleError(error) {
  if (error.code === 'ERR_CANCELED') {
    console.warn('Request cancelled:', error.message)
    throw new HttpError($t('httpMsg.requestCancelled'), ApiStatus.error)
  const requestConfig = error.config
  if (isRequestCancelled(error)) {
    throw new HttpError($t('httpMsg.requestCancelled'), 'REQUEST_CANCELLED', {
      url: requestConfig?.url,
      method: requestConfig?.method?.toUpperCase()
    })
  }
  const statusCode = error.response?.status
  const errorMessage = error.response?.data?.msg || error.message
  const requestConfig = error.config
  if (!error.response) {
    throw new HttpError($t('httpMsg.networkError'), ApiStatus.error, {
      url: requestConfig?.url,
@@ -60,6 +74,9 @@
  })
}
function showError(error, showMessage = true) {
  if (error.code === 'REQUEST_CANCELLED') {
    return
  }
  if (showMessage) {
    ElMessage.error(error.message)
  }