fix(operator): fix operator edit issue
All checks were successful
构建并部署前端到测试环境 / build-and-deploy (push) Successful in 4m51s

This commit is contained in:
sexygoat
2026-04-10 14:00:21 +08:00
parent 9a6f085cde
commit 2b3119c549
53 changed files with 547 additions and 418 deletions

View File

@@ -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('登录已过期,请重新登录')