主题参数 本节 SDK 涵盖与 主题参数 相关的主题。 解析要解析作为主题参数的值,软件包提供了 parseThemeParams 方法。 该 方法接受一个 JSON 字符串对象或 JavaScript 对象,返回 ThemeParams 接口。 如果提供的数据无效,则会出错。 Usage Example : - import { parseThemeParams } from '@telegram-apps/sdk';4 q+ o# I5 B" V) ~& K
- & ]. b8 ~4 `7 `
- parseThemeParams({/ h$ k7 M, p; ?/ A% t6 D- L
- accent_text_color: "#6ab2f2",) l L& Y2 x* X4 l9 U+ O! U
- bg_color: "#17212b",
/ t9 g' f) e" i' W" c! d% v( x% u3 W* H9 D - button_color: "#5288c1",& Z( D- d1 r9 s: e" G7 Q9 _
- button_text_color: "#ffffff",/ ~/ j% V# U# W; S6 D9 _" r8 @
- destructive_text_color: "#ec3942",
/ }' t* ?% z# g3 g S9 @ - header_bg_color: "#17212b",9 P, i- x4 [* W) X& ?
- hint_color: "#708499",
! C% P4 |9 m1 Y0 y$ N - link_color: "#6ab3f3",. k2 R' k" A: x9 p) Q! i
- secondary_bg_color: "#232e3c",
) i8 {" l3 b* r9 S# J - section_bg_color: "#17212b",( u% h6 u6 F; ?2 K0 U: P9 B
- section_header_text_color: "#6ab3f3",' k, D( m) X$ o- g% T1 M5 |
- subtitle_text_color: "#708499",: u% p. U; O) x1 s& O
- text_color: "#f5f5f5") H3 L, r4 d; S$ ] n
- });
复制代码Expected Result : - const result = {
. r+ \3 ?+ Z9 y) p& u& w - accentTextColor: "#6ab2f2",, q+ q1 z" u# y' u0 b4 T
- bgColor: "#17212b",
. m$ X' H3 P" T+ } I! a- Y9 f - buttonColor: "#5288c1",& c! L# ?) a$ r X
- buttonTextColor: "#ffffff",
( ?% ?5 B4 y$ e& a. B5 i: A - destructiveTextColor: "#ec3942",0 |$ q# ^3 I0 U
- headerBgColor: "#17212b",
- ^+ X/ d+ w a4 J, d - hintColor: "#708499",* O* T+ P) Q$ Q3 e
- linkColor: "#6ab3f3",
: H& D9 u' H" r8 C5 n6 L/ } - secondaryBgColor: "#232e3c",
9 l. b, `8 a! L! D4 @5 e - sectionBgColor: "#17212b",
, N8 i- R- m5 C9 h' e' j, Z - sectionHeaderTextColor: "#6ab3f3",
: b: Y4 {2 i7 L5 w, R2 }& J3 C( j - subtitleTextColor: "#708499",- I1 ^% [. |2 s; h( |7 n
- textColor: "#f5f5f5"$ B" `, E- d; p( {3 ~" t* w% a- [
- };
复制代码假设每个属性都使用蛇形大小写,它会将其转换为驼峰形大小写。 3 Z! p' P$ `7 K! m* ]+ R" Z
序列化要将主题参数对象表示转换为字符串,开发人员应使用 的 serializeThemeParams 函数: - import { serializeThemeParams } from '@telegram-apps/sdk';
6 t" i0 n7 |3 d$ x# {. j- T# z' J7 ~ - ) _% I/ b4 b8 M3 W2 h3 `9 h
- serializeThemeParams({
& j) V( f9 v7 y$ e5 q& W* { - accentTextColor: "#6ab2f2",% j3 N- T& i P1 p6 T. P4 | w
- bgColor: "#17212b",3 n2 M5 d6 K6 {! m- G X! A
- buttonColor: "#5288c1",
& T7 u* O4 M& O# S! i! |5 T _ - buttonTextColor: "#ffffff",
7 R0 s3 z9 f2 h- f$ }3 O* N1 {& f# v - destructiveTextColor: "#ec3942",+ L! M& N0 E! n, _6 P& q
- headerBgColor: "#17212b",
" m( z! A9 {$ B; b - hintColor: "#708499",4 V9 x5 i& U. E5 N }
- linkColor: "#6ab3f3",
, l/ Y p( v# o/ Q$ C5 J! w - secondaryBgColor: "#232e3c",
2 q7 {& A+ k& z1 G: z1 K' Z% \( P8 Z - sectionBgColor: "#17212b",
6 ^8 `" v7 [) [ - sectionHeaderTextColor: "#6ab3f3",2 B; w! X( x. c0 j9 a
- subtitleTextColor: "#708499",
$ C# \0 x2 O! l- N! |& z F$ f - textColor: "#f5f5f5"
& W9 D" w- f- { - });& J3 Y& P$ B* M2 x7 l+ g8 n
1 e7 r- W e; Z$ B- // Result:2 j, B8 n1 K" L; w. R& ]+ w% R
- // `{3 M* O5 b" `! G/ q& d5 z) {1 Y4 }6 B4 N5 D
- // "accent_text_color":"#6ab2f2",, B6 y$ @) \! ]! v% o: Y3 ]$ n3 q
- // "bg_color":"#17212b",
2 C" T* o+ J3 u - // "button_color":"#5288c1",- o) H. k5 i d2 O
- // "button_text_color":"#ffffff",: k3 A2 c- y9 J* b+ v& q/ W
- // "destructive_text_color":"#ec3942",
$ y2 c3 _* I- S N$ f* H" E - // "header_bg_color":"#17212b"," N0 R; r( `: v0 `& a; X
- // "hint_color":"#708499",
3 Z' s! s' D8 z - // "link_color":"#6ab3f3",
3 d7 t5 }% |8 x1 h0 V. x - // "secondary_bg_color":"#232e3c",
; c# r2 x5 n3 t N - // "section_bg_color":"#17212b",
+ X% l% j6 R! @+ X - // "section_header_text_color":"#6ab3f3",
% p& t3 O% ~" [# _9 ~3 n - // "subtitle_text_color":"#708499",
: S; Y7 I! F0 [* _/ P+ j7 I/ Q2 e - // "text_color":"#f5f5f5"# R4 W6 _" N3 p+ y
- // }`
复制代码 9 W1 s8 N( Y! j
+ {( i& {- L2 }! Z3 [/ J, b8 L4 F! Q
3 W$ y+ r7 K# x7 u( h! \ |