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

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

回答

收藏

Telegram 小程序 | TypeScript @telegram-apps/sdk @1.x | 组件 | 生物测量管理器

开源社区 开源社区 10337 人阅读 | 0 人回复 | 2025-02-22

本帖最后由 riyad 于 2025-2-22 20:47 编辑 $ U: X- H# |+ |$ ^

& F* w% |- E" K" i5 q# _9 \: f  S/ G初始化

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

  1. import { initBiometryManager } from '@telegram-apps/sdk';" X9 {% }1 t% ^2 H: q1 _7 g

  2. 4 Z3 z' H5 R/ K" r$ d" r* j2 B7 D
  3. const [biometryManager] = initBiometryManager();
复制代码

INFO

由于 BiometryManager 无法同步实例化,因此该函数返回一个承诺,在获取生物测量管理器数据时 。

认证

要验证用户身份,请使用 authenticate 方法:

  1. bm
    6 k7 p/ x" C8 y' Z" Z/ `' U0 n
  2.   .authenticate({ reason: 'Authorize to unlock the storage' })
    ; `2 b. }: E* m; n
  3.   .then(token => {. Z( }8 ^. M7 e+ V' g' `* }' ?
  4.     console.log('Token received', token);
    + m* t6 G1 T, e1 f# {
  5.   });
复制代码

此方法接受一个可选的 reason: string 属性,长度不超过 128 个符号。

5 i$ |) t6 R- U9 a. a0 T
打开设置

要打开包含生物测量设置的模态窗口,请使用 openSettings 方法:

  1. bm.openSettings();
复制代码

在该模式下,用户可以打开或关闭生物测量功能。

. p# u% _" C2 \. B2 W5 K0 O+ |8 ~
申请访问

要申请使用生物测量的权限,请使用 requestAccess 方法:

  1. bm
    3 p- ?" c9 j+ g2 _+ Y
  2.   .requestAccess({ reason: 'Authorize to start using biometry' })
    + s  W0 x! Z2 ~8 U
  3.   .then(accessGranted => {
      O& v. \( h  U; F: l- J# o
  4.     console.log('Access granted', accessGranted);
    9 {% j- C* Y6 O5 D$ [. u
  5.   });
复制代码
除了 authenticate 方法外,它还接受一个可选的 reason: string 属性,长度为 ,最多 128 个符号。9 V9 S  c$ {+ ?8 R; i- X- B  t
更新生物测量令牌 - Biometry Token

要更新存储在安全存储器中的令牌,请使用 updateToken 方法:


2 A' _; Z; W3 |$ q+ d- @
  1. bm
    , b$ B' b8 e) S+ W. T2 K
  2.   .updateToken({ token: 'My token' })
    . C# P  x9 b+ C
  3.   .then(status => {0 |9 F0 O$ O: ]; E/ A
  4.     console.log('Token updated', status);
    ! b3 h5 [+ z! i/ r, a8 J# k
  5.   });
复制代码

此方法返回一个包含执行状态的 promise。

$ j, W! e: D0 v. W, w7 D
事件

可被跟踪 的事件列表:

* S* Y3 h( x: {( B8 Y2 c' W1 {
事件
监听函数
触发条件
change:accessGranted(value: boolean) => void已更改 accessGranted 属性
change:accessRequested(value: boolean) => void更改了 accessRequested 属性
change:available(value: boolean) => void更改了 available 属性
change:deviceId(value: string) => void已更改 deviceId 属性
change:tokenSaved(value: boolean) => void更改了 tokenSaved 属性
change:token(value: string) => void更改了 token 属性
change:biometryType(value: BiometryType) => void更改了 biometryType 属性
方法支持

方法列表,可用于 支持检查:auth、openSettings、requestAccess 和 updateToken。

( a6 j2 U9 q7 u3 K

0 q# o( ]  Z6 l# J4 d+ A. w4 i
5 }5 n2 w6 ^% @! R. [( F1 X( w# o
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则