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

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

回答

收藏

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

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

本帖最后由 riyad 于 2025-2-22 20:47 编辑
- r4 @- N7 k8 ?6 K: b
0 O+ ?" E, O' a初始化

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

  1. import { initBiometryManager } from '@telegram-apps/sdk';
    8 ?' m, E( R2 O

  2. % D1 C  Z1 r& V% @
  3. const [biometryManager] = initBiometryManager();
复制代码

INFO

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

认证

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

  1. bm7 v" E( K7 F. y# P, `! @, ?
  2.   .authenticate({ reason: 'Authorize to unlock the storage' })
      u( g1 q$ @* ~; v2 W
  3.   .then(token => {% w+ T, s' h8 G- B* ?5 n7 c
  4.     console.log('Token received', token);$ K/ j2 F& @: O$ b' T
  5.   });
复制代码

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

, U8 l4 Q2 ?' `( l  F( |
打开设置

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

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

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


: Q! |' l) k) A  z, b+ i4 U申请访问

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

  1. bm* c' E# T0 K$ v! a) I
  2.   .requestAccess({ reason: 'Authorize to start using biometry' })
    " q% @0 D+ C4 D+ q. Q# N- G: J
  3.   .then(accessGranted => {
    , h" S. O7 P: W2 K/ e7 v
  4.     console.log('Access granted', accessGranted);9 w0 ~& l$ V. w4 t+ b( L
  5.   });
复制代码
除了 authenticate 方法外,它还接受一个可选的 reason: string 属性,长度为 ,最多 128 个符号。4 f* g. w+ Y/ |1 S
更新生物测量令牌 - Biometry Token

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

2 g7 B/ L7 C1 t* u" H
  1. bm
    : G& k) B* a0 x6 j2 O% t
  2.   .updateToken({ token: 'My token' })
    ( ~; I& X, e% D! f1 P# d
  3.   .then(status => {8 [) J* s& R4 Q/ s+ c
  4.     console.log('Token updated', status);
    / e) x! i# u" U2 g8 j/ `5 h# p
  5.   });
复制代码

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


! \* z2 @0 ~  I% s事件

可被跟踪 的事件列表:


, o- y. `4 T" y( Q
事件
监听函数
触发条件
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。


5 ]( e  j; }( x2 r) i) W# P: g! S+ T; M: n7 x$ ~
4 F) t2 d% Z% |: y7 I
9 O5 T/ t- v! a' N( y" L. ?
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则