Files
log-lottery/src/main.ts

55 lines
1.9 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
// pinia
import { createPinia } from 'pinia'
// pinia持久化
import piniaPluginPersist from 'pinia-plugin-persist'
import * as THREE from 'three'
import { createApp } from 'vue'
import VueDOMPurifyHTML from 'vue-dompurify-html'
import svgIcon from '@/components/SvgIcon/index.vue'
import i18n from '@/locales/i18n'
// svg全局组件// 路由
import router from '@/router'
import App from './App.vue'
import './style.css'
import './style/markdown.css'
import './style/style.scss'
// 全局svg组件
import 'virtual:svg-icons-register'
// 在应用初始化时尽早设置主题和字体,避免页面加载时的闪烁
(function initializeThemeAndFont() {
try {
// 从localStorage获取全局配置
const globalConfigStr = localStorage.getItem('globalConfig')
if (globalConfigStr) {
const storageData = JSON.parse(globalConfigStr)
// 根据persist策略数据存储在globalConfig属性下
const globalConfig = storageData.globalConfig || storageData
// 设置主题
if (globalConfig.theme?.name) {
const html = document.documentElement
html.setAttribute('data-theme', globalConfig.theme.name)
}
// 设置字体
if (globalConfig.theme?.font) {
// 更新CSS变量
document.documentElement.style.setProperty('--app-font-family', `"${globalConfig.theme.font}", -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif`)
}
}
}
catch (e) {
console.warn('Failed to set initial theme and font:', e)
}
})()
const app = createApp(App)
const pinia = createPinia()
pinia.use(piniaPluginPersist)
app.config.globalProperties.$THREE = THREE // 挂载到原型
app.component('svg-icon', svgIcon)
app.use(router).use(VueDOMPurifyHTML).use(pinia).use(i18n).mount('#app')