This commit is contained in:
Professional 2025-05-26 19:38:13 +07:00
parent 42ab411cce
commit 0f548c6e38

View File

@ -23,6 +23,38 @@ function setUserData(userData, userToken) {
// Функция для загрузки данных пользователя, если токен есть (например, при обновлении страницы) // Функция для загрузки данных пользователя, если токен есть (например, при обновлении страницы)
async function fetchUser() { async function fetchUser() {
if (token.value) { if (token.value) {
// Проверяем, есть ли информация о блокировке в localStorage
const blockedInfoStr = localStorage.getItem('accountBlockedInfo');
if (blockedInfoStr) {
try {
const blockedInfo = JSON.parse(blockedInfoStr);
if (blockedInfo.blocked) {
console.log('[Auth] Обнаружена информация о блокировке в localStorage, выполняем выход');
// Показываем уведомление о блокировке
const notificationEvent = new CustomEvent('show-toast', {
detail: {
message: blockedInfo.message || 'Ваш аккаунт заблокирован администратором.',
type: 'error',
duration: 10000
}
});
window.dispatchEvent(notificationEvent);
// Выходим из системы
await logout();
// Перенаправляем на страницу входа с параметром блокировки
router.replace({ path: '/login', query: { blocked: 'true' } });
return;
}
} catch (error) {
console.error('[Auth] Ошибка при парсинге информации о блокировке:', error);
// Удаляем поврежденные данные
localStorage.removeItem('accountBlockedInfo');
}
}
try { try {
console.log('Пытаемся загрузить пользователя с токеном из localStorage...'); console.log('Пытаемся загрузить пользователя с токеном из localStorage...');
const response = await api.getMe(); // Используем наш API сервис const response = await api.getMe(); // Используем наш API сервис