Compare commits
4 Commits
9d5536fd32
...
dc403179f7
| Author | SHA1 | Date | |
|---|---|---|---|
| dc403179f7 | |||
| dde92737b6 | |||
| 7e65137922 | |||
| 473c9f4692 |
7
assets/ui/world_text_theme.tres
Normal file
7
assets/ui/world_text_theme.tres
Normal file
@@ -0,0 +1,7 @@
|
||||
[gd_resource type="Theme" load_steps=2 format=3]
|
||||
|
||||
[ext_resource type="FontFile" uid="uid://ce7ujbeobblyr" path="res://assets/fonts/msyh.ttc" id="1_font"]
|
||||
|
||||
[resource]
|
||||
resource_local_to_scene = true
|
||||
default_font = ExtResource("1_font")
|
||||
@@ -10,4 +10,4 @@ scale = Vector2(1.2916666, 1.2812501)
|
||||
texture = ExtResource("1_xrxds")
|
||||
|
||||
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="."]
|
||||
polygon = PackedVector2Array(-216, -96, -216, -96, 200, -96, 200, -32, 192, -32, 192, 0, 72, 0, 72, -16, 48, -16, 48, -32, 48, -40, -40, -40, -48, -24, -64, -16, -72, -16, -80, 0, -200, 0, -200, -32, -216, -32)
|
||||
polygon = PackedVector2Array(-216, -96, -216, -96, 200, -96, 200, -32, 192, -32, 192, -8, 77, -8, 72, -16, 48, -16, 48, -32, 48, -40, -40, -40, -48, -24, -64, -16, -72, -16, -80, -5, -201, -6, -200, -32, -216, -32)
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -1,20 +1,35 @@
|
||||
[gd_scene load_steps=4 format=3 uid="uid://rdmrm7j4iokr"]
|
||||
[gd_scene load_steps=6 format=3 uid="uid://rdmrm7j4iokr"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://pnlgf420wktn" path="res://scenes/prefabs/items/NoticeBoard.gd" id="1_script"]
|
||||
[ext_resource type="Script" uid="uid://cia2i6wew103b" path="res://scenes/prefabs/items/NoticeBoard.gd" id="1_script"]
|
||||
[ext_resource type="Texture2D" uid="uid://b4aildrnhbpl4" path="res://assets/materials/NoticeBoard.png" id="2_sprite"]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_nb"]
|
||||
size = Vector2(160, 40)
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_left_post"]
|
||||
size = Vector2(14, 16)
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_right_post"]
|
||||
size = Vector2(14, 16)
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_center_bar"]
|
||||
size = Vector2(125, 4.666666)
|
||||
|
||||
[node name="NoticeBoard" type="StaticBody2D"]
|
||||
z_index = 1
|
||||
scale = Vector2(0.6, 0.6)
|
||||
script = ExtResource("1_script")
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="."]
|
||||
position = Vector2(0, -16)
|
||||
position = Vector2(0, -45.3)
|
||||
scale = Vector2(0.5, 0.5)
|
||||
texture = ExtResource("2_sprite")
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||
position = Vector2(0, 6.6666665)
|
||||
shape = SubResource("RectangleShape2D_nb")
|
||||
[node name="LeftPostCollision" type="CollisionShape2D" parent="."]
|
||||
position = Vector2(-75, 10)
|
||||
shape = SubResource("RectangleShape2D_left_post")
|
||||
|
||||
[node name="RightPostCollision" type="CollisionShape2D" parent="."]
|
||||
position = Vector2(73.33333, 6.666667)
|
||||
shape = SubResource("RectangleShape2D_right_post")
|
||||
|
||||
[node name="CenterBottomCollision" type="CollisionShape2D" parent="."]
|
||||
position = Vector2(-2.5, -2.6666667)
|
||||
shape = SubResource("RectangleShape2D_center_bar")
|
||||
|
||||
@@ -1,17 +1,33 @@
|
||||
[gd_scene load_steps=3 format=3 uid="uid://c7k8yay002w4"]
|
||||
[gd_scene load_steps=5 format=3 uid="uid://c7k8yay002w4"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://v7loa3smfkrd" path="res://assets/materials/WelcomeBoard.png" id="2_sprite"]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_board"]
|
||||
size = Vector2(112, 18.5)
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_left_post"]
|
||||
size = Vector2(16, 20)
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_right_post"]
|
||||
size = Vector2(16, 20)
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_center_bar"]
|
||||
size = Vector2(76, 4)
|
||||
|
||||
[node name="WelcomeBoard" type="StaticBody2D"]
|
||||
z_index = 1
|
||||
collision_layer = 3
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="."]
|
||||
position = Vector2(0, -44.125)
|
||||
scale = Vector2(0.25, 0.25)
|
||||
texture = ExtResource("2_sprite")
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||
position = Vector2(0, 14.75)
|
||||
shape = SubResource("RectangleShape2D_board")
|
||||
[node name="LeftPostCollision" type="CollisionShape2D" parent="."]
|
||||
position = Vector2(-49, -10)
|
||||
shape = SubResource("RectangleShape2D_left_post")
|
||||
|
||||
[node name="RightPostCollision" type="CollisionShape2D" parent="."]
|
||||
position = Vector2(47, -10)
|
||||
shape = SubResource("RectangleShape2D_right_post")
|
||||
|
||||
[node name="CenterBottomCollision" type="CollisionShape2D" parent="."]
|
||||
position = Vector2(-1, -22)
|
||||
shape = SubResource("RectangleShape2D_center_bar")
|
||||
|
||||
@@ -9,10 +9,6 @@
|
||||
|
||||
[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_cjyup"]
|
||||
texture = ExtResource("4_lnw07")
|
||||
content_margin_left = 16.0
|
||||
content_margin_right = 16.0
|
||||
content_margin_top = 10.0
|
||||
content_margin_bottom = 10.0
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_hover"]
|
||||
bg_color = Color(0.3, 0.6, 0.9, 1)
|
||||
@@ -134,9 +130,9 @@ anchor_top = 0.5
|
||||
anchor_right = 0.5
|
||||
anchor_bottom = 0.5
|
||||
offset_left = -140.0
|
||||
offset_top = -205.5
|
||||
offset_top = -185.5
|
||||
offset_right = 140.0
|
||||
offset_bottom = 165.5
|
||||
offset_bottom = 185.5
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
|
||||
@@ -164,10 +160,6 @@ layout_mode = 2
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
|
||||
[node name="TopPadding" type="Control" parent="CenterContainer/LoginPanel/VBoxContainer/LoginForm"]
|
||||
custom_minimum_size = Vector2(0, 8)
|
||||
layout_mode = 2
|
||||
|
||||
[node name="UsernameContainer" type="VBoxContainer" parent="CenterContainer/LoginPanel/VBoxContainer/LoginForm"]
|
||||
layout_mode = 2
|
||||
|
||||
@@ -203,8 +195,6 @@ theme_override_colors/font_color = Color(0, 0, 0, 1)
|
||||
theme_override_colors/font_placeholder_color = Color(0.5, 0.5, 0.5, 1)
|
||||
theme_override_colors/selection_color = Color(0.5, 0.5, 0.5, 1)
|
||||
theme_override_styles/normal = SubResource("StyleBoxTexture_cjyup")
|
||||
theme_override_styles/focus = SubResource("StyleBoxTexture_cjyup")
|
||||
theme_override_font_sizes/font_size = 16
|
||||
placeholder_text = "用户名/手机/邮箱"
|
||||
|
||||
[node name="PasswordContainer" type="VBoxContainer" parent="CenterContainer/LoginPanel/VBoxContainer/LoginForm"]
|
||||
@@ -236,13 +226,9 @@ text = "密码不能为空"
|
||||
horizontal_alignment = 2
|
||||
|
||||
[node name="PasswordInput" type="LineEdit" parent="CenterContainer/LoginPanel/VBoxContainer/LoginForm/PasswordContainer"]
|
||||
custom_minimum_size = Vector2(0, 48)
|
||||
layout_mode = 2
|
||||
theme_override_colors/font_color = Color(0, 0, 0, 1)
|
||||
theme_override_colors/font_placeholder_color = Color(0.5, 0.5, 0.5, 1)
|
||||
theme_override_styles/normal = SubResource("StyleBoxTexture_cjyup")
|
||||
theme_override_styles/focus = SubResource("StyleBoxTexture_cjyup")
|
||||
theme_override_font_sizes/font_size = 16
|
||||
placeholder_text = "请输入密码"
|
||||
secret = true
|
||||
|
||||
@@ -279,14 +265,10 @@ horizontal_alignment = 2
|
||||
layout_mode = 2
|
||||
|
||||
[node name="VerificationInput" type="LineEdit" parent="CenterContainer/LoginPanel/VBoxContainer/LoginForm/VerificationContainer/VerificationInputContainer"]
|
||||
custom_minimum_size = Vector2(0, 48)
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
theme_override_colors/font_color = Color(0, 0, 0, 1)
|
||||
theme_override_colors/font_placeholder_color = Color(0.5, 0.5, 0.5, 1)
|
||||
theme_override_styles/normal = SubResource("StyleBoxTexture_cjyup")
|
||||
theme_override_styles/focus = SubResource("StyleBoxTexture_cjyup")
|
||||
theme_override_font_sizes/font_size = 16
|
||||
placeholder_text = "请输入6位验证码"
|
||||
max_length = 6
|
||||
|
||||
@@ -332,25 +314,16 @@ text = "密码登录"
|
||||
[node name="BottomLinks" type="HBoxContainer" parent="CenterContainer/LoginPanel/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
alignment = 1
|
||||
theme_override_constants/separation = 16
|
||||
|
||||
[node name="ForgotPassword" type="Button" parent="CenterContainer/LoginPanel/VBoxContainer/BottomLinks"]
|
||||
custom_minimum_size = Vector2(0, 28)
|
||||
layout_mode = 2
|
||||
theme_override_colors/font_color = Color(0.12, 0.4, 0.7, 1)
|
||||
theme_override_colors/font_hover_color = Color(0.2, 0.5, 0.8, 1)
|
||||
theme_override_colors/font_pressed_color = Color(0.1, 0.35, 0.6, 1)
|
||||
theme_override_font_sizes/font_size = 14
|
||||
text = "忘记密码?"
|
||||
theme_override_colors/font_color = Color(0, 0, 0, 1)
|
||||
text = "忘记密码?"
|
||||
flat = true
|
||||
|
||||
[node name="RegisterLink" type="Button" parent="CenterContainer/LoginPanel/VBoxContainer/BottomLinks"]
|
||||
custom_minimum_size = Vector2(0, 28)
|
||||
layout_mode = 2
|
||||
theme_override_colors/font_color = Color(0.12, 0.4, 0.7, 1)
|
||||
theme_override_colors/font_hover_color = Color(0.2, 0.5, 0.8, 1)
|
||||
theme_override_colors/font_pressed_color = Color(0.1, 0.35, 0.6, 1)
|
||||
theme_override_font_sizes/font_size = 14
|
||||
theme_override_colors/font_color = Color(0, 0, 0, 1)
|
||||
text = "注册居民身份"
|
||||
flat = true
|
||||
|
||||
@@ -418,13 +391,9 @@ text = "用户名不能为空"
|
||||
horizontal_alignment = 2
|
||||
|
||||
[node name="UsernameInput" type="LineEdit" parent="CenterContainer/RegisterPanel/VBoxContainer/RegisterForm/UsernameContainer"]
|
||||
custom_minimum_size = Vector2(0, 48)
|
||||
layout_mode = 2
|
||||
theme_override_colors/font_color = Color(0, 0, 0, 1)
|
||||
theme_override_colors/font_placeholder_color = Color(0.5, 0.5, 0.5, 1)
|
||||
theme_override_styles/normal = SubResource("StyleBoxTexture_cjyup")
|
||||
theme_override_styles/focus = SubResource("StyleBoxTexture_cjyup")
|
||||
theme_override_font_sizes/font_size = 16
|
||||
placeholder_text = "请输入用户名"
|
||||
|
||||
[node name="EmailContainer" type="VBoxContainer" parent="CenterContainer/RegisterPanel/VBoxContainer/RegisterForm"]
|
||||
@@ -456,13 +425,9 @@ text = "邮箱不能为空"
|
||||
horizontal_alignment = 2
|
||||
|
||||
[node name="EmailInput" type="LineEdit" parent="CenterContainer/RegisterPanel/VBoxContainer/RegisterForm/EmailContainer"]
|
||||
custom_minimum_size = Vector2(0, 48)
|
||||
layout_mode = 2
|
||||
theme_override_colors/font_color = Color(0, 0, 0, 1)
|
||||
theme_override_colors/font_placeholder_color = Color(0.5, 0.5, 0.5, 1)
|
||||
theme_override_styles/normal = SubResource("StyleBoxTexture_cjyup")
|
||||
theme_override_styles/focus = SubResource("StyleBoxTexture_cjyup")
|
||||
theme_override_font_sizes/font_size = 16
|
||||
placeholder_text = "请输入邮箱地址"
|
||||
|
||||
[node name="PasswordContainer" type="VBoxContainer" parent="CenterContainer/RegisterPanel/VBoxContainer/RegisterForm"]
|
||||
@@ -494,13 +459,9 @@ text = "密码不能为空"
|
||||
horizontal_alignment = 2
|
||||
|
||||
[node name="PasswordInput" type="LineEdit" parent="CenterContainer/RegisterPanel/VBoxContainer/RegisterForm/PasswordContainer"]
|
||||
custom_minimum_size = Vector2(0, 48)
|
||||
layout_mode = 2
|
||||
theme_override_colors/font_color = Color(0, 0, 0, 1)
|
||||
theme_override_colors/font_placeholder_color = Color(0.5, 0.5, 0.5, 1)
|
||||
theme_override_styles/normal = SubResource("StyleBoxTexture_cjyup")
|
||||
theme_override_styles/focus = SubResource("StyleBoxTexture_cjyup")
|
||||
theme_override_font_sizes/font_size = 16
|
||||
placeholder_text = "请输入密码(至少8位)"
|
||||
secret = true
|
||||
|
||||
@@ -533,13 +494,9 @@ text = "确认密码不能为空"
|
||||
horizontal_alignment = 2
|
||||
|
||||
[node name="ConfirmInput" type="LineEdit" parent="CenterContainer/RegisterPanel/VBoxContainer/RegisterForm/ConfirmContainer"]
|
||||
custom_minimum_size = Vector2(0, 48)
|
||||
layout_mode = 2
|
||||
theme_override_colors/font_color = Color(0, 0, 0, 1)
|
||||
theme_override_colors/font_placeholder_color = Color(0.5, 0.5, 0.5, 1)
|
||||
theme_override_styles/normal = SubResource("StyleBoxTexture_cjyup")
|
||||
theme_override_styles/focus = SubResource("StyleBoxTexture_cjyup")
|
||||
theme_override_font_sizes/font_size = 16
|
||||
placeholder_text = "请再次输入密码"
|
||||
secret = true
|
||||
|
||||
@@ -575,14 +532,10 @@ horizontal_alignment = 2
|
||||
layout_mode = 2
|
||||
|
||||
[node name="VerificationInput" type="LineEdit" parent="CenterContainer/RegisterPanel/VBoxContainer/RegisterForm/VerificationContainer/VerificationInputContainer"]
|
||||
custom_minimum_size = Vector2(0, 48)
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
theme_override_colors/font_color = Color(0, 0, 0, 1)
|
||||
theme_override_colors/font_placeholder_color = Color(0.5, 0.5, 0.5, 1)
|
||||
theme_override_styles/normal = SubResource("StyleBoxTexture_cjyup")
|
||||
theme_override_styles/focus = SubResource("StyleBoxTexture_cjyup")
|
||||
theme_override_font_sizes/font_size = 16
|
||||
placeholder_text = "请输入6位验证码"
|
||||
max_length = 6
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
[gd_scene load_steps=3 format=3]
|
||||
[gd_scene load_steps=4 format=3]
|
||||
|
||||
[ext_resource type="Script" uid="uid://b4aorojcbwkmb" path="res://scenes/ui/ChatBubble.gd" id="1_script"]
|
||||
[ext_resource type="Theme" path="res://assets/ui/world_text_theme.tres" id="2_theme"]
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_bubble_modern"]
|
||||
bg_color = Color(1, 1, 1, 0.9)
|
||||
@@ -8,6 +9,10 @@ corner_radius_top_left = 5
|
||||
corner_radius_top_right = 5
|
||||
corner_radius_bottom_right = 5
|
||||
corner_radius_bottom_left = 5
|
||||
content_margin_left = 10.0
|
||||
content_margin_top = 6.0
|
||||
content_margin_right = 10.0
|
||||
content_margin_bottom = 6.0
|
||||
shadow_color = Color(0, 0, 0, 0.2)
|
||||
shadow_size = 2
|
||||
|
||||
@@ -15,6 +20,7 @@ shadow_size = 2
|
||||
layout_mode = 3
|
||||
anchors_preset = 0
|
||||
script = ExtResource("1_script")
|
||||
theme = ExtResource("2_theme")
|
||||
|
||||
[node name="PanelContainer" type="PanelContainer" parent="."]
|
||||
layout_mode = 1
|
||||
@@ -23,10 +29,10 @@ anchor_left = 0.5
|
||||
anchor_top = 1.0
|
||||
anchor_right = 0.5
|
||||
anchor_bottom = 1.0
|
||||
offset_left = -75.0
|
||||
offset_top = -60.0
|
||||
offset_right = 75.0
|
||||
offset_bottom = -20.0
|
||||
offset_left = -120.0
|
||||
offset_top = -86.0
|
||||
offset_right = 120.0
|
||||
offset_bottom = -26.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 0
|
||||
theme_override_styles/panel = SubResource("StyleBoxFlat_bubble_modern")
|
||||
@@ -34,9 +40,9 @@ theme_override_styles/panel = SubResource("StyleBoxFlat_bubble_modern")
|
||||
[node name="Label" type="Label" parent="PanelContainer"]
|
||||
layout_mode = 2
|
||||
theme_override_colors/font_color = Color(0.1, 0.1, 0.1, 1)
|
||||
theme_override_font_sizes/font_size = 8
|
||||
theme_override_font_sizes/font_size = 12
|
||||
text = "..."
|
||||
horizontal_alignment = 1
|
||||
vertical_alignment = 1
|
||||
autowrap_mode = 3
|
||||
custom_minimum_size = Vector2(150, 0)
|
||||
custom_minimum_size = Vector2(220, 0)
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
[gd_scene load_steps=3 format=3 uid="uid://rdmro1jxs6ga"]
|
||||
[gd_scene load_steps=4 format=3 uid="uid://rdmro1jxs6ga"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://c227m0okmjt2t" path="res://scenes/ui/NoticeDialog.gd" id="1_script"]
|
||||
[ext_resource type="Script" uid="uid://c5iq3s1myvl83" path="res://scenes/ui/NoticeDialog.gd" id="1_script"]
|
||||
[ext_resource type="Theme" path="res://assets/ui/world_text_theme.tres" id="2_theme"]
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_rounded"]
|
||||
bg_color = Color(0.95, 0.95, 0.95, 1)
|
||||
@@ -33,6 +34,7 @@ grow_vertical = 2
|
||||
[node name="PanelContainer" type="PanelContainer" parent="CenterContainer"]
|
||||
custom_minimum_size = Vector2(480, 420)
|
||||
layout_mode = 2
|
||||
theme = ExtResource("2_theme")
|
||||
theme_override_styles/panel = SubResource("StyleBoxFlat_rounded")
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="CenterContainer/PanelContainer"]
|
||||
@@ -96,13 +98,13 @@ vertical_alignment = 1
|
||||
[node name="TextPanel" type="MarginContainer" parent="CenterContainer/PanelContainer/VBoxContainer/ContentContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
theme_override_constants/margin_left = 16
|
||||
theme_override_constants/margin_right = 16
|
||||
theme_override_constants/margin_left = 20
|
||||
theme_override_constants/margin_right = 20
|
||||
|
||||
[node name="ContentLabel" type="RichTextLabel" parent="CenterContainer/PanelContainer/VBoxContainer/ContentContainer/TextPanel"]
|
||||
layout_mode = 2
|
||||
theme_override_colors/default_color = Color(0.3, 0.3, 0.3, 1)
|
||||
theme_override_font_sizes/normal_font_size = 16
|
||||
theme_override_font_sizes/normal_font_size = 17
|
||||
bbcode_enabled = true
|
||||
text = "Announcement Content..."
|
||||
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
[gd_scene load_steps=5 format=3 uid="uid://d8mam0n1a3b5"]
|
||||
[gd_scene load_steps=6 format=3 uid="uid://d8mam0n1a3b5"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://cohijfo0yeo34" path="res://scenes/prefabs/ui/WelcomeDialog.gd" id="1_vs5b1"]
|
||||
[ext_resource type="Script" uid="uid://b1x23718wrl85" path="res://scenes/ui/WelcomeDialog.gd" id="1_vs5b1"]
|
||||
[ext_resource type="Texture2D" uid="uid://v7loa3smfkrd" path="res://assets/materials/WelcomeBoard.png" id="2_dy5hw"]
|
||||
[ext_resource type="Theme" path="res://assets/ui/world_text_theme.tres" id="3_theme"]
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_card"]
|
||||
bg_color = Color(1, 1, 1, 1)
|
||||
@@ -44,6 +45,7 @@ grow_vertical = 2
|
||||
[node name="PanelContainer" type="PanelContainer" parent="CenterContainer"]
|
||||
custom_minimum_size = Vector2(400, 350)
|
||||
layout_mode = 2
|
||||
theme = ExtResource("3_theme")
|
||||
theme_override_styles/panel = SubResource("StyleBoxFlat_card")
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="CenterContainer/PanelContainer"]
|
||||
@@ -90,7 +92,7 @@ stretch_mode = 5
|
||||
[node name="BodyText" type="Label" parent="CenterContainer/PanelContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
theme_override_colors/font_color = Color(0.3, 0.3, 0.3, 1)
|
||||
theme_override_font_sizes/font_size = 14
|
||||
theme_override_font_sizes/font_size = 16
|
||||
text = "连接·共生·见证
|
||||
Datawhale Town —— 学习者的赛博家园与精神坐标。
|
||||
✨ 实时广场:看大家都在学什么。
|
||||
|
||||
Reference in New Issue
Block a user