mirror of
https://github.com/chillpadclub/bedolaga-cabinet.git
synced 2026-07-30 10:27:49 +00:00
feat(gift): QR подарка и сканирование в кабинете
Получателю раньше оставалось только скопировать ссылку или код руками. - QR на экране готового подарка: кодируется bot-ссылка (активация в боте — основной путь), при отсутствии username бота — ссылка кабинета. Использован уже имеющийся qrcode.react, на белой подложке ради контраста в тёмной теме. - Кнопка «Отсканировать QR» в форме активации. В Telegram используется НАТИВНЫЙ сканер (в WebView камера через getUserMedia работает ненадёжно — ровно то, из-за чего скан «в тг» и был проблемой), в вебе — html5-qrcode с CDN, с фолбэком на фронтальную камеру и понятной ошибкой, если камеры нет. - src/utils/qrScanner.ts: логика сканера вынесена из TvQuickConnect, чтобы её мог переиспользовать любой экран. parseGiftCode понимает все три способа распространения подарка (deep-link бота, ссылка кабинета, голый код с префиксом GIFT- и без) и ОТКЛОНЯЕТ посторонние QR — иначе сканер подставил бы в поле мусор с любой ссылки или Wi-Fi-кода. - Веб-сканер гасится при уходе с вкладки и размонтировании, иначе индикатор камеры остаётся гореть. Локали ru/en/zh/fa, +4 теста на парсер.
This commit is contained in:
@@ -5011,7 +5011,15 @@
|
||||
"tabActivate": "激活",
|
||||
"tabBuy": "购买",
|
||||
"tabMyGifts": "我的礼物",
|
||||
"unlimitedTraffic": "无限流量"
|
||||
"unlimitedTraffic": "无限流量",
|
||||
"qrHint": "扫描以激活礼物",
|
||||
"scanButton": "📷 扫描二维码",
|
||||
"scanInProgress": "扫描中…",
|
||||
"scanCancel": "停止扫描",
|
||||
"scanDescription": "将摄像头对准礼物二维码",
|
||||
"scanNotRecognized": "该二维码中没有礼物码",
|
||||
"scanError": "扫描失败",
|
||||
"scanNoCamera": "摄像头不可用 — 请手动输入代码"
|
||||
},
|
||||
"news": {
|
||||
"title": "新闻与更新",
|
||||
|
||||
Reference in New Issue
Block a user