Files
console-dev/app/plugins/02-bootstrap.client.js
T

20 lines
833 B
JavaScript

/** 应用启动加载公共配置;已有登录态时并行预取菜单和账户概览,单项失败不阻断启动。 */
import { defineNuxtPlugin } from "#app";
import { useAuth, useApi } from "~/lib/auth.js";
import { t as useSiteConfig } from "~/lib/useSiteConfig.js";
import { t as useNavigation } from "~/lib/navigation-state.js";
export default defineNuxtPlugin({
name: "console-bootstrap",
dependsOn: ["console-ui"],
async setup() {
const auth = useAuth();
const tasks = [useSiteConfig().load()];
// 旧平台入口的 JWT 尚待专页核验,不能在此提前当成可信会话加载私有资料。
if (auth.isLoggedIn && window.location.pathname !== "/home.htm") {
tasks.push(useNavigation(auth, useApi()).load(), auth.fetchOverview());
}
await Promise.allSettled(tasks);
},
});