iframe внутри основного приложения Exode. SDK обеспечивает двустороннюю связь между мини-приложением и хостом через postMessage.
Архитектура
Хост-сторона моста реализована внутри основного приложения Exode. Гостевая сторона (то, что подключает разработчик MiniApp) — это и есть
@exode-team/sdk/miniapp.Жизненный цикл
Handshake
MiniApp инициализируется, отправляет хосту свой
appId. Хост валидирует origin и appId, возвращает контекст (пользователь, школа, тема, конфиг).Работа
MiniApp отправляет команды (
navigate, showSnackbar, …). Хост пушит события (theme:changed, user:updated, …).Что доступно MiniApp
Контекст хоста
Контекст хоста
- Профиль пользователя (имя, аватар, email, роль, язык)
- Объект школы
- Текущая тема (
light/dark) - Платформа (
web/native) и устройство (isDesktop/isMobile)
Команды к хосту
Команды к хосту
- Навигация внутри основного приложения
- Показ snackbar-уведомлений
- Управление видимостью tabbar / header
- Закрытие мини-приложения
Реактивные события
Реактивные события
- Смена темы, пользователя, школы, конфига
- Изменение маршрута хоста
- Изменение видимости iframe
Что дальше
Клиент ExodeMiniApp
Ванильный JS-клиент: init, route, ui, события.
Контекст и типы
Структура MiniAppContext, типы событий и команд.
React-хуки
Provider и реактивные хуки для React-приложений.
Telegram Mini App
Автоавторизация через параметр
___uat.