Конструктор класса
Инициализирует экземпляр класса с отключенным режимом карточки
Массив кнопок для отображения
Флаг использования кнопок для карточки
const alisaButton = new AlisaButton();
// Режим обычных кнопок (массив)
alisaButton.isCard = false;
const buttons = alisaButton.getButtons();
// buttons: IAlisaButton[]
// Режим кнопки карточки (один объект)
alisaButton.isCard = true;
const cardButton = alisaButton.getButtons();
// cardButton: IAlisaButtonCard
Protected_Создание кнопки в формате Алисы
Исходная кнопка для преобразования
Формат кнопок:
Обычные кнопки (IAlisaButton):
Кнопка карточки (IAlisaButtonCard):
const button = new Button();
button.initBtn('Тест', 'https://example.com', { action: 'test' });
const alisaButton = new AlisaButton();
// Создание обычной кнопки
const result = alisaButton['_getButton'](button);
// result: {
// title: 'Тест',
// url: 'https://example.com',
// payload: { action: 'test' },
// hide: true // интерактивная кнопка
// }
// Создание кнопки для карточки
alisaButton.isCard = true;
const cardResult = alisaButton['_getButton'](button);
// cardResult: {
// text: 'Тест',
// url: 'https://example.com',
// payload: { action: 'test' }
// }
Получение кнопок в формате Алисы
Формат возвращаемых данных зависит от значения isCard:
const alisaButton = new AlisaButton();
// Получение обычных кнопок (массив)
alisaButton.isCard = false;
alisaButton.buttons = [
// Создание кнопки-ссылки (сайджест)
new Button('Перейти на сайт', 'https://example.com/1'),
// Создание интерактивной кнопки
new Button('Нажми меня', '', { action: 'action1' })
];
const buttons = alisaButton.getButtons();
// buttons: [
// {
// title: 'Перейти на сайт',
// url: 'https://example.com/1',
// hide: false // сайджест-кнопка
// },
// {
// title: 'Нажми меня',
// payload: { action: 'action1' },
// hide: true // интерактивная кнопка
// }
// ]
// Получение кнопки для карточки (один объект)
alisaButton.isCard = true;
alisaButton.buttons = [
new Button('Подробнее', 'https://example.com/details', { action: 'details' })
];
const cardButton = alisaButton.getButtons();
// cardButton: {
// text: 'Подробнее',
// url: 'https://example.com/details',
// payload: { action: 'details' }
// }
AlisaButton Класс для работы с кнопками в навыке Алисы
Предоставляет функциональность для создания и отображения кнопок в интерфейсе Алисы:
Example