umbot - v2.2.0
    Preparing search index...

    SmartAppCard Класс для создания и отображения карточек в Сбер SmartApp. Наследуется от TemplateCardTypes и реализует специфичную для Сбер SmartApp логику.

    Основные возможности:

    • Создание карточек с изображениями и текстом
    • Поддержка различных типов ячеек (image_cell_view, text_cell_view, left_right_cell_view)
    • Настройка отступов и стилей текста
    • Добавление кнопок с действиями
    const card = new SmartAppCard();
    card.title = 'Каталог товаров';
    card.images = [
    new Image('product1.jpg', 'Товар 1', 'Описание 1'),
    new Image('product2.jpg', 'Товар 2', 'Описание 2')
    ];
    const result = await card.getCard(false);

    Hierarchy (View Summary)

    Index

    Constructors

    Properties

    _appContext: AppContext

    Контекст приложения.

    button: Buttons

    Кнопки для карточки. Используются для взаимодействия с пользователем.

    Buttons

    this.button.addBtn('Купить');
    this.button.addLink('Подробнее', 'https://example.com');
    images: Image[]

    Массив изображений или элементов для карточки. Каждый элемент может содержать изображение, заголовок, описание и кнопки.

    Image

    this.images = [
    new Image('image1.jpg', 'Заголовок 1', 'Описание 1'),
    new Image('image2.jpg', 'Заголовок 2', 'Описание 2')
    ];
    isUsedGallery: boolean = false

    Флаг использования галереи изображений. true - изображения отображаются в виде галереи false - изображения отображаются как отдельные карточки

    this.isUsedGallery = true; // Включить режим галереи
    
    title: string | null

    Заголовок карточки. Отображается в верхней части карточки.

    this.title = 'Название товара';
    

    Methods

    • Получает элементы для карточки Сбер SmartApp.

      Процесс работы:

      1. Если isOne=true:
        • Создает массив элементов для одной карточки
        • Добавляет изображение, заголовок, описание и кнопку
      2. Иначе:
        • Создает элемент left_right_cell_view
        • Добавляет иконку, заголовок, описание и кнопку

      Parameters

      • image: Image

        Объект с изображением и данными

      • isOne: boolean = false

        Флаг создания элементов для одной карточки

      Returns ISberSmartAppCardItem | ISberSmartAppCardItem[]

      Элементы карточки

      const image = new Image('product.jpg', 'Товар', 'Описание');

      // Получить элементы для одной карточки
      const singleCardItems = SmartAppCard._getCardItem(image, true);
      // singleCardItems = [
      // {
      // type: 'image_cell_view',
      // content: { url: 'product.jpg' }
      // },
      // {
      // type: 'text_cell_view',
      // content: { text: 'Товар', typeface: 'title1' }
      // },
      // {
      // type: 'text_cell_view',
      // content: { text: 'Описание', typeface: 'footnote1' }
      // }
      // ]

      // Получить элемент для списка
      const listCardItem = SmartAppCard._getCardItem(image, false);
      // listCardItem = {
      // type: 'left_right_cell_view',
      // left: {
      // type: 'fast_answer_left_view',
      // label: { text: 'Товар', typeface: 'headline2' },
      // icon_and_value: {
      // value: { text: 'Описание', typeface: 'body3' }
      // }
      // }
      // }
    • Получает карточку для отображения в Сбер SmartApp.

      Процесс работы:

      1. Если isOne=true:
        • Создает карточку типа list_card
        • Добавляет элементы для одного изображения
      2. Иначе:
        • Создает карточку типа list_card
        • Добавляет заголовок (если есть)
        • Добавляет элементы для каждого изображения

      Parameters

      • isOne: boolean

        Флаг отображения только одного элемента

      Returns Promise<ISberSmartAppItem | null>

      Карточка или null

      const card = new SmartAppCard();
      card.title = 'Каталог товаров';
      card.images = [
      new Image('product1.jpg', 'Товар 1', 'Описание 1'),
      new Image('product2.jpg', 'Товар 2', 'Описание 2')
      ];

      // Получить одну карточку
      const singleCard = await card.getCard(true);
      // singleCard = {
      // card: {
      // type: 'list_card',
      // cells: [
      // { type: 'image_cell_view', content: { url: 'product1.jpg' } },
      // { type: 'text_cell_view', content: { text: 'Товар 1' } },
      // { type: 'text_cell_view', content: { text: 'Описание 1' } }
      // ]
      // }
      // }

      // Получить список
      const listCard = await card.getCard(false);
      // listCard = {
      // card: {
      // type: 'list_card',
      // cells: [
      // { type: 'text_cell_view', content: { text: 'Каталог товаров' } },
      // { type: 'left_right_cell_view', left: { ... } },
      // { type: 'left_right_cell_view', left: { ... } }
      // ]
      // }
      // }