主题参数 本节 SDK 涵盖与 主题参数 相关的主题。 解析要解析作为主题参数的值,软件包提供了 parseThemeParams 方法。 该 方法接受一个 JSON 字符串对象或 JavaScript 对象,返回 ThemeParams 接口。 如果提供的数据无效,则会出错。 Usage Example : - import { parseThemeParams } from '@telegram-apps/sdk';5 o& j9 P1 d" e, o6 y8 |- W* i
- ! B$ T. E4 P; y/ X3 l1 u h
- parseThemeParams({
3 Y) e4 p* o7 N% B - accent_text_color: "#6ab2f2",
& n) r0 `( F: O& u - bg_color: "#17212b",0 C! H7 Y1 J `
- button_color: "#5288c1",
' }+ U3 r/ R, r- T5 c) r8 f - button_text_color: "#ffffff",+ `* _, O2 Q' n) u
- destructive_text_color: "#ec3942",% A* r* [% _4 r J
- header_bg_color: "#17212b",! {( N0 d- p( _9 C/ w; t) @
- hint_color: "#708499",
, v4 @" x( R' A% o9 |% v2 f - link_color: "#6ab3f3",+ C7 i+ |2 q$ e1 Q
- secondary_bg_color: "#232e3c",- r6 ?- }+ A* d+ y s. n
- section_bg_color: "#17212b",& W. \9 S9 |4 J+ m$ T
- section_header_text_color: "#6ab3f3",; g n1 j" D$ u! h; X( M; n+ z. |
- subtitle_text_color: "#708499",
* h/ n! v7 N3 @1 s - text_color: "#f5f5f5"" d$ J6 }0 C# e/ o6 V: I0 E
- });
复制代码Expected Result : - const result = {
$ d8 r% _) _, K* B9 G7 F! a& H: y - accentTextColor: "#6ab2f2",
9 G, ~1 n0 ?0 @( q g5 T: S6 S - bgColor: "#17212b",' ^; }' B# U& A* m- ^5 [
- buttonColor: "#5288c1",
! |2 {, ^* ~6 T - buttonTextColor: "#ffffff",
4 [+ Z. O7 u, r& l; O - destructiveTextColor: "#ec3942",
/ ?0 {8 @ a2 V* b+ M - headerBgColor: "#17212b",
8 \# L0 a4 n8 X+ P' H6 d6 ^ - hintColor: "#708499",$ Y5 C* N8 p3 s' k
- linkColor: "#6ab3f3",6 N$ P1 b! F6 \) p) u3 A! S. d
- secondaryBgColor: "#232e3c",% p0 r! Y" @3 e$ t' P
- sectionBgColor: "#17212b",- O0 Q& k" R) y/ ]
- sectionHeaderTextColor: "#6ab3f3",3 i4 C$ M8 T& j! f" D# W
- subtitleTextColor: "#708499",# {5 {: m6 l$ v) H L
- textColor: "#f5f5f5"1 D4 F& z; q& v- f
- };
复制代码假设每个属性都使用蛇形大小写,它会将其转换为驼峰形大小写。 ) o5 R, k5 k4 p+ N
序列化要将主题参数对象表示转换为字符串,开发人员应使用 的 serializeThemeParams 函数: - import { serializeThemeParams } from '@telegram-apps/sdk';! ^7 F* w4 U2 Z% s. S# W* T( q
- 9 |" w5 v& q- W* K& d
- serializeThemeParams({
( l! {# C u) M0 E - accentTextColor: "#6ab2f2",
+ Z; u1 w' \' d I - bgColor: "#17212b",1 V6 a. z! @1 t# }
- buttonColor: "#5288c1",
7 `- j8 Q3 r2 c - buttonTextColor: "#ffffff",/ L% C# K& d/ I& y
- destructiveTextColor: "#ec3942",
, [6 L7 ]2 n) Q: _ - headerBgColor: "#17212b",
# b' J( [: n" A* A - hintColor: "#708499",
9 N1 M+ i1 {5 { - linkColor: "#6ab3f3",
: ~0 |6 z0 F$ V3 A; T. n - secondaryBgColor: "#232e3c",1 o! t8 Q, S. ~& z8 _
- sectionBgColor: "#17212b",4 S. P( D. G4 r+ Z# p
- sectionHeaderTextColor: "#6ab3f3",) w% s8 d* I) ~3 O" o" A2 S7 B3 m8 S
- subtitleTextColor: "#708499",
. @- Z: W; Y5 Y - textColor: "#f5f5f5"0 T7 [' v+ k& I3 L# ]7 a
- });9 x: j; i, s) w$ ~* n" i* R; E4 o' x
7 G. y8 L- b O& @; T- // Result:9 H& R8 |2 M, `* `! O
- // `{
l4 g2 r5 u5 x5 ~, ?- h6 [ - // "accent_text_color":"#6ab2f2",
3 A+ P/ E* d) L4 j6 p - // "bg_color":"#17212b",
/ Y8 \7 p5 I" Q. Q7 m+ ]3 e - // "button_color":"#5288c1",
7 V: j! w5 D7 R5 k2 g - // "button_text_color":"#ffffff",- u7 N# t- M7 `# w% L4 Q' j% x1 V& b
- // "destructive_text_color":"#ec3942",
$ U- u4 Y6 }, X - // "header_bg_color":"#17212b",9 |2 I; }9 H4 E9 g9 F+ D/ _
- // "hint_color":"#708499",
# z2 r7 N+ m6 X8 ]; j2 Y - // "link_color":"#6ab3f3",
8 n' C [: l; Y+ ^& w - // "secondary_bg_color":"#232e3c",1 a7 ]2 c' }/ N: d5 M. q( c# L
- // "section_bg_color":"#17212b",
- c1 O2 A+ k& D; ? - // "section_header_text_color":"#6ab3f3",
/ X w# j$ R" _ Z, c. y - // "subtitle_text_color":"#708499",3 u- p* q% H% j7 C' a6 | d
- // "text_color":"#f5f5f5": R0 H/ O( x4 F% p4 [) N
- // }`
复制代码 & `, Z8 R% a+ U( E! i
% v: m. M, l6 d% F4 ?& c! J9 s
/ p. k5 Q4 J0 j
|