QRScanner
提供 QR 扫描仪功能的组件。
初始化
要初始化组件,请使用 initQRScanner 函数:
typescript
import { initQRScanner } from '@telegram-apps/sdk';
const qrScanner = initQRScanner();打开和关闭
要打开 QR 扫描仪,开发人员应使用 open 方法:
typescript
qrScanner.open('Scan QR code').then((content) => {
console.log(content);
// Output: 'some-data=22l&app=93...'
});
console.log(qrScanner.isOpened); // true因此,方法返回一个 Promise,当扫描到某个二维码时,该 Promise 将被解析。 如果扫描仪已关闭,也可能解析为null。
可以传递一个包含可选属性 text 和 capture 的对象,text 用于在二维码扫描器中显示文本,capture 用于确定是否应捕获扫描到的二维码并解析 Promise。
ts
qrScanner.open({
text: 'Scan QR code',
capture({ data }) {
// Capture QRs contanining Telegram user link.
return data.startsWith('https://t.me');
}
}).then((qr) => {
// May be something like 'https://t.me/heyqbnk' or null.
console.log(qr);
});要关闭扫描仪,请使用 close 方法:
typescript
qrScanner.close();
console.log(qrScanner.isOpened); // false事件
可被 跟踪 的事件列表:
| 事件 | 监听器 | 触发条件 |
|---|---|---|
change | () => void | 组件中的某些部分发生了变化 |
change:isOpened | (value: boolean) => void | 更改了 isOpened 属性 |
方法支持
方法列表,可用于 支持检查:open 和 close
