生物统计学 负责 Telegram 迷你应用程序生物测量功能的💠组件。 检查支持要检查当前 Telegram 小应用程序版本是否支持生物测量,请使用 isSupported 方法: Variable : - import { biometry } from '@telegram-apps/sdk';
& t) `+ O. I; R# x+ b% G - 5 p2 C( `$ b6 a* J( G& B& q0 K
- biometry.isSupported(); // boolean
复制代码Functions : - import { isBiometrySupported } from '@telegram-apps/sdk';/ k2 T" F" P. W m
- n" Q7 Y, P1 \: m
- isBiometrySupported(); // boolean
复制代码 安装在使用组件之前,必须先安装组件。 这个过程是异步的,因为生物测量数据需要向 Telegram 应用程序申请。 在进程中,isMounting 信号将被设置为 true,并在完成后更新为 false。 如果挂载成功,isMounted 信号将设为 true。 如果出现错误,mountError 信号将反映错误。 Variable : - try {2 J9 x( q) }) Q3 l# R
- const promise = biometry.mount();8 y) {# C( t4 p4 Z: {$ }$ f
- biometry.isMounting(); // true6 \: y$ a( l. c& b6 D8 o
- await promise;/ E1 b% T& Y/ m4 ]
- biometry.isMounting(); // false( X$ u c4 v1 Q& V4 g
- biometry.isMounted(); // true5 @8 ` j/ t8 x
- } catch (err) {# \/ A( ?& }5 z" K8 x6 B) i
- biometry.mountError(); // equals "err"
: a8 I" F4 z$ O) J- n: x* L! `5 Z - biometry.isMounting(); // false& I& i% N6 J& Q
- biometry.isMounted(); // false4 h) p' j* |8 g8 }& v; b: v
- }
复制代码Functions : - import {4 U7 r2 n7 u2 u5 j1 w
- mountBiometry,
" p" m; J4 m# i { - isBiometryMounting,; e9 X% n9 N `* N0 `" w
- isBiometryMounted,
$ g; V% r+ s I - biometryMountError,# B4 ^0 _1 U: k4 i3 ]: F
- } from '@telegram-apps/sdk';3 F( w; \3 ]" w2 \, t
- : c, m( _5 N9 [4 O/ M0 h6 U
- try {
" Y) q0 A% q* o( M4 l) | - const promise = mountBiometry();
; Z1 E X3 f h - isBiometryMounting(); // true
; P! q& `% l, w - await promise;
: T$ m3 Q* y4 M1 M: T - isBiometryMounting(); // false
+ U% V; m% D/ S' J; ` - isBiometryMounted(); // true9 O# J- U8 @0 \, [$ R% F
- } catch (err) { ~1 r/ P1 d5 ^
- biometryMountError(); // equals "err". ^; Q7 n4 i: {. g2 n- u
- isBiometryMounting(); // false$ p/ K0 m: @- K# F% `
- isBiometryMounted(); // false Y0 O; [" H; }. Y' q! m! _' F$ }/ x
- }
复制代码 4 q( j; _' K- T: |; e
要卸载,请使用 unmount 方法: Variable : - biometry.unmount();) a- a5 P5 I: m3 a
- biometry.isMounted(); // false
复制代码Functions : - import { unmountBiometry, isBiometryMounted } from '@telegram-apps/sdk';8 X- a* ^) K% o1 E" L' D% f
8 w# r& g0 N" M- a/ m* g+ o! }- unmountBiometry();, E" b5 ?$ B F
- isBiometryMounted(); // false
复制代码 申请生物测量访问要请求生物测量访问,请使用 requestAccess 方法。 它返回一个带有布尔 值的 promise,表示用户是否允许访问。 Variable : - const granted = await biometry.requestAccess(); // boolean
复制代码Functions : - import { requestBiometryAccess } from '@telegram-apps/sdk';; O& E4 a# \4 Y
- $ p: `/ z6 g' c! B
- const granted = await requestBiometryAccess(); // boolean
复制代码 认证要验证用户身份并检索先前保存的令牌,请使用 authenticate 方法。 它可选择接受一个具有以下属性的对象: - reason?: string: 要向用户显示的身份验证原因。$ Q H8 G z1 p! v
该方法返回一个包含 status ('failed' 或'authorized')的对象,如果成功, token: string。 Variable : - const { status, token } = await biometry.authenticate({' ]0 R h* M+ Z+ ^! S+ W
- reason: 'Please!',
+ `3 X! I3 W% e& e! G1 S$ f - });( F6 |0 B# V( X8 v, s" m. O* t7 A
- ; q) U6 H! T6 {( l% I
- if (status === 'authorized') {* G, F. x* p/ m1 i$ k- r+ ` @$ d
- console.log(`Authorized. Token: ${token}`);
f, s' [2 A3 e: R8 [. A/ w. A - } else {
& \* c; T% d8 q0 P - console.log('Not authorized');
2 T; s! S$ G( q0 g$ f+ q - }
复制代码Functions : - import { authenticateBiometry } from '@telegram-apps/sdk';
) t7 I- ?4 M9 G/ r
1 B* M9 b0 T$ P( |+ {& l$ i$ Y- const { status, token } = await authenticateBiometry({+ i6 \5 K1 W' }7 U/ a E
- reason: 'Please!',9 U, }: S8 z8 g5 K. `( }% V" }$ r
- });
+ O; E$ s4 _/ t' T3 T. [4 [/ q
: s Y. _6 `2 I7 k- if (status === 'authorized') {
7 ^8 m& q% M2 ~2 L - console.log(`Authorized. Token: ${token}`);/ T7 Q5 {. T; S* \- e4 {6 J
- } else {$ e0 m5 k+ j! L3 ]# O1 Z1 p
- console.log('Not authorized');
% X3 O$ H0 _, @, |3 G6 J* H# E - }
复制代码 更新令牌要更新本地安全存储中存储的令牌,请使用 updateToken 方法。 该方法接受一个带有 reason 和 token 属性的可选对象。 如果 未提供令牌,则会删除现有令牌。 它会返回一个带有布尔值的 promise,表示是否进行了任何更改。 Variable : - const updated = await biometry.updateToken({
# @/ b& s; Z7 `8 h7 c# K" C - reason: 'Want to delete',5 |: }, o7 Q/ }' b7 e& ~, V
- });
1 H0 e- E9 H' [; F7 c
- H: ?$ N: \6 {* m H2 F3 T# T u- await biometry.updateToken({
( r" s' o+ R" c5 g' a% Y+ p: D - reason: 'Will set a new one',% s/ h6 b0 ~' K3 c
- token: 'new token',
* ^8 ^+ F3 V8 ` - });
复制代码Functions : - import { updateBiometryToken } from '@telegram-apps/sdk';
9 C5 P1 f$ G: z5 q: _
- U# f U4 j4 h% E* g3 o- const updated = await updateBiometryToken({6 N' r) @& M# o, X; ^8 m
- reason: 'Want to delete',/ ^; k2 o. x; k7 i+ _; L
- });
& O( ~& [/ ^% k% j' I o& | - j4 _3 ?/ _# X' b
- await updateBiometryToken({
7 W) y1 l5 X9 h6 F% z% d# I8 ` - reason: 'Will set a new one',+ ^; @9 z( l& r! O5 r9 A8 S9 u
- token: 'new token',
! p+ l1 X& R$ j2 N - });
复制代码 打开设置要打开生物测量相关设置模式,请使用 openSettings 方法。 该方法只能通过 响应用户交互来触发。 Variable : Functions : - import { openBiometrySettings } from '@telegram-apps/sdk';" E& z; B' [0 v) A8 p+ t+ `
1 x5 S8 T# q0 C$ B# {- openBiometrySettings();
复制代码
( }4 g* H6 l5 \, Z; p/ ^) n3 V. e2 c. Z8 M0 f
|