迷你应用程序 💠组件 负责管理 Telegram 迷你应用程序内的功能。 安装在使用该组件之前,必须使用 mount 方法安装该组件,该方法会更新 isMounted 信号属性。 Variable : - import { miniApp } from '@telegram-apps/sdk';
: `$ \. G0 T9 w/ s5 T1 C - : v* u+ m" u1 c. w
- miniApp.mount();
Z! v; [& X$ B4 N5 n- Y- e$ X4 { - miniApp.isMounted(); // true
复制代码Functions : - import { mountMiniApp, isMiniAppMounted } from '@telegram-apps/sdk';. m/ [$ t8 N$ C; w8 F9 s" v
- 2 R6 B2 N' q( ?! K9 T& Z
- mountMiniApp();3 [6 ?2 L, b& }" {0 _6 L5 G
- isMiniAppMounted(); // true
复制代码INFO mount方法还会挂载 Theme Params作用域,以提取正确的 配置值。 6 r0 u) ?" l7 X! P7 U
要卸载组件,请使用 unmount 方法: Variable : - miniApp.unmount();
' U! T% I7 Y; s - miniApp.isMounted(); // false
复制代码 Functions :* i! S" Q* P/ t, @. I1 B
4 r0 s( L1 m) x- import { unmountMiniApp, isMiniAppMounted } from '@telegram-apps/sdk';
+ h5 i. O" a7 c& M. V3 q& U
5 `% `+ C: {6 s% X2 Q- unmountMiniApp();
: X2 |. l0 m9 G( ` S( ?- b - isMiniAppMounted(); // false
复制代码 绑定 CSS 变量要通过 CSS 变量公开 miniApp 属性,请使用 bindCssVars 方法。 调用该方法后,isCssVarsBound 信号属性会被更新。 此方法可选择接受一个函数,该函数可将 bgColor 和 headerColor 的值转换为 CSS 变量名。 默认情况下,数值会以前缀 --tg- 转换为 kebab 大小写。 Variable : - miniApp.bindCssVars();% k9 b, U5 x) f
- // Creates CSS variables like:
& ]% G4 f6 f7 Y - // --tg-bg-color: #aabbcc0 W; q L4 d9 G& T( \
- // --tg-header-color: #aabbcc
8 z( W: Q* S8 y/ P# r/ J( Y: G
" B$ @* D- _' d2 E- miniApp.bindCssVars(key => `--my-prefix-${key}`);
* c4 Y, V: \5 T - // Creates CSS variables like:
% o- B; i6 U7 L! S5 M8 }$ D - // --my-prefix-bgColor: #aabbcc" ^! @3 y. ?) B- t; F% T
- // --my-prefix-headerColor: #aabbcc2 Z% ?3 }5 [: f% W3 ?0 J1 a
" C+ p1 q& P( I' H* F3 j- miniApp.isCssVarsBound(); // true
复制代码Functions : - import { bindMiniAppCssVars, isMiniAppCssVarsBound } from '@telegram-apps/sdk';- N, b* \# t8 ]
5 a$ P& A: e/ u6 N' E- bindMiniAppCssVars();3 [: F: B+ R) _; g p" ^
- // Creates CSS variables like:
# u; E& R/ ~& ^4 B+ h( J - // --tg-bg-color: #aabbcc5 z# r+ h( W2 e4 P( G& p
- // --tg-header-color: #aabbcc; k& E/ s& B: w- Z, O
! {- J6 }+ [; m+ I8 p9 p" `5 g- bindMiniAppCssVars(key => `--my-prefix-${key}`);
) y1 @) `( W5 a$ ~1 ? Z - // Creates CSS variables like:4 {! r& V, m8 b9 J# C+ B# {* N
- // --my-prefix-bgColor: #aabbcc
2 J2 X9 T) j& B h! d- P% j7 O - // --my-prefix-headerColor: #aabbcc
- m9 W k: c) ?9 k2 b2 T - * D6 X! |( d2 n' r# }* u* ~5 }
- isMiniAppCssVarsBound(); // true
复制代码 页眉颜色要更改迷你应用程序的标题颜色,可使用方法 setHeaderColor。 反过来, 会更新 headerColor 信号属性值。 该方法接受 RGB 颜色值或以下字符串之一:bg_color、secondary_bg_color。 Variable : - if (miniApp.setHeaderColor.isSupported()) {
1 x6 r5 ^# C n* }6 r' c3 o - miniApp.setHeaderColor('bg_color');
) O9 q q( P7 |# T/ p* M - miniApp.headerColor(); // 'bg_color'2 d# o2 A6 N4 `2 {* M$ M$ k; m
- }% c; i- e4 P) |& Y: ~
- & N3 d% ]4 _8 W5 E
- if (; x$ k; A, v* x. U! z
- miniApp.setHeaderColor.isSupported() J. O' h4 ]/ H4 \% i, o; v
- && miniApp.setHeaderColor.supports('color')
$ j8 @! _# L. x p Z# n - ) {
. G, ?) V: }. Y, N* M* [ - miniApp.setHeaderColor('#aabbcc');. W# o9 A1 c g( O; ~9 f5 d ]
- miniApp.headerColor(); // '#aabbcc'
& |" ?! [% Q7 E% L+ a2 p - }
复制代码Functions : - import {/ V0 X1 v$ I( p) C- n0 `5 u8 E9 n
- setMiniAppHeaderColor,
5 O& E3 `& a& V9 P s9 I - miniAppHeaderColor,) V7 H2 q0 }, N* j
- } from '@telegram-apps/sdk';
; \4 o, y; E! V
4 Z- r, m( B, V% V9 B" v0 _/ J0 x- if (setMiniAppHeaderColor.isSupported()) {% T; Q+ w- ]% F( @- O9 F
- setMiniAppHeaderColor('bg_color');
5 j4 c9 L! c4 M - miniAppHeaderColor(); // 'bg_color'9 k+ V F; E3 E4 v ]( J
- }
: _! W y, ]; @ - 0 r4 @* n3 c2 O& @6 F8 ?
- if (6 n5 m, _5 f# [
- setMiniAppHeaderColor.isSupported()6 Z8 n5 q! ]- M$ p! i
- && setMiniAppHeaderColor.supports('color')
; c Q6 R% m ^ - ) {
9 T$ d: s3 ]5 m( r% J: C - setMiniAppHeaderColor('#aabbcc');% o3 i7 W: H3 y+ A
- miniAppHeaderColor(); // '#aabbcc'$ J4 y# Y+ h6 n0 V! F
- }
复制代码 背景颜色要更新迷你应用程序的背景颜色,请使用 setBackgroundColor 方法。 调用 时,该方法会更新 headerColor 信号属性值。 Variable : - if (miniApp.setBackgroundColor.isSupported()) {* R# I/ p, _9 n" r/ b
- miniApp.setBackgroundColor('#ffffff');' j1 a( q8 q9 O; j, i9 D$ ^4 p
- miniApp.backgroundColor(); // '#ffffff'
+ R9 d6 s$ l7 P( @: b {% }' l - }
复制代码Functions : - import { " D. |* U, Z# H: D
- setMiniAppBackgroundColor,
* }7 }. C& b5 n) _6 W7 q - miniAppBackgroundColor,$ v% L7 A! H8 u+ C! _5 g
- } from '@telegram-apps/sdk';! T; |* ?5 |1 J# b' T
- 3 V) @0 w( _: t7 C! ?7 c
- if (setMiniAppBackgroundColor.isSupported()) {' {& Y* [& D( R. M
- setMiniAppBackgroundColor('#ffffff');% X; n# s3 ~5 v9 R$ P7 |
- miniAppBackgroundColor(); // '#ffffff'
4 [: ^5 e+ S* L" m, l - }
复制代码 方法close要关闭迷你应用程序,请使用 close 方法。 Variable : Functions : - import { closeMiniApp } from '@telegram-apps/sdk';3 r t% m) @% l/ _" I
- " L/ m4 v- I2 ?: {0 y/ d8 Z7 H
- closeMiniApp();
复制代码 ready要发出 Mini App 已准备好显示的信号,请使用 ready 方法。 调用后, 加载占位符会被隐藏,而迷你应用程序则会显示出来。 Variable : Functions : - import { miniAppReady } from '@telegram-apps/sdk';
; p+ e6 [$ F$ e- v* ` - ; T' K. I7 X# o9 X/ e% K
- miniAppReady();
复制代码TIP 在加载基本界面元素后尽早调用该函数,以确保 顺畅的用户体验。
* V% C) R" V; l |