28 lines
705 B
TypeScript
28 lines
705 B
TypeScript
import { createApp } from "vue"
|
||
import { createPinia } from "pinia"
|
||
import Antd from "ant-design-vue"
|
||
import "ant-design-vue/dist/reset.css"
|
||
import "./styles/global.scss"
|
||
import "./styles/theme.scss"
|
||
import App from "./App.vue"
|
||
import router from "./router"
|
||
import { useAuthStore } from "./stores/auth"
|
||
import { setupPermissionDirective } from "./directives/permission"
|
||
|
||
const app = createApp(App)
|
||
const pinia = createPinia()
|
||
|
||
app.use(pinia)
|
||
app.use(router)
|
||
app.use(Antd)
|
||
|
||
// 注册权限指令
|
||
setupPermissionDirective(app)
|
||
|
||
// 应用启动时初始化认证状态
|
||
// 如果有 token,自动获取用户信息
|
||
const authStore = useAuthStore()
|
||
authStore.initAuth().finally(() => {
|
||
app.mount("#app")
|
||
})
|