Spaces:
Sleeping
Sleeping
| import { createApp } from 'vue' | |
| import './style.css' | |
| import App from './App.vue' | |
| import router from './router' | |
| import { createPinia } from 'pinia' | |
| import ElementPlus from 'element-plus' | |
| import 'element-plus/dist/index.css' | |
| import * as ElementPlusIconsVue from '@element-plus/icons-vue' | |
| import axios from 'axios' | |
| // Axios Interceptor for 401 Unauthorized | |
| axios.interceptors.response.use( | |
| response => response, | |
| error => { | |
| if (error.response && error.response.status === 401) { | |
| // Clear token and redirect to login | |
| localStorage.removeItem('token') | |
| localStorage.removeItem('user') | |
| window.location.href = '/login' | |
| } | |
| return Promise.reject(error) | |
| } | |
| ) | |
| const app = createApp(App) | |
| const pinia = createPinia() | |
| app.use(pinia) | |
| app.use(router) | |
| app.use(ElementPlus) | |
| for (const [key, component] of Object.entries(ElementPlusIconsVue)) { | |
| app.component(key, component) | |
| } | |
| app.mount('#app') |