Telegram bot + Mini App (WebApp)
- showView: requestAnimationFrame + мгновенный loader (UI не висит) - maybeOnboard на старте fire-and-forget (не блокирует init) - MapView: НЕ запрашивает геолокацию автоматически (только по кнопке) - MapView: правильно destroy map если container удалён (нет утечки Leaflet) - invalidateSize() перед setView чтобы тайлы 2GIS догрузились |
||
|---|---|---|
| public | ||
| README.md | ||
BuhApp Telegram WebApp
Mini App (WebApp) для Telegram, открывается по кнопке в боте @BuhAppBot.
Запуск
Статика (HTML/JS) раздаётся с https://app.buhapp.mygoodservice.ru/.
Структура
buhapp-telegram/
├── public/
│ ├── index.html — главная страница (карта/чаты/профиль/настройки)
│ ├── login.html — онбординг (если запустили без Telegram)
│ ├── css/
│ │ └── app.css — стили
│ └── js/
│ ├── api.js — HTTP клиент + TG SDK
│ ├── tg.js — обёртки Telegram WebApp SDK
│ ├── app.js — главный контроллер
│ └── views/
│ ├── map.js
│ ├── chats.js
│ ├── chat.js
│ ├── profile.js
│ ├── review.js
│ └── settings.js
└── README.md
Telegram Bot
- Создай бота через @BotFather →
/newbot - Установи WebApp URL:
/setdomain→app.buhapp.mygoodservice.ru - Скопируй токен →
TELEGRAM_BOT_TOKENв.envбэкенда
Деплой
Все файлы из public/ монтируются в nginx (location /).
Бэкенд читает initData от Telegram и авторизует через POST /api/v1/auth/telegram.