迷你应用程序 💠组件 负责管理 Telegram 迷你应用程序内的功能。 安装在使用该组件之前,必须使用 mount 方法安装该组件,该方法会更新 isMounted 信号属性。 Variable : - import { miniApp } from '@telegram-apps/sdk';. i2 @3 y6 _. A% k* V
- " r+ U7 l8 G6 C" [/ B: K
- miniApp.mount();
" K! C, I7 W8 [ - miniApp.isMounted(); // true
复制代码Functions : - import { mountMiniApp, isMiniAppMounted } from '@telegram-apps/sdk'; m! O4 S7 L5 g0 i* h' r; O) o5 T7 z
- 2 P- T+ p, I" [% z6 `4 a7 N6 T
- mountMiniApp(); q8 k# f7 e/ J g0 G; Z
- isMiniAppMounted(); // true
复制代码INFO mount方法还会挂载 Theme Params作用域,以提取正确的 配置值。
. s* Q9 R2 m( B6 j$ }要卸载组件,请使用 unmount 方法: Variable : - miniApp.unmount();: ]* G5 u8 q; i, c) W
- miniApp.isMounted(); // false
复制代码 Functions :' W0 S$ d% k% x( ~
% [8 K j! s7 q+ k
- import { unmountMiniApp, isMiniAppMounted } from '@telegram-apps/sdk';4 n3 b9 R, B; C" }/ ~
/ O3 E1 `8 }$ I4 ~- unmountMiniApp();
5 o, f/ K/ N1 f% b% C# n0 z& T - isMiniAppMounted(); // false
复制代码 绑定 CSS 变量要通过 CSS 变量公开 miniApp 属性,请使用 bindCssVars 方法。 调用该方法后,isCssVarsBound 信号属性会被更新。 此方法可选择接受一个函数,该函数可将 bgColor 和 headerColor 的值转换为 CSS 变量名。 默认情况下,数值会以前缀 --tg- 转换为 kebab 大小写。 Variable : - miniApp.bindCssVars();
9 |% A7 k, G: ^0 c - // Creates CSS variables like:
' Z( A& [. U. k. x - // --tg-bg-color: #aabbcc1 r- `' j3 N3 l- D
- // --tg-header-color: #aabbcc
9 A: V( @& t' y! K% Y8 T
& y" m2 W- n( k: i" @+ N- miniApp.bindCssVars(key => `--my-prefix-${key}`);/ {8 ~6 }! }3 p, b; B
- // Creates CSS variables like:5 ]: o& r2 U9 S- f: k5 d$ w
- // --my-prefix-bgColor: #aabbcc
: G. d% Q/ u4 J: z - // --my-prefix-headerColor: #aabbcc
/ n7 x1 |) K) Y- y" w* d
: p+ {. z" o# z& ^- miniApp.isCssVarsBound(); // true
复制代码Functions : - import { bindMiniAppCssVars, isMiniAppCssVarsBound } from '@telegram-apps/sdk';
4 o' E' s5 j& V3 `% U
# F0 @: g0 s7 w# m: d5 v3 \- bindMiniAppCssVars();' b+ Q* L2 s$ a) T
- // Creates CSS variables like:1 K$ `& v7 Z6 j f2 R* F7 O x* G
- // --tg-bg-color: #aabbcc, Q7 e9 l2 A4 ~: n
- // --tg-header-color: #aabbcc# H" E- o( \ X6 p
- 4 F3 x$ ]7 Q$ e; x
- bindMiniAppCssVars(key => `--my-prefix-${key}`);
, Z T! [1 G9 f K5 p2 V' r/ V M - // Creates CSS variables like:
8 X L6 ^ L4 f/ W - // --my-prefix-bgColor: #aabbcc
" x6 K: q9 }4 B7 J8 \9 v% w2 R - // --my-prefix-headerColor: #aabbcc" M' C) ]6 v/ z0 r/ c _: f. l
- 6 [& n `, u' z X8 y
- isMiniAppCssVarsBound(); // true
复制代码 页眉颜色要更改迷你应用程序的标题颜色,可使用方法 setHeaderColor。 反过来, 会更新 headerColor 信号属性值。 该方法接受 RGB 颜色值或以下字符串之一:bg_color、secondary_bg_color。 Variable : - if (miniApp.setHeaderColor.isSupported()) {
+ L! A) i& q2 p1 G8 a - miniApp.setHeaderColor('bg_color');
$ K: g+ R5 e7 U- d0 u - miniApp.headerColor(); // 'bg_color'9 l( M! D9 q- x7 ]$ Y) Z
- }
1 o/ s* S+ b6 @7 y/ u
0 o/ c! w/ }; ~+ K) N& n- if (
2 O8 ^! M4 F6 s0 e2 _ - miniApp.setHeaderColor.isSupported()
% b3 _' C$ ^" C3 _9 O; h: f - && miniApp.setHeaderColor.supports('color')
1 q1 b7 k4 h% F) D) Z4 O - ) {+ A8 k1 }2 X0 R) o4 w
- miniApp.setHeaderColor('#aabbcc');
# T6 }! [* O" _8 M; ~ - miniApp.headerColor(); // '#aabbcc'
/ Q) |) j7 q( G9 G$ J0 d5 P* P - }
复制代码Functions : - import {0 W! r% C, H& a5 {# `. V7 R4 G: ~
- setMiniAppHeaderColor,0 d# T9 Y D/ Z: n5 X
- miniAppHeaderColor,3 {9 T4 D+ K4 j
- } from '@telegram-apps/sdk';
& I8 w; Z( A# y- X( F/ B; a
# C( P; }" V; C7 a. e% k- if (setMiniAppHeaderColor.isSupported()) {9 K- I5 c' m1 i1 J
- setMiniAppHeaderColor('bg_color');
. Q) ]8 w( m4 O3 v - miniAppHeaderColor(); // 'bg_color'
5 G1 t7 ^6 C( I4 w. q6 H - }
9 P* x6 N1 c# Y9 F6 d2 h - % u9 R. K. ?7 q1 i
- if (! M1 V& u7 L( [6 f8 i5 v$ f
- setMiniAppHeaderColor.isSupported()
2 l- d: P" H0 O+ ]" N$ N - && setMiniAppHeaderColor.supports('color')4 C# U: k b, g% H' e3 r
- ) {5 y. t3 h% A+ D, J3 ~
- setMiniAppHeaderColor('#aabbcc');4 b! L' I4 J6 ?1 x1 S3 r$ G
- miniAppHeaderColor(); // '#aabbcc'
* y$ z% u, t9 i5 @ - }
复制代码 背景颜色要更新迷你应用程序的背景颜色,请使用 setBackgroundColor 方法。 调用 时,该方法会更新 headerColor 信号属性值。 Variable : - if (miniApp.setBackgroundColor.isSupported()) {8 Q' Z$ T; M* k# q' ?/ i3 E+ g3 f
- miniApp.setBackgroundColor('#ffffff');
( ?: `$ ?) r5 b' f, n - miniApp.backgroundColor(); // '#ffffff'
3 ]5 L+ j5 i; }$ f; ` - }
复制代码Functions : - import { % V9 ^$ |* o0 r+ J. E
- setMiniAppBackgroundColor,
0 ]8 U/ ~/ L, K8 h - miniAppBackgroundColor,& [4 I: x- |' }) x! Q6 s* Q
- } from '@telegram-apps/sdk';+ v% O* j0 v, g4 a! Z c
- " q& I" w' ?7 m+ C6 }
- if (setMiniAppBackgroundColor.isSupported()) {$ B! {" _# A3 G4 T
- setMiniAppBackgroundColor('#ffffff');
1 v2 N6 u3 T7 i9 C - miniAppBackgroundColor(); // '#ffffff'0 |2 w" ^* y; q8 M) {. T: k
- }
复制代码 方法close要关闭迷你应用程序,请使用 close 方法。 Variable : Functions : - import { closeMiniApp } from '@telegram-apps/sdk';: y- w+ ~2 g# B4 {( T
3 y+ ]: z; _7 I( M: B6 ^; w6 `* x- closeMiniApp();
复制代码 ready要发出 Mini App 已准备好显示的信号,请使用 ready 方法。 调用后, 加载占位符会被隐藏,而迷你应用程序则会显示出来。 Variable : Functions : - import { miniAppReady } from '@telegram-apps/sdk';
. F+ x y" P; h0 p - 6 t7 d$ r2 a2 Y! u2 ~5 X: ^; H- Z7 r
- miniAppReady();
复制代码TIP 在加载基本界面元素后尽早调用该函数,以确保 顺畅的用户体验。 ] {0 z# ^( }/ A+ t. x( P0 @ K0 U
|