import './assets/main.css' import { logEnvInfo } from './utils/env.js' import { versionChecker } from './utils/versionChecker.js' import { smartImage } from './directives/smartImage.js' import { createPinia } from 'pinia' import piniaPluginPersistedstate from 'pinia-plugin-persistedstate' import { createApp } from 'vue' import i18n, { initI18n } from './locales/i18n' import App from './App.vue' import router from './router' import { useLangStore } from '@/stores/lang' // 移动到顶部 // 初始化环境信息 logEnvInfo() // 版本检查 - 不需要处理返回结果,因为会自动处理 versionChecker.checkVersion() // 初始化权限系统 console.debug('🔐 Permission system initialized') const pinia = createPinia() pinia.use(piniaPluginPersistedstate) //将插件添加到 pinia 实例上 const app = createApp(App) // 注册智能图片指令 app.directive('smart-img', smartImage) app.use(router) app.use(pinia) // 然后初始化 i18n(此时 Pinia 已可用) // 获取 langStore 并传递给 initI18n const langStore = useLangStore() // 直接使用 import 的函数 initI18n(langStore) // 最后使用 i18n app.use(i18n) app.mount('#app') // 定期检查版本更新(每5分钟) if (versionChecker.enableCheck) { setInterval(async () => { const hasUpdate = await versionChecker.checkServerVersion() if (hasUpdate) { // 自动处理更新,不需要用户交互 versionChecker.handleVersionUpdate() } }, 5 * 60 * 1000) }