Reflex/src/main.js

32 lines
1.4 KiB
JavaScript
Raw Normal View History

2025-05-21 22:13:09 +07:00
import { createApp } from 'vue';
import App from './App.vue';
import router from './router';
import { useAuth } from './auth';
import Vue3TouchEvents from 'vue3-touch-events';
2025-05-21 22:13:09 +07:00
import 'bootstrap/dist/css/bootstrap.min.css';
// Создаем приложение
const app = createApp(App);
// Подключаем библиотеку для обработки свайпов и жестов
app.use(Vue3TouchEvents);
2025-05-23 18:03:29 +07:00
2025-05-21 22:13:09 +07:00
// Используем роутер
app.use(router);
// Получаем экземпляр нашего auth "стора"
2025-05-21 22:13:09 +07:00
const { fetchUser } = useAuth();
// Асинхронная самовызывающаяся функция для инициализации
2025-05-21 22:13:09 +07:00
(async () => {
try {
await fetchUser(); // Пытаемся загрузить пользователя по токену из localStorage
} catch (error) {
console.error("Ошибка при начальной загрузке пользователя в main.js:", error);
// Здесь можно ничего не делать, logout уже должен был быть вызван внутри fetchUser при ошибке
} finally {
// После того как fetchUser отработал (успешно или нет), монтируем приложение
app.mount('#app');
console.log('Приложение Vue смонтировано.');
}
})();