English 简体中文 繁體中文 한국 사람 日本語 Deutsch русский بالعربية TÜRKÇE português คนไทย french

简体中文 繁體中文 English 日本語 Deutsch 한국 사람 بالعربية TÜRKÇE คนไทย Français русский

回答

收藏

Telegram 小程序 | TypeScript @telegram-apps/sdk @1.x | 组件 | 二维码扫码器

开源社区 开源社区 6792 人阅读 | 0 人回复 | 2025-02-23

QRScanner

提供 QR 扫描仪功能的组件。

初始化

要初始化组件,请使用 initQRScanner 函数:

  1. import { initQRScanner } from '@telegram-apps/sdk';
    8 [! J/ }4 l$ q
  2. 5 T5 @$ v9 _1 ]; d4 ~1 l- T6 W1 x
  3. const qrScanner = initQRScanner();
复制代码
打开和关闭

要打开 QR 扫描仪,开发人员应使用 open 方法:

  1. qrScanner.open('Scan QR code').then((content) => {. d  L+ V$ L' p' \7 _) _8 y
  2.   console.log(content);
    ' p, }; L$ m& i( X. {1 V0 b+ J* L
  3.   // Output: 'some-data=22l&app=93...'
    ( v- v4 J0 G0 K+ Z( Q" p1 G; B
  4. });& g0 R. H4 n4 E& Y$ w' S* _
  5. console.log(qrScanner.isOpened); // true
复制代码

因此,该方法会返回一个承诺,一旦扫描到某个 QR ,该承诺就会被解析。 如果扫描仪已关闭,也可能解析为null。

允许传递一个带有可选属性 text 和 capture 的对象,该对象负责 ,以便在 QR 扫描仪中显示文本,并确定是否应捕获扫描的 QR 以及是否应履行承诺 。

  1. qrScanner.open({ % Q6 Q9 P% \$ {$ N$ y, f" e* _
  2.   text: 'Scan QR code',, i% c4 ]  Y0 Z  d: \( O; r' u
  3.   capture({ data }) {
    & z* g7 ]9 {& y
  4.     // Capture QRs contanining Telegram user link.
    $ L% C, i# Z3 @1 K6 Q+ X4 l
  5.     return data.startsWith('https://t.me');
    3 @4 x* H5 ~# U2 D5 a- M4 i& ?" Y" Y
  6.   }
    , H3 a* m5 H/ c; m; N) f
  7. }).then((qr) => {+ F- c: E; b. Z& t  I- B: }
  8.   // May be something like 'https://t.me/heyqbnk' or null.
    6 T3 I& P3 U$ l! s
  9.   console.log(qr);
    ! n: E5 @5 w9 H9 D
  10. });
复制代码

要关闭扫描仪,请使用 close 方法:

0 \$ R2 e& D$ y0 `( I& l! x# t
  1. qrScanner.close();5 |+ _$ w+ B: H& y# @8 O
  2. console.log(qrScanner.isOpened); // false
复制代码
3 r. z8 i. S% g
& K! H+ V- }) P4 ]! K
事件

可被 跟踪 的事件列表:

事件
监听器
触发条件
change() => void组件中的某些部分发生了变化
change:isOpened(value: boolean) => void更改了 isOpened 属性
/ I' ]: A4 O5 d  l/ j' F
方法支持

方法列表,可用于 支持检查:open 和 close


4 i6 r; O4 x0 s& l- A+ m. h0 W
8 Q( ]3 {5 T( P/ V; D+ U6 d
( r3 X% T$ j4 ~6 m% J
; [3 q. i* R- i4 t$ H
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则