| | |
| | | } |
| | | 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, |
| | |
| | | }) |
| | | } |
| | | function showError(error, showMessage = true) { |
| | | if (error.code === 'REQUEST_CANCELLED') { |
| | | return |
| | | } |
| | | if (showMessage) { |
| | | ElMessage.error(error.message) |
| | | } |