#
zhou zhou
昨天 62569f5a20510dad64109ef18ba64929b8fecef6
#
2个文件已修改
30 ■■■■ 已修改文件
rsf-design/src/hooks/core/useTable.js 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-design/src/utils/http/error.js 25 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-design/src/hooks/core/useTable.js
@@ -186,7 +186,10 @@
      }
      return standardResponse
    } catch (err) {
      if (err instanceof Error && err.message === '请求已取消') {
      if (
        err instanceof Error &&
        (err.message === '请求已取消' || err.code === 'REQUEST_CANCELLED')
      ) {
        loadingState.value = 'idle'
        return { records: [], total: 0, current: 1, size: 10 }
      }
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)
  }