fix(operator): fix operator edit issue
All checks were successful
构建并部署前端到测试环境 / build-and-deploy (push) Successful in 4m51s
All checks were successful
构建并部署前端到测试环境 / build-and-deploy (push) Successful in 4m51s
This commit is contained in:
@@ -212,13 +212,34 @@ function processRequestConfig(config: ExtendedRequestConfig): AxiosRequestConfig
|
||||
}
|
||||
|
||||
// 处理错误消息
|
||||
function handleErrorMessage(error: any, mode: ErrorMessageMode = 'message') {
|
||||
function handleErrorMessage(
|
||||
error: any,
|
||||
mode: ErrorMessageMode = 'message',
|
||||
show404Error: boolean = true
|
||||
) {
|
||||
if (mode === 'none') return
|
||||
|
||||
// 优先使用响应中的 msg 字段
|
||||
const errorMessage = error.response?.data?.msg || error.message
|
||||
const message = errorMessage || '请求超时或服务器异常!'
|
||||
const backendMessage = error.response?.data?.msg
|
||||
const httpStatus = error.response?.status
|
||||
|
||||
// 如果是404错误,且未配置显示404错误,则不显示任何提示
|
||||
if (httpStatus === 404 && !show404Error) {
|
||||
return
|
||||
}
|
||||
|
||||
// 如果后端返回了错误信息,使用后端信息
|
||||
if (backendMessage) {
|
||||
if (mode === 'modal') {
|
||||
// TODO: 可以使用 ElMessageBox 显示模态框
|
||||
ElMessage.error(backendMessage)
|
||||
} else {
|
||||
ElMessage.error(backendMessage)
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
// 其他错误显示通用提示
|
||||
const message = '请求超时或服务器异常!'
|
||||
if (mode === 'modal') {
|
||||
// TODO: 可以使用 ElMessageBox 显示模态框
|
||||
ElMessage.error(message)
|
||||
@@ -251,7 +272,10 @@ async function request<T = any>(config: ExtendedRequestConfig): Promise<T> {
|
||||
if (axios.isAxiosError(e)) {
|
||||
// 默认显示错误消息,除非明确设置为 'none'
|
||||
const errorMode = config.requestOptions?.errorMessageMode || 'message'
|
||||
handleErrorMessage(e, errorMode)
|
||||
const show404Error = config.requestOptions?.show404Error !== undefined
|
||||
? config.requestOptions.show404Error
|
||||
: true
|
||||
handleErrorMessage(e, errorMode, show404Error)
|
||||
}
|
||||
return Promise.reject(e)
|
||||
}
|
||||
@@ -279,14 +303,6 @@ const api = {
|
||||
}
|
||||
}
|
||||
|
||||
// 退出登录(调用接口)
|
||||
const logOut = () => {
|
||||
ElMessage.error('登录已过期,请重新登录')
|
||||
setTimeout(() => {
|
||||
useUserStore().logOut()
|
||||
}, 1000)
|
||||
}
|
||||
|
||||
// 仅清理本地状态(不调用接口)- 用于401等情况
|
||||
const clearLocalStateAndRedirect = () => {
|
||||
ElMessage.error('登录已过期,请重新登录')
|
||||
|
||||
Reference in New Issue
Block a user