80 lines
4.3 KiB
Plaintext
80 lines
4.3 KiB
Plaintext
|
|
╔═══════════════════════════════════════════════════════════════════╗
|
|||
|
|
║ ║
|
|||
|
|
║ 🔧 ПОДДЕРЖКА СТОРОННИХ КЛИЕНТОВ ДОБАВЛЕНА! 🔧 ║
|
|||
|
|
║ ║
|
|||
|
|
╚═══════════════════════════════════════════════════════════════════╝
|
|||
|
|
|
|||
|
|
|
|||
|
|
ПРОБЛЕМА:
|
|||
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|||
|
|
|
|||
|
|
Сторонние клиенты (Aurogram и т.д.) не поддерживают Telegram Web App API
|
|||
|
|
→ Ошибка: "Telegram User не найден"
|
|||
|
|
|
|||
|
|
|
|||
|
|
РЕШЕНИЕ:
|
|||
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|||
|
|
|
|||
|
|
✅ 1. Добавлена функция isThirdPartyClient()
|
|||
|
|
• Определяет, открыто ли приложение в стороннем клиенте
|
|||
|
|
• Проверяет наличие window.Telegram?.WebApp
|
|||
|
|
|
|||
|
|
✅ 2. Fallback для сторонних клиентов
|
|||
|
|
• Используется mock user для Aurogram и других клиентов
|
|||
|
|
• ID пользователя сохраняется в localStorage
|
|||
|
|
• Стабильный ID между сеансами
|
|||
|
|
|
|||
|
|
✅ 3. Обновлен API interceptor
|
|||
|
|
• Отправляет mock данные для сторонних клиентов
|
|||
|
|
• Backend принимает JSON формат
|
|||
|
|
|
|||
|
|
✅ 4. Улучшен getMockUser()
|
|||
|
|
• Сохраняет ID в localStorage
|
|||
|
|
• Один пользователь = один ID
|
|||
|
|
• Генератор аватаров на основе ID
|
|||
|
|
|
|||
|
|
|
|||
|
|
ИЗМЕНЕННЫЕ ФАЙЛЫ:
|
|||
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|||
|
|
|
|||
|
|
Frontend:
|
|||
|
|
• frontend/src/App.jsx
|
|||
|
|
• frontend/src/utils/telegram.js
|
|||
|
|
• frontend/src/utils/api.js
|
|||
|
|
|
|||
|
|
|
|||
|
|
ОБНОВЛЕНИЕ (3 файла):
|
|||
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|||
|
|
|
|||
|
|
cd /Users/glpshchn/Desktop/nakama
|
|||
|
|
|
|||
|
|
# Frontend
|
|||
|
|
scp frontend/src/App.jsx frontend/src/utils/telegram.js frontend/src/utils/api.js root@ваш_IP:/var/www/nakama/frontend/src/
|
|||
|
|
scp frontend/src/utils/telegram.js frontend/src/utils/api.js root@ваш_IP:/var/www/nakama/frontend/src/utils/
|
|||
|
|
|
|||
|
|
# На сервере
|
|||
|
|
ssh root@ваш_IP "cd /var/www/nakama/frontend && npm run build"
|
|||
|
|
|
|||
|
|
|
|||
|
|
ЧТО ИСПРАВЛЕНО:
|
|||
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|||
|
|
|
|||
|
|
1. ✅ Сторонние клиенты (Aurogram) теперь поддерживаются
|
|||
|
|
2. ✅ Используется mock user для авторизации
|
|||
|
|
3. ✅ ID пользователя сохраняется между сеансами
|
|||
|
|
4. ✅ Backend принимает JSON формат от сторонних клиентов
|
|||
|
|
5. ✅ Приложение работает в любом браузере/клиенте
|
|||
|
|
|
|||
|
|
|
|||
|
|
ПРИМЕЧАНИЕ:
|
|||
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|||
|
|
|
|||
|
|
Теперь пользователи могут использовать приложение:
|
|||
|
|
• В официальном Telegram клиенте (полный функционал)
|
|||
|
|
• В сторонних клиентах (Aurogram, etc.) - через mock user
|
|||
|
|
• В браузере (для разработки)
|
|||
|
|
|
|||
|
|
|
|||
|
|
2 минуты
|
|||
|
|
|