新增错误消息防抖机制,优化错误提示显示并清理冗余代码

This commit is contained in:
WUSIJIAN
2026-01-05 10:05:25 +08:00
parent c5c1c32193
commit 3ee3c90462
14 changed files with 49 additions and 38 deletions

View File

@@ -175,7 +175,7 @@ const onSubmit = async () => {
emit('refresh');
} catch (error) {
console.error('操作失败:', error);
ElMessage.error(state.formData.id ? '修改失败' : '添加失败');
// 错误已由请求拦截器统一处理
} finally {
state.loading = false;
}

View File

@@ -144,10 +144,11 @@ const onSubmit = async () => {
closeDialog();
emit('refresh');
} else {
ElMessage.error(res.message || '配置失败');
// 错误已由请求拦截器统一处理
}
} catch (error: any) {
ElMessage.error(error.message || '配置失败');
console.error('配置失败:', error);
// 错误已由请求拦截器统一处理
} finally {
state.loading = false;
}

View File

@@ -179,7 +179,7 @@ const getList = async () => {
}
} catch (error) {
console.error('获取客服账号列表失败:', error);
ElMessage.error('获取数据失败');
// 错误已由请求拦截器统一处理
tableData.data = [];
tableData.total = 0;
} finally {
@@ -273,7 +273,7 @@ const handleStatusChange = async (row: TableDataItem) => {
return;
}
console.error('状态切换失败:', error);
ElMessage.error('状态切换失败');
// 错误已由请求拦截器统一处理
} finally {
setTimeout(() => {
row.statusLoading = false;

View File

@@ -115,7 +115,7 @@ const openDialog = async (row?: ProductFormData) => {
state.isShowDialog = true;
} catch (error) {
console.error('打开对话框失败:', error);
ElMessage.error('初始化数据失败');
// 错误已由请求拦截器统一处理
}
};
@@ -155,7 +155,7 @@ const onCancel = () => {
*/
const onSubmit = async () => {
if (!formRef.value) {
ElMessage.error('表单引用不存在');
console.error('表单引用不存在');
return;
}
@@ -189,7 +189,7 @@ const onSubmit = async () => {
emit('refresh');
} catch (error) {
console.error('提交失败:', error);
ElMessage.error(state.formData.id === 0 ? '添加失败' : '修改失败');
// 错误已由请求拦截器统一处理
} finally {
state.loading = false;
}

View File

@@ -74,7 +74,7 @@ const handleExport = async () => {
isShowDialog.value = false;
} catch (error: any) {
console.error('导出失败:', error);
ElMessage.error(`导出失败:${error.message || '未知错误'}`);
// 错误已由请求拦截器统一处理
} finally {
loading.value = false;
}

View File

@@ -288,7 +288,7 @@ const handleCustomUpload = async (file: File) => {
success: false,
message: error.message || '导入失败',
};
ElMessage.error(`导入失败:${error.message || '未知错误'}`);
// 错误已由请求拦截器统一处理
}
};
@@ -324,7 +324,8 @@ const handleDownloadTemplate = async () => {
saveAs(zipBlob, filename);
ElMessage.success(`模板下载成功!`);
} catch (error: any) {
ElMessage.error(`模板下载失败${error.message || '未知错误'}`);
console.error('模板下载失败:', error);
// 错误已由请求拦截器统一处理
} finally {
downloadLoading.value = false;
}
@@ -343,7 +344,7 @@ const handleUploadSuccess = (response: any, file: UploadFile, fileList: UploadFi
*/
const handleUploadError = (error: Error, file: UploadFile, fileList: UploadFiles) => {
console.error('上传失败回调', error);
ElMessage.error('文件上传失败');
// 错误已由请求拦截器统一处理
// 手动上传模式下不会执行到这里
};

View File

@@ -173,7 +173,7 @@ const getProductList = async () => {
}
} catch (error) {
console.error('获取产品列表失败:', error);
ElMessage.error('获取产品列表失败');
// 错误已由请求拦截器统一处理,此处不再重复提示
} finally {
tableData.loading = false;
}

View File

@@ -74,7 +74,7 @@ const handleExport = async () => {
isShowDialog.value = false;
} catch (error: any) {
console.error('导出失败:', error);
ElMessage.error(`导出失败:${error.message || '未知错误'}`);
// 错误已由请求拦截器统一处理
} finally {
loading.value = false;
}

View File

@@ -201,7 +201,7 @@ const dataList = async () => {
tableData.total = res.data.total;
} catch (error) {
console.error('获取数据失败:', error);
ElMessage.error('获取数据失败');
// 错误已由请求拦截器统一处理
} finally {
tableData.loading = false;
}

View File

@@ -162,7 +162,7 @@ const onSubmit = async () => {
emit('refresh');
} catch (error) {
console.error('提交失败:', error);
ElMessage.error('操作失败');
// 错误已由请求拦截器统一处理
} finally {
state.loading = false;
}

View File

@@ -197,7 +197,7 @@ const loadTableData = async () => {
tableData.total = total;
} catch (error) {
console.error('加载数据失败:', error);
ElMessage.error('数据加载失败');
// 错误已由请求拦截器统一处理
tableData.data = [];
tableData.total = 0;
} finally {
@@ -238,7 +238,7 @@ const handleDelete = async (row: ScriptItem) => {
} catch (error) {
if (error !== 'cancel') {
console.error('删除失败:', error);
ElMessage.error('删除失败');
// 错误已由请求拦截器统一处理
}
}
};