迷你应用程序 💠组件 负责管理 Telegram 迷你应用程序内的功能。 安装在使用该组件之前,必须使用 mount 方法安装该组件,该方法会更新 isMounted 信号属性。 Variable : - import { miniApp } from '@telegram-apps/sdk';
: i; ?; R8 i( D) e
$ ]0 x( {0 D1 r# p3 c7 G! M- miniApp.mount(); n$ ?& `, f9 B& Z1 }! z% _
- miniApp.isMounted(); // true
复制代码Functions : - import { mountMiniApp, isMiniAppMounted } from '@telegram-apps/sdk';
9 ^, s) \3 {* ^; U2 M
* Q' i! J% F4 r1 I; [" h& V7 X- mountMiniApp();
& p" h/ {* D+ S' z( ^ - isMiniAppMounted(); // true
复制代码INFO mount方法还会挂载 Theme Params作用域,以提取正确的 配置值。
* p% O$ A1 {9 m" f/ U. ~要卸载组件,请使用 unmount 方法: Variable : - miniApp.unmount();
, i: m. R. L2 X8 P0 h, X, B - miniApp.isMounted(); // false
复制代码 Functions :
Z* h5 g7 j/ c) p( Q) s o; j' D2 x0 Y1 U! r) w
- import { unmountMiniApp, isMiniAppMounted } from '@telegram-apps/sdk';& }3 C# x1 \2 e. l# u& A
- 3 y/ z! X% G1 B2 S
- unmountMiniApp();
! l. D/ l" k/ P6 f/ s8 p - isMiniAppMounted(); // false
复制代码 绑定 CSS 变量要通过 CSS 变量公开 miniApp 属性,请使用 bindCssVars 方法。 调用该方法后,isCssVarsBound 信号属性会被更新。 此方法可选择接受一个函数,该函数可将 bgColor 和 headerColor 的值转换为 CSS 变量名。 默认情况下,数值会以前缀 --tg- 转换为 kebab 大小写。 Variable : - miniApp.bindCssVars();$ ^1 J t4 I4 N
- // Creates CSS variables like:
7 `- e* x: \! [% n$ u2 |6 e - // --tg-bg-color: #aabbcc
( n4 j! e M( B4 M" s+ k - // --tg-header-color: #aabbcc7 U- {6 F0 ]( d
$ O9 Z6 v- C' I9 u( [& ? D b- miniApp.bindCssVars(key => `--my-prefix-${key}`); J- f) Y+ q* r* d N5 N. Y
- // Creates CSS variables like:
* S6 w T' s# y4 B - // --my-prefix-bgColor: #aabbcc _5 g- x/ n( |% s5 @' p
- // --my-prefix-headerColor: #aabbcc) d0 i8 Q" P8 R# C* g
( y! i- h; s7 c) T2 m2 k- miniApp.isCssVarsBound(); // true
复制代码Functions : - import { bindMiniAppCssVars, isMiniAppCssVarsBound } from '@telegram-apps/sdk';( b& W( ?9 }; r
2 s7 ^4 y* u3 G: O8 R- bindMiniAppCssVars();) w4 I; B6 x8 `5 N! T* a
- // Creates CSS variables like:% ^3 o! H5 h1 ] K
- // --tg-bg-color: #aabbcc9 ^6 t% |$ e# ]
- // --tg-header-color: #aabbcc) t' {/ Q. ]5 P9 c' J/ f m* o9 K
/ X. c1 v! L$ O- bindMiniAppCssVars(key => `--my-prefix-${key}`);. q- n# W- q. B8 w3 `5 A; ^7 b
- // Creates CSS variables like:4 c( D u5 k8 V- b" D1 [5 n( _! s1 } o
- // --my-prefix-bgColor: #aabbcc9 w" t Z. a$ H0 N/ r( b
- // --my-prefix-headerColor: #aabbcc
+ O9 A6 d6 ?! P - 4 \8 u7 J, J, K) {" ~ S4 ]3 i
- isMiniAppCssVarsBound(); // true
复制代码 页眉颜色要更改迷你应用程序的标题颜色,可使用方法 setHeaderColor。 反过来, 会更新 headerColor 信号属性值。 该方法接受 RGB 颜色值或以下字符串之一:bg_color、secondary_bg_color。 Variable : - if (miniApp.setHeaderColor.isSupported()) {
7 L4 `: X$ F5 [! [: O - miniApp.setHeaderColor('bg_color');
2 b4 X& k+ M4 F5 \; q - miniApp.headerColor(); // 'bg_color'1 ?( Z8 |# N2 {3 R8 r$ t
- }' M) S+ i+ |- P! s, B0 M h# L
) l5 g* i; z- \8 M- if (/ z {, Y. Q! X+ O N' l& p' l
- miniApp.setHeaderColor.isSupported()
2 X: |' y* \5 E - && miniApp.setHeaderColor.supports('color')( g& i3 N/ N- H. P* {! |8 y
- ) {) G$ }% U5 `: s' w! b
- miniApp.setHeaderColor('#aabbcc');
& P, M, r8 R+ R% L. G( { - miniApp.headerColor(); // '#aabbcc'6 N: c2 ? c) Z X* Q
- }
复制代码Functions : - import {9 J/ X/ v& y: e) C
- setMiniAppHeaderColor,5 ^3 D# y. v6 I( `* I1 r
- miniAppHeaderColor,/ }/ [! W* v5 e* H; T
- } from '@telegram-apps/sdk';+ k( ]+ A' N# o$ s x% `
, b2 l6 e5 Y3 u/ v; U8 N& n0 ^- if (setMiniAppHeaderColor.isSupported()) {, ~$ ~8 C8 b( e( l7 ~$ T: G
- setMiniAppHeaderColor('bg_color');
1 J; {# l3 D* G; R4 o/ o% ? - miniAppHeaderColor(); // 'bg_color'! v5 S8 |# w$ [; i t. I9 A4 V
- }: k9 n8 ~. Z) v* z% v
2 C t. q4 C/ X3 Q- if (4 i6 T B( e" @3 `3 e: I. g# ?+ u
- setMiniAppHeaderColor.isSupported()# o; \; l3 d/ ?& X0 ]
- && setMiniAppHeaderColor.supports('color')
$ p* Z% a5 L2 a2 v - ) {
0 P& s9 u' e% I" K - setMiniAppHeaderColor('#aabbcc');2 @9 g8 U, A9 p1 _6 c @* m K8 i
- miniAppHeaderColor(); // '#aabbcc'
; z+ o7 j7 `: Q- q2 n - }
复制代码 背景颜色要更新迷你应用程序的背景颜色,请使用 setBackgroundColor 方法。 调用 时,该方法会更新 headerColor 信号属性值。 Variable : - if (miniApp.setBackgroundColor.isSupported()) {3 i& c; C6 ~# w% n
- miniApp.setBackgroundColor('#ffffff');' V5 h6 Y5 l/ w- ~# U" k+ k# y
- miniApp.backgroundColor(); // '#ffffff'2 x3 u1 H2 ?4 V" ?% {
- }
复制代码Functions : - import {
7 J5 z5 j. J1 \+ k# I! B - setMiniAppBackgroundColor,
. h. W+ q, b7 f1 M3 x# o - miniAppBackgroundColor,
. M4 [( v! B" _0 d' \ - } from '@telegram-apps/sdk';
9 T9 r1 i3 ?( n( l1 J
8 A& e- H2 C v/ V' v2 B5 ^6 Y- if (setMiniAppBackgroundColor.isSupported()) {
) Z) [6 H- ?9 {/ a - setMiniAppBackgroundColor('#ffffff');; l8 J& _6 b3 h. i
- miniAppBackgroundColor(); // '#ffffff'5 |, Y' @; [1 V4 j8 ~; I& m+ S
- }
复制代码 方法close要关闭迷你应用程序,请使用 close 方法。 Variable : Functions : - import { closeMiniApp } from '@telegram-apps/sdk';
$ f( g" h( m/ f+ B& h# o& U
# h- b5 S( }( w& z- closeMiniApp();
复制代码 ready要发出 Mini App 已准备好显示的信号,请使用 ready 方法。 调用后, 加载占位符会被隐藏,而迷你应用程序则会显示出来。 Variable : Functions : - import { miniAppReady } from '@telegram-apps/sdk';
) j3 Z8 U( @, g0 J" M s0 \; D - , y; e! } i! p+ D F. ]
- miniAppReady();
复制代码TIP 在加载基本界面元素后尽早调用该函数,以确保 顺畅的用户体验。 0 C9 R; ?! f+ h. T& L' f9 x
|