English 简体中文 繁體中文 한국 사람 日本語 Deutsch русский بالعربية TÜRKÇE português คนไทย french

简体中文 繁體中文 English 日本語 Deutsch 한국 사람 بالعربية TÜRKÇE คนไทย Français русский

回答

收藏

Telegram 小程序 | TypeScript @telegram-apps/sdk @1.x | 主题参数

开源社区 开源社区 7252 人阅读 | 0 人回复 | 2025-02-23

主题参数

本节 SDK 涵盖与 主题参数 相关的主题。

解析

要解析作为主题参数的值,软件包提供了 parseThemeParams 方法。 该 方法接受一个 JSON 字符串对象或 JavaScript 对象,返回 ThemeParams 接口。 如果提供的数据无效,则会出错。

Usage Example :

  1. import { parseThemeParams } from '@telegram-apps/sdk';2 c9 J1 A- T6 L7 N: j
  2. # g6 O, H9 s* L
  3. parseThemeParams({
    : y6 B8 f& [# n% s7 i5 o' w8 y( P
  4.   accent_text_color: "#6ab2f2",
      q$ k  u1 e  g! v! L/ _* B* y
  5.   bg_color: "#17212b",. V$ _+ m& q' s( `
  6.   button_color: "#5288c1",. o( u6 T6 W) }& j: @
  7.   button_text_color: "#ffffff",* J5 n# R9 D7 g& N
  8.   destructive_text_color: "#ec3942"," C& Q" U1 M$ m  C% p+ T% ~! n
  9.   header_bg_color: "#17212b",: ~- B1 P. I- z3 U
  10.   hint_color: "#708499",
    9 [$ [0 s- X! @1 l( [
  11.   link_color: "#6ab3f3",/ }8 w4 L1 y0 O9 ]) s
  12.   secondary_bg_color: "#232e3c",
    * [$ |) k- t, A$ J( s7 R( v
  13.   section_bg_color: "#17212b",
    8 g, ~, f$ {; f: U% m
  14.   section_header_text_color: "#6ab3f3",9 @5 l. a7 f( ~* B" N- \# J
  15.   subtitle_text_color: "#708499",3 a- G# ~: o6 X  T
  16.   text_color: "#f5f5f5"
    $ s4 P1 _* i; [. q2 a
  17. });
复制代码

Expected Result :

  1. const result = {
    # J/ ~- q$ l* D8 B. O
  2.   accentTextColor: "#6ab2f2",
    9 ?, w8 J# E" G! a9 t  H. r0 z; x6 [5 H
  3.   bgColor: "#17212b",) T' d/ ~' i% F3 z
  4.   buttonColor: "#5288c1",
    2 O- n: h7 G( q! K8 c. d
  5.   buttonTextColor: "#ffffff",$ p+ {' N7 y( ]& S5 g1 E5 i$ x% R1 X" @
  6.   destructiveTextColor: "#ec3942",
    1 y4 `* s0 m: A& [
  7.   headerBgColor: "#17212b",: v0 @  I* E( {
  8.   hintColor: "#708499",3 r8 ~! @! }9 R% Z
  9.   linkColor: "#6ab3f3",! d3 w- r+ S5 M( ~' \
  10.   secondaryBgColor: "#232e3c",# {! l( e1 n% q  V
  11.   sectionBgColor: "#17212b",
      b6 r! J0 C" P/ C1 J# M
  12.   sectionHeaderTextColor: "#6ab3f3",
    ' o$ c5 M1 u4 _0 E/ l2 r+ V3 i
  13.   subtitleTextColor: "#708499",
    ; r4 ]; \. H# i8 \1 s' [
  14.   textColor: "#f5f5f5"0 O' ?; _) M$ P2 H2 S, I
  15. };
复制代码

假设每个属性都使用蛇形大小写,它会将其转换为驼峰形大小写。

; o7 F/ e# x9 V* A8 f8 }* X
序列化

要将主题参数对象表示转换为字符串,开发人员应使用 的 serializeThemeParams 函数:

  1. import { serializeThemeParams } from '@telegram-apps/sdk';; B0 P; i1 q+ N; E

  2. $ @1 c0 c' U" V8 a! a. T
  3. serializeThemeParams({
    2 f2 {; [! l% `; A0 m
  4.   accentTextColor: "#6ab2f2",. a9 M: N6 q8 G3 V
  5.   bgColor: "#17212b",; N" h* |' q8 e4 j: a, l4 |
  6.   buttonColor: "#5288c1",
    , G6 ]2 `4 c' s  w) J, E
  7.   buttonTextColor: "#ffffff",0 F; M- Y* ?/ i
  8.   destructiveTextColor: "#ec3942",  U. c) z' a. y/ Q2 A5 F2 M
  9.   headerBgColor: "#17212b",' ]1 `8 K$ B4 e, h: h/ ]# F" F. ]
  10.   hintColor: "#708499",
    & @( C; m/ }# R, H( B
  11.   linkColor: "#6ab3f3",
    7 P& ^4 f* B# a
  12.   secondaryBgColor: "#232e3c",  T3 v  ]6 |* y. F+ d7 n3 x
  13.   sectionBgColor: "#17212b",
    , l  z, `8 N3 `7 I
  14.   sectionHeaderTextColor: "#6ab3f3",
    ' {, @4 Q# d2 z% H- T% {
  15.   subtitleTextColor: "#708499",* w# T9 ?+ d  r7 O  [6 a
  16.   textColor: "#f5f5f5"; T: c2 i6 [5 o8 c% B  K- x
  17. });
    , ^8 f: q9 W. y3 |0 J( C3 `1 |
  18. $ K. U& Y- H; m
  19. // Result:  z6 i4 Z5 M4 _! h" ~5 c: Y
  20. // `{
    , ^2 r* z, Y, {* ^3 K$ D
  21. //   "accent_text_color":"#6ab2f2",4 {8 j1 s5 W' d# x. l
  22. //   "bg_color":"#17212b",
    / v/ p0 x! T/ L  l
  23. //   "button_color":"#5288c1",
    ) m+ p- E) g+ l! k" M" T& C
  24. //   "button_text_color":"#ffffff",8 p6 h$ }) t' f
  25. //   "destructive_text_color":"#ec3942",9 F( c( i! N$ d4 U
  26. //   "header_bg_color":"#17212b",
    5 _; _  c3 Z9 r/ `- n4 c$ J
  27. //   "hint_color":"#708499",% A- i/ T- R7 C$ s7 ^, J
  28. //   "link_color":"#6ab3f3",' A  ?; h) S9 S! i% {
  29. //   "secondary_bg_color":"#232e3c",3 R& n  d- W0 J2 X9 ^
  30. //   "section_bg_color":"#17212b",9 X* q2 P5 p, |, Q
  31. //   "section_header_text_color":"#6ab3f3",
    & V+ Y4 e7 y9 b. I) V  Y+ @
  32. //   "subtitle_text_color":"#708499",& ~2 Y. w- I9 Q- W# V$ d4 F( [
  33. //   "text_color":"#f5f5f5"
    0 F( u* x" r$ o( _, y6 l- V
  34. // }`
复制代码

# {% \! ~# b: s+ ]
, d9 e) X- o0 R4 |- n
3 K5 W- ~: T) Y5 c! R9 S( e
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则