38 lines
1.1 KiB
TypeScript
38 lines
1.1 KiB
TypeScript
import 'element-plus/theme-chalk/el-message.css'
|
|
import 'element-plus/theme-chalk/el-message-box.css'
|
|
import 'vant/lib/index.css'
|
|
import './styles/base.css'
|
|
import './styles/pc.css'
|
|
import './styles/admin.css'
|
|
|
|
import { createPinia } from 'pinia'
|
|
import { createApp } from 'vue'
|
|
|
|
import App from './App.vue'
|
|
import router from './router'
|
|
import { useAdminSessionStore } from './stores/adminSession'
|
|
import { useDistributionSiteStore } from './stores/distributionSite'
|
|
import { useSessionStore } from './stores/session'
|
|
|
|
const app = createApp(App)
|
|
const pinia = createPinia()
|
|
|
|
app.use(pinia).use(router)
|
|
|
|
// 初始化分销站点租户配置(如 ?site=xxx 或独立域名访问)
|
|
useDistributionSiteStore(pinia).initSite()
|
|
|
|
window.addEventListener('auth-storage-changed', () => {
|
|
useSessionStore(pinia).syncFromStorage()
|
|
useAdminSessionStore(pinia).syncFromStorage()
|
|
})
|
|
|
|
window.addEventListener('storage', event => {
|
|
if (event.storageArea === localStorage) {
|
|
useSessionStore(pinia).syncFromStorage()
|
|
useAdminSessionStore(pinia).syncFromStorage()
|
|
}
|
|
})
|
|
|
|
router.isReady().then(() => app.mount('#app'))
|