Skip to main content
MiniApp — это внешнее веб-приложение, которое открывается в iframe внутри основного приложения Exode. Школа подключает его через кастомную страницу. SDK обеспечивает двустороннюю связь между мини-приложением и хостом через postMessage и помогает проверить подпись данных пользователя на вашем сервере.

Архитектура

Хост-сторона моста реализована внутри основного приложения Exode. Гостевая сторона (то, что подключает разработчик MiniApp) — это и есть @exode-team/sdk/miniapp.

Жизненный цикл

1

Загрузка iframe

Основное приложение открывает MiniApp по URL в iframe и добавляет к адресу подписанные данные пользователя — #exodeInitData=... (см. Init Data).
2

Handshake

MiniApp вызывает app.init() и отправляет хосту свой appId. Хост проверяет origin сообщения (для кастомных страниц — origin адреса из «URL приложения (iframe)»; appId при этом может быть любым) и возвращает контекст (пользователь, школа, тема, конфиг).
3

Работа

MiniApp отправляет команды (navigate, showSnackbar, …). Хост пушит события (theme:changed, user:updated, …).
4

Завершение работы

При размонтировании MiniApp вызывает app.destroy() — bridge закрывает слушатели и очищает ресурсы.

Что доступно MiniApp

  • Профиль пользователя (имя, аватар, email, роль, язык)
  • Объект школы
  • Текущая тема (light / dark)
  • Платформа (web / native) и устройство (isDesktop / isMobile)
  • Навигация внутри основного приложения
  • Показ snackbar-уведомлений
  • Управление видимостью tabbar / header
  • Закрытие мини-приложения
  • Смена темы, пользователя, школы, конфига
  • Изменение маршрута хоста
  • Изменение видимости iframe

Что дальше

Клиент ExodeMiniApp

Ванильный JS-клиент: init, route, ui, события.

Контекст и типы

Структура MiniAppContext, типы событий и команд.

React-хуки

Provider и реактивные хуки для React-приложений.

Init Data

Подписанные данные пользователя и их проверка на вашем сервере.

Telegram Mini App

Автоавторизация через параметр ___uat.

Обновлено: 2026-09-25 13:43 UTC