фикс
This commit is contained in:
parent
42ab411cce
commit
0f548c6e38
32
src/auth.js
32
src/auth.js
@ -23,6 +23,38 @@ function setUserData(userData, userToken) {
|
||||
// Функция для загрузки данных пользователя, если токен есть (например, при обновлении страницы)
|
||||
async function fetchUser() {
|
||||
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 {
|
||||
console.log('Пытаемся загрузить пользователя с токеном из localStorage...');
|
||||
const response = await api.getMe(); // Используем наш API сервис
|
||||
|
Loading…
x
Reference in New Issue
Block a user