生物统计学 负责 Telegram 迷你应用程序生物测量功能的💠组件。 检查支持要检查当前 Telegram 小应用程序版本是否支持生物测量,请使用 isSupported 方法: Variable : - import { biometry } from '@telegram-apps/sdk';- L* x5 U- H& W f0 K* e
1 y! H* @$ [* I+ a+ O4 H# A$ s9 X( ^4 R- biometry.isSupported(); // boolean
复制代码Functions : - import { isBiometrySupported } from '@telegram-apps/sdk';2 H: e/ P( c9 ~( `3 a- {
- m4 k. \1 Z5 J, u$ U% t8 o4 m
- isBiometrySupported(); // boolean
复制代码 安装在使用组件之前,必须先安装组件。 这个过程是异步的,因为生物测量数据需要向 Telegram 应用程序申请。 在进程中,isMounting 信号将被设置为 true,并在完成后更新为 false。 如果挂载成功,isMounted 信号将设为 true。 如果出现错误,mountError 信号将反映错误。 Variable : - try {
5 H) x8 r; ^& r V1 A% J - const promise = biometry.mount();9 C8 s; F8 c+ ^6 W
- biometry.isMounting(); // true6 j/ j. P" Y+ T A
- await promise;
3 l" x9 U1 l: i3 D4 u' \2 h - biometry.isMounting(); // false& |8 o( K% X0 o- R/ @6 O+ u
- biometry.isMounted(); // true
% g! G( U. J3 M, P% P) ?" P - } catch (err) {
* x% B- J5 c% x1 d+ R - biometry.mountError(); // equals "err"+ r: a8 l7 U( y0 V
- biometry.isMounting(); // false
4 H( }7 R) ] }) l: S- h& U3 b# Y - biometry.isMounted(); // false& r6 t, v \. q# @9 k1 N+ k k
- }
复制代码Functions : - import {
3 @* i/ o% z. `" ] - mountBiometry,+ G/ H; P1 s4 _# P- `, d( w* _# P$ p
- isBiometryMounting,
" x0 x1 y, Z0 w9 [ - isBiometryMounted,
# Z* Q7 i* ~7 I, s' P+ ^+ S! ? - biometryMountError,7 ?& J r! B0 W
- } from '@telegram-apps/sdk';. E' w# `" C% c# Q
) _; F: W8 S6 u9 o3 N9 e- try {
) g4 L7 l0 ?7 x- d. \1 P$ G7 p - const promise = mountBiometry();
* R9 N& e7 {5 [2 `9 o( z" n - isBiometryMounting(); // true3 ^5 L( Z, H* p2 D1 A
- await promise;
I z% F5 g u& N) R - isBiometryMounting(); // false- C# ^, N. |7 R1 |3 q) M) \% H
- isBiometryMounted(); // true
( U8 Y8 C- z4 d# ]: b - } catch (err) {4 N$ J& B# l$ ?) c* Y: P& D$ b! ?
- biometryMountError(); // equals "err"4 W2 E: ^! C4 F2 f+ o; e# ]: ~
- isBiometryMounting(); // false. u2 x( s U h- f( X4 H
- isBiometryMounted(); // false9 E1 e, }; A+ x, W3 M$ F8 D! I* d
- }
复制代码 / }+ d+ Z" b6 ]' F6 P- R
要卸载,请使用 unmount 方法: Variable : - biometry.unmount();' |7 z! v* R4 W/ ^/ s, p
- biometry.isMounted(); // false
复制代码Functions : - import { unmountBiometry, isBiometryMounted } from '@telegram-apps/sdk';# F" V4 j- n4 y- z8 h* {0 X h2 c
- + |' C( u0 j% G7 l! \+ l
- unmountBiometry();
& j# K& c5 D: s - isBiometryMounted(); // false
复制代码 申请生物测量访问要请求生物测量访问,请使用 requestAccess 方法。 它返回一个带有布尔 值的 promise,表示用户是否允许访问。 Variable : - const granted = await biometry.requestAccess(); // boolean
复制代码Functions : - import { requestBiometryAccess } from '@telegram-apps/sdk';
% _; w/ V; I& q! ?! e s, }, D5 L
& u( F: k, W. b' T- n) J- D- const granted = await requestBiometryAccess(); // boolean
复制代码 认证要验证用户身份并检索先前保存的令牌,请使用 authenticate 方法。 它可选择接受一个具有以下属性的对象: - reason?: string: 要向用户显示的身份验证原因。
" R) P. t) v8 x1 N2 w
该方法返回一个包含 status ('failed' 或'authorized')的对象,如果成功, token: string。 Variable : - const { status, token } = await biometry.authenticate({
: D. o9 C4 D; ~' F - reason: 'Please!',
8 H. ]8 t c T. ~& c - });' s: I! ] E0 `- i, f* M
- 0 j+ I5 Y; f! Y/ l
- if (status === 'authorized') {" V' c1 T- f$ f! G7 R$ U
- console.log(`Authorized. Token: ${token}`);
2 Z$ F! h/ m* X+ ? - } else {
0 m0 y3 `. L. u) Z - console.log('Not authorized');* c" `1 A9 W+ s* I* e
- }
复制代码Functions : - import { authenticateBiometry } from '@telegram-apps/sdk';# _$ {7 _3 W" y6 s. I2 a) ]
- . h) T; x5 h7 ^+ h
- const { status, token } = await authenticateBiometry({
; `+ Y$ R0 i. A' W+ U! z - reason: 'Please!',+ h X) {6 H7 y. x9 `- e4 y
- });& t, F& j, p* o5 ^ r
- 8 ?$ l: A4 X+ s& o! b
- if (status === 'authorized') {- d) x9 u( U5 V* Q; t+ a& L) P W- k
- console.log(`Authorized. Token: ${token}`);# j* Z2 c/ G/ F) d
- } else {4 R7 T: t# o' R( n
- console.log('Not authorized');& t7 _0 [$ m( ^5 F( L: [( ^. A
- }
复制代码 更新令牌要更新本地安全存储中存储的令牌,请使用 updateToken 方法。 该方法接受一个带有 reason 和 token 属性的可选对象。 如果 未提供令牌,则会删除现有令牌。 它会返回一个带有布尔值的 promise,表示是否进行了任何更改。 Variable : - const updated = await biometry.updateToken({: `) u2 X, ] u H/ X
- reason: 'Want to delete',
+ m7 Z% t8 ?9 ]# r0 A6 Y - });
4 C0 F. B& P; h. V8 c
6 `$ ~* j' N D, x% X' {- await biometry.updateToken({
0 V# j$ e+ z k - reason: 'Will set a new one',9 ]6 y" H6 Z( O7 i: O! x- K6 }
- token: 'new token',: j/ B5 ] _ M, J; U0 }* ^3 B
- });
复制代码Functions : - import { updateBiometryToken } from '@telegram-apps/sdk';
2 x) q1 z4 f6 h3 h - - Y' \! s/ C T" W& o% ]
- const updated = await updateBiometryToken({* B4 p0 \ \' v Z4 b5 o
- reason: 'Want to delete',
! g& \3 v3 k% \+ E7 q/ }/ e. `# i% d - });2 j# I% Y. \, K3 d) P+ E7 u3 x
5 g* Y% X y4 T6 Q o; v. q5 X/ u& r- await updateBiometryToken({
" d: c8 A9 L( v" l) J4 ^$ W - reason: 'Will set a new one',/ x. u: A6 [3 T
- token: 'new token',
1 ~; q) A: {) H* j* X - });
复制代码 打开设置要打开生物测量相关设置模式,请使用 openSettings 方法。 该方法只能通过 响应用户交互来触发。 Variable : Functions : - import { openBiometrySettings } from '@telegram-apps/sdk';
: y! z9 e8 }2 J - " z% ~) H+ ~; ^, U7 m9 a
- openBiometrySettings();
复制代码
* i. w9 k6 Q2 B. b' Q" X' E+ V! d+ P- R; B0 l
|