fix(请求拦截器): 处理blob类型错误响应并优化导出功能

refactor(路由): 优化混合布局路由解析和菜单更新逻辑
perf(权限存储): 使用路由映射表提高菜单查找效率
style(顶部菜单): 优化菜单项显示逻辑和过滤隐藏项
fix(导航栏): 确保用户菜单在移动端正常显示
refactor(导出功能): 统一处理导出错误和资源释放
This commit is contained in:
zhangtao
2025-08-01 00:46:28 +08:00
parent 0de4ff2905
commit 0374292b67
14 changed files with 240 additions and 184 deletions
+8 -6
View File
@@ -800,6 +800,7 @@ async function handleExport() {
type: "warning",
})
.then(async () => {
let downloadUrl = "";
try {
loading.value = true;
@@ -811,9 +812,7 @@ async function handleExport() {
const fileType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8";
const blob = new Blob([fileData], { type: fileType });
// 从响应头获取文件名
const downloadUrl = window.URL.createObjectURL(blob);
downloadUrl = window.URL.createObjectURL(blob);
const downloadLink = document.createElement("a");
downloadLink.href = downloadUrl;
@@ -821,12 +820,15 @@ async function handleExport() {
document.body.appendChild(downloadLink);
downloadLink.click();
ElMessage.success('导出成功');
document.body.removeChild(downloadLink);
window.URL.revokeObjectURL(downloadUrl);
} catch (error: any) {
console.error("导出错误:", error);
// 错误信息已经在响应拦截器中处理并显示
console.error('导出失败:', error);
} finally {
if (downloadUrl) {
window.URL.revokeObjectURL(downloadUrl);
}
loading.value = false;
}
})