迷你应用程序 💠组件 负责管理 Telegram 迷你应用程序内的功能。 安装在使用该组件之前,必须使用 mount 方法安装该组件,该方法会更新 isMounted 信号属性。 Variable : - import { miniApp } from '@telegram-apps/sdk';( c7 d" A+ J) [ I }
; m# \% y6 b, ~- miniApp.mount();1 H/ G" ], d) ~, x& T% \
- miniApp.isMounted(); // true
复制代码Functions : - import { mountMiniApp, isMiniAppMounted } from '@telegram-apps/sdk';
& Y+ T5 H/ S. E5 q+ m! y
' K6 v1 z. M" ]& K- mountMiniApp();- ?0 W& R/ q q2 A" e
- isMiniAppMounted(); // true
复制代码INFO mount方法还会挂载 Theme Params作用域,以提取正确的 配置值。
. V9 z0 J3 o4 j! Z% A2 `要卸载组件,请使用 unmount 方法: Variable : - miniApp.unmount();2 b' p% ] x! @; w6 x
- miniApp.isMounted(); // false
复制代码 Functions :
R [8 }' p! }6 A; x5 i4 j- c, U/ _# A5 [4 h8 s7 M
- import { unmountMiniApp, isMiniAppMounted } from '@telegram-apps/sdk';
/ z8 O2 j- {! Q d - $ I* J T+ d0 P; i" c" J5 y
- unmountMiniApp();
& ?8 n* j2 @% I0 F9 h- Q! T - isMiniAppMounted(); // false
复制代码 绑定 CSS 变量要通过 CSS 变量公开 miniApp 属性,请使用 bindCssVars 方法。 调用该方法后,isCssVarsBound 信号属性会被更新。 此方法可选择接受一个函数,该函数可将 bgColor 和 headerColor 的值转换为 CSS 变量名。 默认情况下,数值会以前缀 --tg- 转换为 kebab 大小写。 Variable : - miniApp.bindCssVars();* b. w- L- j! k6 c
- // Creates CSS variables like:
! E5 Q, \+ p' d2 j6 G5 R - // --tg-bg-color: #aabbcc% A3 A+ a% Y% c8 m8 p
- // --tg-header-color: #aabbcc
' W6 ~' A5 l3 C* c/ M% Q8 |" k - ; r6 x: i9 C: z& L* F- c
- miniApp.bindCssVars(key => `--my-prefix-${key}`);6 I ]8 _2 Y* @9 j9 h0 m
- // Creates CSS variables like:
' G7 ~; ^- j! _ - // --my-prefix-bgColor: #aabbcc
6 [, i, h0 Q2 b9 e; Z - // --my-prefix-headerColor: #aabbcc' T, g( b" O' M' P2 I8 \
2 p# {+ U9 Z& Z! B3 f0 d- miniApp.isCssVarsBound(); // true
复制代码Functions : - import { bindMiniAppCssVars, isMiniAppCssVarsBound } from '@telegram-apps/sdk';
9 R O% c/ u' D7 _2 B
! K, N5 N x. ]4 p- bindMiniAppCssVars();
$ I7 X6 {( U! ^5 M- ?# ^" I0 A# w - // Creates CSS variables like:
% ?; C; y& y$ Z( B, k - // --tg-bg-color: #aabbcc
6 o- H' d8 Q k) Q$ N - // --tg-header-color: #aabbcc
( f4 F- P* I2 T$ V/ B - : V8 ?. v( ? M
- bindMiniAppCssVars(key => `--my-prefix-${key}`);
( h6 X* @$ Y; X$ O0 K - // Creates CSS variables like:
/ M/ H& A; V9 I2 v4 W5 @: r* x5 a, ^3 i - // --my-prefix-bgColor: #aabbcc
. s# ]" f$ m; @0 T" a - // --my-prefix-headerColor: #aabbcc
. v* o, m$ k U0 j - : }; x, t8 t2 `# R
- isMiniAppCssVarsBound(); // true
复制代码 页眉颜色要更改迷你应用程序的标题颜色,可使用方法 setHeaderColor。 反过来, 会更新 headerColor 信号属性值。 该方法接受 RGB 颜色值或以下字符串之一:bg_color、secondary_bg_color。 Variable : - if (miniApp.setHeaderColor.isSupported()) {. H' j- X* x: j; K1 X% w# ?: H
- miniApp.setHeaderColor('bg_color');
* e3 P( C; \: Z- ~ - miniApp.headerColor(); // 'bg_color'
; f; z$ }) x+ `- H- P - }9 U) M) T. p# d _0 \* J3 o
- 5 H: T: ?" b/ s
- if (
2 o0 z5 U8 Z& |+ d - miniApp.setHeaderColor.isSupported()" O0 [+ A- f1 s5 V
- && miniApp.setHeaderColor.supports('color')
+ b; U) B! n8 B& m9 @. b" ?9 \ - ) {
' X$ q' [( P4 q - miniApp.setHeaderColor('#aabbcc');
$ t# _" [2 v5 }+ r- k% W - miniApp.headerColor(); // '#aabbcc'- |7 z- G9 I& o
- }
复制代码Functions : - import {
2 S9 \7 v8 [# J! z- I* b5 A. h - setMiniAppHeaderColor,! S1 G4 N5 O- Z+ B: b/ U, T: K
- miniAppHeaderColor,% i' o" j$ w/ K. R
- } from '@telegram-apps/sdk';
' s6 D! Z5 e; Z, \ i0 K
! {, ~) A5 f" Z! D- if (setMiniAppHeaderColor.isSupported()) {7 L3 H7 f, r) }$ B
- setMiniAppHeaderColor('bg_color');
/ H' r# N: n H/ \2 P: t2 m - miniAppHeaderColor(); // 'bg_color'* Z& f5 M! h) j5 v' i+ g' ]9 D
- }
; B M& u4 Z, ?, `% k' k$ d
% e! X5 D' S- o0 s, _. N! u& I- if (5 l) x, d* g& V: Z9 M% X) m
- setMiniAppHeaderColor.isSupported()! E' q: H! P1 ^0 v) A. P$ }
- && setMiniAppHeaderColor.supports('color')* Y+ ^, ^4 Y$ H( e! l! P" e( S' @" g
- ) {% @! p: p( J( Z9 l! G( y
- setMiniAppHeaderColor('#aabbcc');! u1 R, S7 d, ? y! t' f
- miniAppHeaderColor(); // '#aabbcc'
" X2 J2 \ H4 X% c/ o9 U7 { - }
复制代码 背景颜色要更新迷你应用程序的背景颜色,请使用 setBackgroundColor 方法。 调用 时,该方法会更新 headerColor 信号属性值。 Variable : - if (miniApp.setBackgroundColor.isSupported()) {3 i' D4 s+ E( M6 K5 H) _
- miniApp.setBackgroundColor('#ffffff');
+ G5 a0 R M! ?* h9 P - miniApp.backgroundColor(); // '#ffffff'
) C) U# n' x- W5 ] - }
复制代码Functions : - import {
0 R/ g# E/ n& H3 O: [5 T - setMiniAppBackgroundColor,7 s, E& W5 ]. k& M5 T, y2 L
- miniAppBackgroundColor,
, B) |( o: I5 F0 \ - } from '@telegram-apps/sdk';. ?- C& I6 B& d2 e9 N* ~
- 2 _8 F9 P H2 V l+ a
- if (setMiniAppBackgroundColor.isSupported()) {2 e1 |) |- G& {0 a# I% t ]/ k+ Q
- setMiniAppBackgroundColor('#ffffff');
: J7 k9 a+ b. \9 _/ r - miniAppBackgroundColor(); // '#ffffff'6 G |$ M+ u0 r0 c8 Y |
- }
复制代码 方法close要关闭迷你应用程序,请使用 close 方法。 Variable : Functions : - import { closeMiniApp } from '@telegram-apps/sdk';
7 `7 G2 b. p+ [0 f - * w7 a6 t( U* H. B
- closeMiniApp();
复制代码 ready要发出 Mini App 已准备好显示的信号,请使用 ready 方法。 调用后, 加载占位符会被隐藏,而迷你应用程序则会显示出来。 Variable : Functions : - import { miniAppReady } from '@telegram-apps/sdk';& T3 S) g6 N' A/ \- N# m
: Z! m" i8 f: K% @- miniAppReady();
复制代码TIP 在加载基本界面元素后尽早调用该函数,以确保 顺畅的用户体验。
% q' P S- a; B: I4 D# a |