- vite rolldownOptions 拼写修正 - .env 入库 → gitignore + .env.example - package.json 移除模板 author/description、补 MIT - 删除死代码 config/menu.ts、untrack stats.html - ty-crud 删除确认取消不报 rejection、main.ts 移除 console 噪音 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
40 lines
1.2 KiB
TypeScript
40 lines
1.2 KiB
TypeScript
import { createApp } from 'vue'
|
||
import 'element-plus/theme-chalk/dark/css-vars.css'
|
||
|
||
import App from './App.vue'
|
||
import router, { installRouter } from './router'
|
||
import pinia, { installStore } from '@/stores'
|
||
import { installAssets } from '@/plugins/assets'
|
||
import { installI18n } from '@/i18n'
|
||
import { setAuthExpiredHandler } from '@/api/http'
|
||
import { useAuthStore } from '@/stores/modules/auth'
|
||
import { useMenuStore } from '@/stores/modules/menu'
|
||
import { useDictStore } from '@/stores/modules/dict'
|
||
import { usePermissionStore } from '@/stores/modules/permission'
|
||
import { useTabsStore } from '@/stores/modules/tabs'
|
||
import { vPermission } from '@/directives/permission'
|
||
|
||
const app = createApp(App)
|
||
|
||
app.directive('permission', vPermission)
|
||
|
||
installRouter(app)
|
||
installStore(app)
|
||
|
||
// 会话过期(401 刷新失败)时:清状态 + 跳登录
|
||
setAuthExpiredHandler(() => {
|
||
useAuthStore(pinia).reset()
|
||
useMenuStore(pinia).reset()
|
||
useDictStore(pinia).reset()
|
||
usePermissionStore(pinia).reset()
|
||
useTabsStore(pinia).removeAll()
|
||
if (router.currentRoute.value.path !== '/login') {
|
||
router.push('/login')
|
||
}
|
||
})
|
||
|
||
installI18n(app)
|
||
installAssets()
|
||
|
||
app.mount('#app')
|