Добавить в корзинуПозвонить
Найти в Дзене

Создание Telegram Mini App на Nuxt 3. Разработка мини-приложения Telegram

В этой статье пошагово изложен весь процесс создания Telegram Mini App (сокр. TMA) с использованием Nuxt 3, пакета vue-tg и тестовой среды Telegram от установки проекта до деплоя готового приложения, демонстрирующего функциональные возможности TMA в связке с Nuxt 3 на serverless платформу Vercel. В конце данной статьи приложено подробное видео-руководство по созданию TMA на Nuxt 3 — советую также ознакомиться. Telegram Mini Apps — это веб-приложения, интегрированные в Telegram, которые предоставляют пользователям дополнительные функции прямо внутри мессенджера. С помощью Nuxt 3 можно создать мощные и гибкие мини-приложения. В данном руководстве мы не будем использовать реверс-прокси серверы (напр. такие как Ngrok), зато обучимся входить и настраивать тестовую среду в Telegram, благодаря этому нам удастся использовать даже localhost в качестве адреса нашего TMA. Подробное описание как войти и настроить тестовую среду Telegram доступно в нашей статье по этой ссылке. Советую изучить данну
Оглавление

Разработка мини приложения по заказу пиццы для Telegram на Nuxt 3

В этой статье пошагово изложен весь процесс создания Telegram Mini App (сокр. TMA) с использованием Nuxt 3, пакета vue-tg и тестовой среды Telegram от установки проекта до деплоя готового приложения, демонстрирующего функциональные возможности TMA в связке с Nuxt 3 на serverless платформу Vercel. В конце данной статьи приложено подробное видео-руководство по созданию TMA на Nuxt 3 — советую также ознакомиться.

Мы разработаем демонстрационное мини-приложение для Telegram по заказу пиццы!

  • Создадим простой фронт на tailwind.
  • Поработаем с cloudStorage.
  • Получим контактные и гео-данные клиента.
  • Верифицируем заказ с помощью биометрии (Face ID или Fingerprint).
  • Научимся вызывать popup, сonfirm и оставим заявку на пиццу!
  • Валидируем и обработаем запрос на сервере.
  • Получим обратное уведомление от бота о начале готовки и сроках доставки.
  • При получении заказа отсканируем QR-код для оплаты через TMA.

Telegram Mini Apps — это веб-приложения, интегрированные в Telegram, которые предоставляют пользователям дополнительные функции прямо внутри мессенджера. С помощью Nuxt 3 можно создать мощные и гибкие мини-приложения.

Шаг 1: Установка и подготовка проекта Nuxt 3

  1. Установка Nuxt 3:
    Создайте новый проект Nuxt 3, следуя официальной
    документации:npx nuxi init telegram-mini-app
    cd telegram-mini-app
    npm install
  2. Установка пакета vue-tg:
    Пакет содержит необходимые компоненты и скрипты для работы с Telegram Mini App, запустите команду в корне проекта:npm i vue-tg
  3. Подключение скрипта Telegram Web App:
    Чтобы подключить мини-приложение к клиенту Telegram, поместите скрипт telegram-web-app.js в объект app.head.script (если у вас нет такого объекта, необходимо его создать) файла nuxt.config.ts:
  4. Запуск проекта:
    Убедитесь, что проект работает, запустив команду:npm run dev
    Таким образом мы подготовили приложение к дальнейшей интеграции с TMA на стороне Telegram.

Шаг 2: Вход и настройка тестовой среды Telegram

В данном руководстве мы не будем использовать реверс-прокси серверы (напр. такие как Ngrok), зато обучимся входить и настраивать тестовую среду в Telegram, благодаря этому нам удастся использовать даже localhost в качестве адреса нашего TMA.

Подробное описание как войти и настроить тестовую среду Telegram доступно в нашей статье по этой ссылке. Советую изучить данную статью и повторить порядок действий, приведенный в этой статье. Это необходимо, чтобы двигаться дальше. После изучения и повторения действий, необходимо вернуться к данной статье.

Шаг 3: Работа с приложением

Давайте создадим нашу основную и единственную страницу в проекте, внутри которой будем последовательно размещать наши компоненты для визуальной и функциональной демонстрации некоторых возможностей.

  1. Создадим фронт на tailwind
    В данной статье не будет разобран процесс верстки на tailwind, предлагаю сразу же применить заранее подготовленную мной заготовку приложения по заказу пиццы (
    ссылка).
  2. Получение контактных данных и геолокацию
    Воспользуемся функциональной возможностью TMA под названием cloudStorage — объект управляет облачным хранилищем. Каждая TMA может хранить до 1024 элементов на пользователя в облачном хранилище. Мы будем записывать в него всю основную собираемую информацию о добавленных в заказ товарах, контактные данные, локацию и т.д. Подробнее про cloudStorage, его свойства и методы вы можете узнать, прочитав
    эту статью
  3. Работа с cloudStorage
    Воспользуемся функциональной возможностью TMA под названием cloudStorage — объект управляет облачным хранилищем. Каждая TMA может хранить до 1024 элементов на пользователя в облачном хранилище. Мы будем записывать в него всю основную собираемую информацию о добавленных в заказ товарах, контактные данные, локацию и т.д. Подробнее про cloudStorage, его свойства и методы вы можете узнать, прочитав эту статью

Статья находиться в процессе написания и постепенно дополняется новыми разделами… Подпишитесь на обновления, чтобы не пропустить новое!