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

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

回答

收藏

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

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

QRScanner

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

初始化

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

  1. import { initQRScanner } from '@telegram-apps/sdk';
    + J, g# D  {& f9 J1 S- L7 @# a/ ]
  2. # o. _9 a7 M& f* P0 M, M% r7 K' i
  3. const qrScanner = initQRScanner();
复制代码
打开和关闭

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

  1. qrScanner.open('Scan QR code').then((content) => {
    ' B$ A6 H4 I( K, ~* n1 c# w, Z
  2.   console.log(content);
    , c4 N0 p. i- p6 \2 |2 f. S/ U
  3.   // Output: 'some-data=22l&app=93...'; |3 H5 [) |8 c5 F: {
  4. });0 e0 T% l0 `- g1 M/ _7 V7 ~: G9 i
  5. console.log(qrScanner.isOpened); // true
复制代码

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

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

  1. qrScanner.open({ . Z+ R3 r4 Y* N& ^5 t5 b" B' S( i( _
  2.   text: 'Scan QR code',
      d& E, ]& }7 |# ]# Y, S3 U( B
  3.   capture({ data }) {& k* c: J+ c8 J/ Y
  4.     // Capture QRs contanining Telegram user link.9 M- w: b8 y$ w7 m$ z0 ]" Q
  5.     return data.startsWith('https://t.me');) U, |1 A, y2 O( }! f% C
  6.   }+ ~  I% u8 v; B3 N  d9 Q
  7. }).then((qr) => {
    " O8 W8 G7 e  v' Y
  8.   // May be something like 'https://t.me/heyqbnk' or null.
    : r& A5 O# K5 m; R
  9.   console.log(qr);
    7 D5 D: R- M+ ^; c! U7 l
  10. });
复制代码

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

( C1 U4 }  y$ f. s8 {2 l! E
  1. qrScanner.close();
    4 o% H; @3 y  t* U8 a& s9 }; O7 x% X8 U
  2. console.log(qrScanner.isOpened); // false
复制代码
3 r+ x! H, ?0 B% V' r/ {' W

* ~+ d  V  D. Q. y1 V( Y事件

可被 跟踪 的事件列表:

事件
监听器
触发条件
change() => void组件中的某些部分发生了变化
change:isOpened(value: boolean) => void更改了 isOpened 属性
# ^8 w) p! n6 l8 U% [6 q
方法支持

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

/ D+ y$ t/ `0 m4 _

( L5 ^; Q/ T, f" p
% j' H. s' E  d
, M; R/ |% L6 F' A. G8 c# S
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则