50 lines
2.0 KiB
TypeScript
50 lines
2.0 KiB
TypeScript
import { createApp } from "vue";
|
|
|
|
import App from "./App.vue";
|
|
import router from "@/router";
|
|
|
|
import utils from "@/utils";
|
|
|
|
// 接口层副作用:执行 mountApis 把 Apis 挂到 globalThis(页面以全局 Apis.GatewayAdmin.* 调用)。
|
|
// auto-import 只登记 default 名 api,页面引用的是 Apis,不会注入 import——必须在此显式引入。
|
|
import "@/api";
|
|
|
|
// @ts-ignore
|
|
import ViewUIPlus from "view-ui-plus";
|
|
|
|
import "view-ui-plus/dist/styles/viewuiplus.css";
|
|
|
|
import "@/assets/styles/main.scss";
|
|
// 布局/主题/图标(base.layout.css + iview.override.css + icons.css)由中央静态通道下发:
|
|
// index.html 的 yh-theme-init.js 按 manifest 版本追加 <link>,天然排在本文件组件库样式之后
|
|
//(本地 layout.css 快照已随之退役,删防双份漂移)
|
|
|
|
import "virtual:uno.css";
|
|
import "virtual:svg-icons-register";
|
|
|
|
import config from "@/assets/config/host.config";
|
|
import { consumeSsoReturnUrl } from "@/utils/ssoReturn";
|
|
|
|
/* 外观三键通道契约(§3):yh-theme-init 异步补齐段按「__APP_CONFIG__.serviceHost +
|
|
/api/appearance」取服务端真源。网关后端无 env-config 端点、__APP_CONFIG__ 恒空,
|
|
这里用 host.config 的同源推导值(生产 /open-gateway、dev 取 VITE_SERVICE_HOST)播种,
|
|
否则 init 会裸打域根 /api/appearance 404。模块脚本先于 DOMContentLoaded+delay 执行,时序安全。 */
|
|
const g = window as any;
|
|
g.__APP_CONFIG__ = g.__APP_CONFIG__ || {};
|
|
if (!g.__APP_CONFIG__.serviceHost) g.__APP_CONFIG__.serviceHost = config.serviceHost;
|
|
|
|
const app = createApp(App);
|
|
|
|
app.use(router);
|
|
app.use(ViewUIPlus);
|
|
|
|
app.config.globalProperties.$conf = config;
|
|
app.config.globalProperties.$utils = utils;
|
|
|
|
// SSO 登录往返只能把浏览器送回控制台默认页(后端用固定 CAS service,见网关 SsoAddressing);
|
|
// 挂载前先换回跳转前记下的页签,避免首帧闪一下默认页。
|
|
const ssoReturn = consumeSsoReturnUrl();
|
|
if (ssoReturn) router.replace(ssoReturn);
|
|
|
|
app.mount("#app");
|