20 lines
833 B
JavaScript
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);
|
|
},
|
|
});
|