Карточка с изображениями, заголовком и кнопками.
Предоставляет унифицированный интерфейс для описания контента.
Фактическая адаптация под формат целевой платформы происходит
в адаптере платформы при вызове метода getCards().
Контекст приложения. Обычно не создаётся вручную —
передаётся через контроллер (this.card.addImage('token', 'Title')).
Кнопки элемента карточки. Используются для взаимодействия с пользователем.
Описание элемента карточки. Отображается под заголовком.
Массив с изображениями или элементами карточки. Каждый элемент может содержать изображение, заголовок, описание, а опционально — и кнопки (button в IImageType).
Определяет необходимость отображения только одного элемента карточки. true - отображается только первый элемент false - отображаются все элементы
Использование галереи изображений. true - изображения отображаются в виде галереи false - изображения отображаются как отдельные карточки
Произвольный шаблон для отображения карточки.
Используется для кастомизации отображения на определенных платформах.
Данные отправляются платформе «как есть» без преобразования в её формат:
карточка может не отобразиться на других платформах, ответственность
за корректность формата лежит на разработчике. Для типовых задач
лучше подходят стандартные методы (addImage(), addButton()).
Заголовок элемента карточки. Отображается в верхней части карточки.
Добавляет кнопку в карточку.
Кнопка для добавления (строка или объект)
Добавляет изображение в карточку.
Идентификатор или URL изображения
Заголовок изображения
Optionaldesc: string = ''Описание изображения
Optionalbutton: TButton | null = nullКнопки для элемента
Ограничения на изображения:
// Добавление одного изображения
card.addImage('image.jpg', 'Название', 'Описание');
// Добавление изображения с кнопкой
card.addImage('product.jpg', 'Товар', 'Описание', {
title: 'Купить',
url: 'http://localhost/product',
payload: { action: 'buy', id: 123 }
});
// Добавление нескольких изображений в галерею
card.isUsedGallery = true;
card.addImage('image1.jpg', 'Фото 1')
.addImage('image2.jpg', 'Фото 2')
.addImage('image3.jpg', 'Фото 3');
Добавляет одно изображение в виде карточки. Внутри себя выставляет isOne в true. Если ранее были указаны другие изображения, то они очистятся. Стоит использовать в том случае, если у вас всегда должно отобразиться только 1 изображение.
Идентификатор или URL изображения
Заголовок изображения
Optionaldesc: string = ''Описание изображения
Optionalbutton: TButton | null = nullКнопки для элемента
Очищает все элементы карточки, включая заголовок, описание, шаблон и кнопки карточки, а также сбрасывает флаги isOne и isUsedGallery.
Сбрасывается всё: при переиспользовании контроллера (BotTest,
_setBotController) иначе заголовок, описание и template прошлого
запроса попали бы в новый ответ.
Получает карточку в формате для текущей платформы.
Метод возвращает результат cardProcessing как есть: если процессор
адаптера асинхронный (Telegram, VK, Алиса, Маруся, MAX) — вернётся
Promise и вызов нужно делать с await; синхронные процессоры
(Viber, SmartApp) дополнительного await не требуют.
Функция обработки карточек для платформы
Контроллер бота
Карточка в формате платформы
Устанавливает контекст приложения (обновляет и вложенную коллекцию кнопок).
Контекст приложения
Текущий экземпляр для цепочки вызовов
Card Класс для создания и управления карточками на различных платформах.
Класс предоставляет функциональность для:
Ограничения платформ обрабатываются самими адаптерами