迷你应用程序 💠组件 负责管理 Telegram 迷你应用程序内的功能。 安装在使用该组件之前,必须使用 mount 方法安装该组件,该方法会更新 isMounted 信号属性。 Variable : - import { miniApp } from '@telegram-apps/sdk';
O3 g/ F+ Y/ K" p. }- M% W - : E' `/ f9 x6 c$ Z6 B
- miniApp.mount();1 `. W' |& Q2 i% c7 s
- miniApp.isMounted(); // true
复制代码Functions : - import { mountMiniApp, isMiniAppMounted } from '@telegram-apps/sdk';7 _! u% I3 B- o. N6 X: q2 s; n
. P, X, { U5 g9 S- mountMiniApp();
. s# J2 g& F& }7 _* h; _ - isMiniAppMounted(); // true
复制代码INFO mount方法还会挂载 Theme Params作用域,以提取正确的 配置值。
- T$ `- Y% T" l2 d% a4 m6 g/ m7 M0 B要卸载组件,请使用 unmount 方法: Variable : - miniApp.unmount();% g; s: s: n+ d0 T- r0 a: x c
- miniApp.isMounted(); // false
复制代码 Functions :
) c/ E! `9 W( B" J$ E
* D. i4 n; u3 W! G+ @6 W) o& L- import { unmountMiniApp, isMiniAppMounted } from '@telegram-apps/sdk';4 A' H3 V O( i2 D" W
- 9 i% v6 ?' i3 w# q. s% s! z
- unmountMiniApp();% Y' R+ N5 y" ^
- isMiniAppMounted(); // false
复制代码 绑定 CSS 变量要通过 CSS 变量公开 miniApp 属性,请使用 bindCssVars 方法。 调用该方法后,isCssVarsBound 信号属性会被更新。 此方法可选择接受一个函数,该函数可将 bgColor 和 headerColor 的值转换为 CSS 变量名。 默认情况下,数值会以前缀 --tg- 转换为 kebab 大小写。 Variable : - miniApp.bindCssVars();
4 f9 L% v0 }0 |5 U( S$ o7 S - // Creates CSS variables like:" D. R! I0 O2 [5 w% q
- // --tg-bg-color: #aabbcc
9 _; e: A' X3 m3 Y - // --tg-header-color: #aabbcc) Y$ Q6 F1 W2 L F% M
- . M% [ U/ d J# |* d& g- e+ l) k
- miniApp.bindCssVars(key => `--my-prefix-${key}`);
4 x! {9 G, Q% A. c2 D# F6 K - // Creates CSS variables like:
) j* t, T/ D4 k - // --my-prefix-bgColor: #aabbcc! V/ C. l& Y2 l! v( A/ v
- // --my-prefix-headerColor: #aabbcc
$ R9 `; |2 k' v9 F1 H! ] - ' z- @: h4 y; z& G- C) z3 K
- miniApp.isCssVarsBound(); // true
复制代码Functions : - import { bindMiniAppCssVars, isMiniAppCssVarsBound } from '@telegram-apps/sdk';3 {+ Q% H+ }# h2 Y
. B7 m! x1 l: J# }. R; y, e- bindMiniAppCssVars();& y4 r: i) M% t O" E
- // Creates CSS variables like:- V0 T, N# @' k5 ]
- // --tg-bg-color: #aabbcc
9 T5 q) Q2 |) U# G+ m" K% u - // --tg-header-color: #aabbcc# o8 C( O* d6 L! K* U% W1 u- i( l
1 Q# ^) E% Z: N1 ?; @; w# p. K- bindMiniAppCssVars(key => `--my-prefix-${key}`);
9 W* V7 K+ _8 n; Z - // Creates CSS variables like:
* k4 y6 L9 v2 `* E- R - // --my-prefix-bgColor: #aabbcc
. g! M& N* l3 S, S - // --my-prefix-headerColor: #aabbcc g5 f) P1 r: n
2 ?0 R. i1 V- x9 o/ q k: V- isMiniAppCssVarsBound(); // true
复制代码 页眉颜色要更改迷你应用程序的标题颜色,可使用方法 setHeaderColor。 反过来, 会更新 headerColor 信号属性值。 该方法接受 RGB 颜色值或以下字符串之一:bg_color、secondary_bg_color。 Variable : - if (miniApp.setHeaderColor.isSupported()) {
) D9 }* W% t5 ?6 D i2 R) C( ~ - miniApp.setHeaderColor('bg_color');) G! n+ F9 I+ P; a
- miniApp.headerColor(); // 'bg_color'5 R( ~9 x6 b; ?
- }
/ _' Q' k9 i7 w- F. d% M1 T: I - 8 d8 S! D/ z z6 ?1 b4 Q8 l+ f1 Q ^
- if (
+ t' O+ ]* c$ ]6 Q8 N3 }5 H - miniApp.setHeaderColor.isSupported()9 N6 |+ f" y" B, _& g& j- a |
- && miniApp.setHeaderColor.supports('color')
+ b! I+ C+ |* p7 R+ F9 E - ) {
7 f/ h1 L( P9 Z) L7 G; [+ L* ` - miniApp.setHeaderColor('#aabbcc');
+ I }; z# Q* J9 l. g+ p2 K) _# y - miniApp.headerColor(); // '#aabbcc'
( U0 w3 q" a+ p" L d D0 g! t2 k - }
复制代码Functions : - import {8 R# n1 x, a: h8 S0 h6 v$ B
- setMiniAppHeaderColor,8 r: U# L2 b. t
- miniAppHeaderColor,
% m* c8 S9 q/ s4 T - } from '@telegram-apps/sdk';
r0 ~# d$ D8 R! p* ? J
. I5 @4 B$ a- j5 {$ i4 z# d3 T- if (setMiniAppHeaderColor.isSupported()) {5 `) J1 c3 C5 q; k
- setMiniAppHeaderColor('bg_color');, @. p' P. h3 {2 Q$ Y; m
- miniAppHeaderColor(); // 'bg_color'. F4 Z/ {: A5 m
- }
! ^7 e2 j! {5 G& F+ H" u$ E - - d* A+ T3 G4 M/ t) H: K- l' K
- if (/ V) w( Q4 A: x0 u! F- c- p
- setMiniAppHeaderColor.isSupported()
) q4 Q4 j' C* L. h) d: ~ p' ]/ m+ j - && setMiniAppHeaderColor.supports('color')( a; d' } ]+ s/ H
- ) {2 A# u0 F3 u r3 l2 a2 W
- setMiniAppHeaderColor('#aabbcc');
% H2 n& R/ d( p1 Y. h6 X& s$ p - miniAppHeaderColor(); // '#aabbcc'
$ p3 ^* N5 \* R2 s - }
复制代码 背景颜色要更新迷你应用程序的背景颜色,请使用 setBackgroundColor 方法。 调用 时,该方法会更新 headerColor 信号属性值。 Variable : - if (miniApp.setBackgroundColor.isSupported()) {
$ u$ K9 I) g* |+ K9 ?' L - miniApp.setBackgroundColor('#ffffff');3 N5 a4 N! }% P. [" `
- miniApp.backgroundColor(); // '#ffffff'. a/ D; w0 p. f2 |7 O
- }
复制代码Functions : - import {
. u% P$ H: O7 Q( s - setMiniAppBackgroundColor,
/ @' b0 s9 |) B( C6 a0 e! j. {7 Y. b' i - miniAppBackgroundColor,! |$ h! R k* M" @; @" _
- } from '@telegram-apps/sdk';, B# K* c& z1 r0 s6 g4 | G
0 C! ]- [4 ^9 `- if (setMiniAppBackgroundColor.isSupported()) {
! u( v7 ^' J. e4 P" L6 T- M - setMiniAppBackgroundColor('#ffffff');1 K( t* i+ m$ H$ _% v. T9 f
- miniAppBackgroundColor(); // '#ffffff'" a* a7 c" Z" {$ i) n: X, i& T K
- }
复制代码 方法close要关闭迷你应用程序,请使用 close 方法。 Variable : Functions : - import { closeMiniApp } from '@telegram-apps/sdk';2 }) s- S( }+ ]" c* R
8 x; ^ g$ {2 Q! i6 K# J- closeMiniApp();
复制代码 ready要发出 Mini App 已准备好显示的信号,请使用 ready 方法。 调用后, 加载占位符会被隐藏,而迷你应用程序则会显示出来。 Variable : Functions : - import { miniAppReady } from '@telegram-apps/sdk';
/ l2 _/ u7 b9 r6 ?3 a
1 K/ {: z# o |- miniAppReady();
复制代码TIP 在加载基本界面元素后尽早调用该函数,以确保 顺畅的用户体验。
6 y2 D! N( b3 [1 M |