Files
FastapiAdmin/frontend/web/src/main.ts
T
zhangtao cc85f624ab fix(web): 修复代码格式和文件清理问题
清理无用文件和资源,调整代码格式统一双引号,修复部分组件路径引用问题

删除大量无用图片资源和组件文件,统一代码风格使用双引号,修复国际化文件路径引用,调整部分组件逻辑,优化项目结构
2026-04-30 00:56:34 +08:00

62 lines
1.6 KiB
TypeScript

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(true);
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();