mirror of https://github.com/halo-dev/halo
refactor: simplify request exception handling (#4129)
#### What type of PR is this? /kind improvement /area console /milestone 2.7.x #### What this PR does / why we need it: 简化请求异常提示的逻辑。 #### Does this PR introduce a user-facing change? ```release-note None ```pull/4126/head^2
parent
d0526ec592
commit
02e7068ee0
|
@ -95,7 +95,7 @@ const handleLogin = async () => {
|
|||
const { title: errorTitle, detail: errorDetail } = e.response?.data || {};
|
||||
|
||||
if (errorTitle || errorDetail) {
|
||||
Toast.error([errorTitle, errorDetail].filter(Boolean).join(" - "));
|
||||
Toast.error(errorDetail || errorTitle);
|
||||
} else {
|
||||
Toast.error(t("core.common.toast.unknown_error"));
|
||||
}
|
||||
|
|
|
@ -1168,13 +1168,10 @@ core:
|
|||
save_failed_and_retry: "Failed to save, please retry"
|
||||
publish_failed_and_retry: "Failed to publish, please retry"
|
||||
network_error: "Network error, please check your connection"
|
||||
request_parameter_error: "Request parameter error: {title}"
|
||||
login_expired: "Login expired, please log in again"
|
||||
forbidden: Access denied
|
||||
not_found: Resource not found
|
||||
server_internal_error_with_title: "Internal server error: {title}"
|
||||
server_internal_error: Internal server error
|
||||
unknown_error_with_title: "Unknown error: {title}"
|
||||
unknown_error: Unknown error
|
||||
dialog:
|
||||
titles:
|
||||
|
|
|
@ -1168,13 +1168,10 @@ core:
|
|||
save_failed_and_retry: 保存失败,请重试
|
||||
publish_failed_and_retry: 发布失败,请重试
|
||||
network_error: 网络错误,请检查网络连接
|
||||
request_parameter_error: 请求参数错误:{title}
|
||||
login_expired: 登录已过期,请重新登录
|
||||
forbidden: 无权限访问
|
||||
not_found: 资源不存在
|
||||
server_internal_error_with_title: 服务器内部错误:{title}
|
||||
server_internal_error: 服务器内部错误
|
||||
unknown_error_with_title: 未知错误:{title}
|
||||
unknown_error: 未知错误
|
||||
dialog:
|
||||
titles:
|
||||
|
|
|
@ -1168,13 +1168,10 @@ core:
|
|||
save_failed_and_retry: 保存失敗,請重試
|
||||
publish_failed_and_retry: 發布失敗,請重試
|
||||
network_error: 網絡錯誤,請檢查網絡連接
|
||||
request_parameter_error: 請求參數錯誤:{title}
|
||||
login_expired: 登入已過期,請重新登入
|
||||
forbidden: 無權限訪問
|
||||
not_found: 資源不存在
|
||||
server_internal_error_with_title: 伺服器內部錯誤:{title}
|
||||
server_internal_error: 伺服器內部錯誤
|
||||
unknown_error_with_title: 未知錯誤:{title}
|
||||
unknown_error: 未知錯誤
|
||||
dialog:
|
||||
titles:
|
||||
|
|
|
@ -78,40 +78,30 @@ axiosInstance.interceptors.response.use(
|
|||
return Promise.reject(error);
|
||||
}
|
||||
|
||||
const { status } = errorResponse;
|
||||
|
||||
const { title } = errorResponse.data;
|
||||
|
||||
// Don't show error toast
|
||||
// see https://github.com/halo-dev/halo/issues/2836
|
||||
if (errorResponse.config.mute) {
|
||||
return Promise.reject(error);
|
||||
}
|
||||
|
||||
if (status === 400) {
|
||||
Toast.error(
|
||||
i18n.global.t("core.common.toast.request_parameter_error", { title })
|
||||
);
|
||||
} else if (status === 401) {
|
||||
const { status } = errorResponse;
|
||||
const { title, detail } = errorResponse.data;
|
||||
|
||||
if (status === 401) {
|
||||
const userStore = useUserStore();
|
||||
userStore.loginModalVisible = true;
|
||||
Toast.warning(i18n.global.t("core.common.toast.login_expired"));
|
||||
} else if (status === 403) {
|
||||
Toast.error(i18n.global.t("core.common.toast.forbidden"));
|
||||
} else if (status === 404) {
|
||||
Toast.error(i18n.global.t("core.common.toast.not_found"));
|
||||
} else if (status === 500) {
|
||||
Toast.error(
|
||||
i18n.global.t("core.common.toast.server_internal_error_with_title")
|
||||
);
|
||||
} else {
|
||||
Toast.error(
|
||||
i18n.global.t("core.common.toast.unknown_error_with_title", {
|
||||
title,
|
||||
})
|
||||
);
|
||||
|
||||
return Promise.reject(error);
|
||||
}
|
||||
|
||||
if (title || detail) {
|
||||
Toast.error(detail || title);
|
||||
return Promise.reject(error);
|
||||
}
|
||||
|
||||
Toast.error(i18n.global.t("core.common.toast.unknown_error"));
|
||||
|
||||
return Promise.reject(error);
|
||||
}
|
||||
);
|
||||
|
|
Loading…
Reference in New Issue