登录页延后重型依赖与角色动画,i18n 拆登录轻量包;进系统只等待动态路由与完整语言包,EP/VXE 后台预热。兼容登录响应带回 userInfo。 Co-authored-by: Cursor <cursoragent@cursor.com>
36 lines
976 B
TypeScript
36 lines
976 B
TypeScript
/** 动态路由是否已完成 addRoute(登录编排与权限守卫共用) */
|
||
let dynamicRouterInitialized = false;
|
||
let isInitializingDynamicRouter = false;
|
||
let bootstrapPromise: Promise<void> | null = null;
|
||
|
||
export function isDynamicRouterInitialized() {
|
||
return dynamicRouterInitialized;
|
||
}
|
||
|
||
export function markDynamicRouterInitialized(value = true) {
|
||
dynamicRouterInitialized = value;
|
||
if (!value) {
|
||
bootstrapPromise = null;
|
||
isInitializingDynamicRouter = false;
|
||
}
|
||
}
|
||
|
||
export function isInitializingDynamicRouterFlag() {
|
||
return isInitializingDynamicRouter;
|
||
}
|
||
|
||
export function setInitializingDynamicRouter(value: boolean) {
|
||
isInitializingDynamicRouter = value;
|
||
}
|
||
|
||
/**
|
||
* 单例:登录进系统与权限守卫共用同一 in-flight Promise,避免重复 init。
|
||
*/
|
||
export function getDynamicRouterBootstrapPromise() {
|
||
return bootstrapPromise;
|
||
}
|
||
|
||
export function setDynamicRouterBootstrapPromise(p: Promise<void> | null) {
|
||
bootstrapPromise = p;
|
||
}
|