MiniAppContext
Полный контекст, который хост передаёт MiniApp при handshake. Возвращается изapp.init() и доступен через app.getContext().
MiniAppUser
Внутренний идентификатор пользователя в Exode.
Публичный UUID пользователя.
Имя пользователя.
Фамилия пользователя.
Аватар в трёх размерах:
small, medium, maximum.Email пользователя.
Телефон пользователя.
Роль:
Student, Tutor, Parent и др.Язык интерфейса:
en, ru, uz, qa.MiniAppTheme
MiniAppConfig
Platform
native означает, что Exode запущен внутри нативной оболочки (например, iOS/Android-приложение). В остальных случаях web.school
Полеschool — открытый объект Record<string, unknown> со всеми данными школы (название, домен, конфиг и т. п.). Структура зависит от конкретной школы; уточняйте нужные поля у хост-приложения.
События хоста (MiniAppEventMap)
Отправляются хостом при изменении данных. MiniApp подписывается черезapp.on(event, handler).
| Событие | Payload | Когда срабатывает |
|---|---|---|
theme:changed | MiniAppTheme | Пользователь переключил тему |
user:updated | MiniAppUser | Изменился профиль или сменился аккаунт |
school:updated | Record<string, unknown> | Изменились данные школы |
config:updated | MiniAppConfig | Смена размера окна, языка |
route:changed | { path, params } | Хост изменил маршрут |
context:updated | Partial<MiniAppContext> | Любое частичное обновление контекста |
visibility:changed | { visible: boolean } | Iframe стал видимым/невидимым |
Команды MiniApp → хост (MiniAppCommandMap)
Вызываются через namespacesapp.route и app.ui.
| Команда | Payload | Метод SDK |
|---|---|---|
navigate | { path, params? } | app.route.navigate() |
navigate:back | — | app.route.back() |
showSnackbar | { message, type? } | app.ui.showSnackbar() |
setTabbarVisible | { visible } | app.ui.setTabbarVisible() |
setHeaderVisible | { visible } | app.ui.setHeaderVisible() |
close | — | app.ui.close() |
BridgeMessage
Низкоуровневый формат сообщенийpostMessage. Обычно разработчику не нужен, но полезен при отладке.