Files
smartsoltech_site/QR_CODE_FEATURE_SUMMARY.md
2025-11-24 07:02:33 +09:00

3.7 KiB
Raw Blame History

QR-код механизм для подачи заявок через Telegram бота

Что добавлено:

1. Модальное окно с QR-кодом

  • Файл: smartsoltech/web/templates/web/services_modern.html
  • Что добавлено:
    • Секция QR-кода в модальном окне заявки
    • JavaScript для обработки формы и генерации QR-кода
    • Автоматический сброс формы при закрытии модального окна

2. Backend функциональность

  • Существующий механизм: View generate_qr_code в smartsoltech/web/views.py
  • Что работает:
    • Создание клиента и заявки на услугу
    • Генерация уникального токена для заявки
    • Создание QR-кода с ссылкой на Telegram бота
    • Сохранение QR-кода в папку static/qr_codes/

3. Telegram бот интеграция

  • Файл: smartsoltech/comunication/telegram_bot.py
  • Что работает:
    • Обработка команды /start request_{id}_token_{token}
    • Подтверждение заявки и связывание с chat_id пользователя
    • Создание пользователя Django из данных Telegram
    • Отправка подтверждающего сообщения

🔄 Workflow (Рабочий процесс):

  1. Пользователь заполняет форму в модальном окне на странице услуг
  2. JavaScript отправляет POST запрос на /service/generate_qr_code/{service_id}/
  3. Django создает:
    • Client (клиента)
    • ServiceRequest (заявку на услугу)
    • QR-код с ссылкой на Telegram бота
  4. Модальное окно показывает QR-код и ссылку "Открыть в Telegram"
  5. Пользователь сканирует QR-код или переходит по ссылке
  6. Telegram бот получает команду /start с параметрами заявки
  7. Бот подтверждает заявку, связывает с chat_id и отправляет подтверждение

🧪 Тестирование:

Откройте файл test_qr_functionality.html в браузере для подробных инструкций по тестированию.

Быстрый тест:

  1. Перейдите на http://localhost:8000/services/
  2. Нажмите "Заказать услугу" под любой услугой
  3. Заполните форму и отправьте
  4. Должен появиться QR-код
  5. Перейдите по ссылке в Telegram и нажмите "Start"

📁 Измененные файлы:

  1. smartsoltech/web/templates/web/services_modern.html - добавлен QR-код в модальное окно
  2. Использован существующий механизм в smartsoltech/web/views.py - generate_qr_code
  3. Использован существующий Telegram бот в smartsoltech/comunication/telegram_bot.py

🎯 Результат:

Теперь пользователи могут подавать заявки на услуги через современное модальное окно, которое генерирует QR-код для подтверждения заявки через Telegram бота. Весь процесс автоматизирован и интегрирован с существующей системой.