Tg with Notifications, bags fixxed

This commit is contained in:
2025-09-04 13:39:53 +03:00
parent f77d19975e
commit 51995c3695
13 changed files with 1775 additions and 34 deletions

60
TESTING_INSTRUCTIONS.md Normal file
View File

@@ -0,0 +1,60 @@
# Инструкция по тестированию системы статуса пользователей
## Быстрый тест
1. **Запустите сервер**:
```bash
node server.js
```
2. **Откройте игру в браузере** и войдите в систему
3. **Откройте Telegram в игровом телефоне** и проверьте:
- Отображается ли статус "Онлайн" для текущего пользователя
- Есть ли зеленая точка рядом с аватаром
- Показывает ли статус "Офлайн" для других пользователей
## Детальное тестирование
### Тест 1: Проверка API
1. Откройте `test_telegram_status.html` в браузере
2. Введите JWT токен из localStorage браузера
3. Нажмите "Тестировать API"
4. Проверьте, что возвращается список пользователей с полями:
- `isOnline`: boolean
- `lastSeen`: timestamp или null
### Тест 2: Проверка WebSocket событий
1. Откройте консоль браузера
2. Войдите в игру
3. Проверьте логи:
```
Статус пользователя изменился: {userId: X, isOnline: true}
```
### Тест 3: Проверка реального времени
1. Откройте игру в двух вкладках браузера
2. Войдите под разными пользователями
3. В одной вкладке откройте Telegram
4. В другой вкладке закройте игру
5. Проверьте, что статус изменился на "Офлайн" в реальном времени
## Ожидаемые результаты
- ✅ Статус "Онлайн" отображается только для пользователей, которые действительно в игре
- ✅ Зеленая точка появляется рядом с аватаром онлайн пользователей
- ✅ Статус обновляется в реальном времени при подключении/отключении
- ✅ Время последнего онлайн отображается для офлайн пользователей
-В консоли сервера видны логи подключения/отключения пользователей
## Возможные проблемы
1. **Статус не обновляется**: Проверьте WebSocket соединение
2. **API возвращает ошибку**: Проверьте JWT токен и права доступа
3. **Статус не синхронизируется**: Проверьте логи сервера на наличие ошибок
## Отладка
- **Сервер**: Смотрите логи в консоли сервера
- **Клиент**: Смотрите логи в консоли браузера
- **WebSocket**: Проверьте соединение в Network tab браузера