| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- import { createApp } from "vue";
- import App from "./App.vue";
- import setupPlugins from "@/plugins";
- import { createTerminal } from "vue-web-terminal";
- // 暗黑主题样式
- import "element-plus/theme-chalk/dark/css-vars.css";
- import "element-plus/dist/index.css";
- // 暗黑模式自定义变量
- import "@/styles/dark/css-vars.css";
- import "@/styles/index.scss";
- import "uno.css";
- // 过渡动画
- import "animate.css";
- import { useConfigStore } from "@/store";
- const app = createApp(App);
- // 注册插件
- app.use(setupPlugins);
- // 注册终端组件
- app.use(createTerminal());
- // 封装设置 title 和 favicon 的函数
- const setTitleAndFavicon = async () => {
- try {
- const configStore = useConfigStore();
- await configStore.getConfig();
- const webTitle = configStore.configData.sys_web_title?.config_value;
- const webFavicon = configStore.configData.sys_web_favicon?.config_value;
- const webLogo = configStore.configData.sys_web_logo?.config_value;
- if (webTitle) {
- document.title = webTitle;
- }
- if (webFavicon) {
- const favicon = document.querySelector('link[rel="icon"]');
- if (favicon instanceof HTMLLinkElement) {
- favicon.href = webFavicon;
- }
- }
- if (webLogo) {
- const loadingLogo = document.querySelector(".loading-container-logo");
- if (loadingLogo instanceof HTMLImageElement) {
- loadingLogo.src = webLogo;
- }
- }
- } catch (error) {
- console.error("获取配置数据失败:", error);
- }
- };
- app.mount("#app");
- // 在应用挂载后执行设置逻辑
- setTitleAndFavicon();
|