mirror of
https://github.com/fastapiadmin/FastapiAdmin.git
synced 2026-10-09 19:16:44 +00:00
fix(请求拦截器): 处理blob类型错误响应并优化导出功能
refactor(路由): 优化混合布局路由解析和菜单更新逻辑 perf(权限存储): 使用路由映射表提高菜单查找效率 style(顶部菜单): 优化菜单项显示逻辑和过滤隐藏项 fix(导航栏): 确保用户菜单在移动端正常显示 refactor(导出功能): 统一处理导出错误和资源释放
This commit is contained in:
@@ -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;
|
||||
}
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user