Lazy load startup element plus modules

This commit is contained in:
2026-06-09 12:39:01 +08:00
parent a911fc6911
commit 1a6e271a5e
5 changed files with 68 additions and 25 deletions
+9 -4
View File
@@ -14,14 +14,19 @@ import {
} from '@vben/request';
import { useAccessStore } from '@vben/stores';
import { ElMessage } from 'element-plus/es/components/message/index';
import { useAuthStore } from '#/store';
import { refreshTokenApi } from './core';
const { apiURL } = useAppConfig(import.meta.env, import.meta.env.PROD);
async function showMessage(type: 'error' | 'warning', message: string) {
const { ElMessage } = await import(
'element-plus/es/components/message/index'
);
ElMessage[type](message);
}
/** 解析 API 错误体中的用户可读文案(兼容 FastAPI 字符串 detail 与结构化 detail */
function resolveApiErrorMessage(
responseData: Record<string, unknown>,
@@ -86,7 +91,7 @@ function createRequestClient(baseURL: string, options?: RequestClientOptions) {
// 只有在有 token 的情况下才显示提示消息(说明是 token 失效)
if (hasToken) {
ElMessage.warning('登录已失效,请重新登录');
await showMessage('warning', '登录已失效,请重新登录');
if (
preferences.app.loginExpiredMode === 'modal' &&
@@ -242,7 +247,7 @@ function createRequestClient(baseURL: string, options?: RequestClientOptions) {
});
// 显示错误消息
if (errorMessage) {
ElMessage.error(errorMessage || msg);
void showMessage('error', errorMessage || msg);
}
}),
);
+8 -3
View File
@@ -1,12 +1,17 @@
import { preferences } from '@vben/preferences';
import { useAccessStore } from '@vben/stores';
import { ElMessage } from 'element-plus/es/components/message/index';
import { useAuthStore } from '#/store';
import { refreshTokenApi } from './core';
async function showErrorMessage(message: string) {
const { ElMessage } = await import(
'element-plus/es/components/message/index'
);
ElMessage.error(message);
}
/**
* 流式请求配置
*/
@@ -313,7 +318,7 @@ function doStreamRequest<T = any>(
}
}
ElMessage.error(errorMessage);
void showErrorMessage(errorMessage);
}
eventHandler.onError?.(error);