koishi-plugin-rocom 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (157) hide show
  1. package/lib/client.d.ts +53 -0
  2. package/lib/client.js +473 -0
  3. package/lib/commands/account.d.ts +5 -0
  4. package/lib/commands/account.js +205 -0
  5. package/lib/commands/admin.d.ts +2 -0
  6. package/lib/commands/admin.js +117 -0
  7. package/lib/commands/egg.d.ts +2 -0
  8. package/lib/commands/egg.js +196 -0
  9. package/lib/commands/merchant.d.ts +2 -0
  10. package/lib/commands/merchant.js +242 -0
  11. package/lib/commands/query.d.ts +2 -0
  12. package/lib/commands/query.js +1264 -0
  13. package/lib/commands/wiki.d.ts +2 -0
  14. package/lib/commands/wiki.js +11 -0
  15. package/lib/egg-service.d.ts +229 -0
  16. package/lib/egg-service.js +705 -0
  17. package/lib/index.d.ts +24 -0
  18. package/lib/index.js +3746 -0
  19. package/lib/render-templates/bind-list/index.html +51 -0
  20. package/lib/render-templates/bind-list/style.css +178 -0
  21. package/lib/render-templates/exchange-hall/css/_@astro-renderers.0KDkAyVb.css +1 -0
  22. package/lib/render-templates/exchange-hall/css/index.B3tv56V6.css +1 -0
  23. package/lib/render-templates/exchange-hall/css/index.D2LGPudy.css +1 -0
  24. package/lib/render-templates/exchange-hall/extracted.css +393 -0
  25. package/lib/render-templates/exchange-hall/index.html +99 -0
  26. package/lib/render-templates/exchange-hall/style.css +267 -0
  27. package/lib/render-templates/friendship/index.html +58 -0
  28. package/lib/render-templates/friendship/style.css +182 -0
  29. package/lib/render-templates/home/data/home_item_list.json +122 -0
  30. package/lib/render-templates/home/img/home_icon/100604.png +0 -0
  31. package/lib/render-templates/home/img/home_icon/100604_1.png +0 -0
  32. package/lib/render-templates/home/img/home_icon/100604_2.png +0 -0
  33. package/lib/render-templates/home/img/home_icon/100605.png +0 -0
  34. package/lib/render-templates/home/img/home_icon/100605_1.png +0 -0
  35. package/lib/render-templates/home/img/home_icon/100605_2.png +0 -0
  36. package/lib/render-templates/home/img/home_icon/100606.png +0 -0
  37. package/lib/render-templates/home/img/home_icon/100606_1.png +0 -0
  38. package/lib/render-templates/home/img/home_icon/100606_2.png +0 -0
  39. package/lib/render-templates/home/img/home_icon/100607.png +0 -0
  40. package/lib/render-templates/home/img/home_icon/100607_1.png +0 -0
  41. package/lib/render-templates/home/img/home_icon/100607_2.png +0 -0
  42. package/lib/render-templates/home/img/home_icon/100608.png +0 -0
  43. package/lib/render-templates/home/img/home_icon/100608_1.png +0 -0
  44. package/lib/render-templates/home/img/home_icon/100608_2.png +0 -0
  45. package/lib/render-templates/home/img/home_icon/100622.png +0 -0
  46. package/lib/render-templates/home/img/home_icon/100622_1.png +0 -0
  47. package/lib/render-templates/home/img/home_icon/100622_2.png +0 -0
  48. package/lib/render-templates/home/img/home_icon/100623.png +0 -0
  49. package/lib/render-templates/home/img/home_icon/100623_1.png +0 -0
  50. package/lib/render-templates/home/img/home_icon/100623_2.png +0 -0
  51. package/lib/render-templates/home/img/home_icon/100624.png +0 -0
  52. package/lib/render-templates/home/img/home_icon/100624_1.png +0 -0
  53. package/lib/render-templates/home/img/home_icon/100624_2.png +0 -0
  54. package/lib/render-templates/home/img/home_icon/100627.png +0 -0
  55. package/lib/render-templates/home/img/home_icon/100627_1.png +0 -0
  56. package/lib/render-templates/home/img/home_icon/100627_2.png +0 -0
  57. package/lib/render-templates/home/img/home_icon/100684.png +0 -0
  58. package/lib/render-templates/home/img/home_icon/100684_1.png +0 -0
  59. package/lib/render-templates/home/img/home_icon/100684_2.png +0 -0
  60. package/lib/render-templates/home/img/home_icon/100686.png +0 -0
  61. package/lib/render-templates/home/img/home_icon/100686_1.png +0 -0
  62. package/lib/render-templates/home/img/home_icon/100686_2.png +0 -0
  63. package/lib/render-templates/home/img/home_icon/100687.png +0 -0
  64. package/lib/render-templates/home/img/home_icon/100687_1.png +0 -0
  65. package/lib/render-templates/home/img/home_icon/100687_2.png +0 -0
  66. package/lib/render-templates/home/img/home_icon/100689.png +0 -0
  67. package/lib/render-templates/home/img/home_icon/100689_1.png +0 -0
  68. package/lib/render-templates/home/img/home_icon/100689_2.png +0 -0
  69. package/lib/render-templates/home/img/home_icon/100690.png +0 -0
  70. package/lib/render-templates/home/img/home_icon/100690_1.png +0 -0
  71. package/lib/render-templates/home/img/home_icon/100690_2.png +0 -0
  72. package/lib/render-templates/home/img/home_icon/100691.png +0 -0
  73. package/lib/render-templates/home/img/home_icon/100691_1.png +0 -0
  74. package/lib/render-templates/home/img/home_icon/100691_2.png +0 -0
  75. package/lib/render-templates/home/img/home_icon/100692.png +0 -0
  76. package/lib/render-templates/home/img/home_icon/100692_1.png +0 -0
  77. package/lib/render-templates/home/img/home_icon/100692_2.png +0 -0
  78. package/lib/render-templates/home/img/home_icon/100693.png +0 -0
  79. package/lib/render-templates/home/img/home_icon/100693_1.png +0 -0
  80. package/lib/render-templates/home/img/home_icon/100693_2.png +0 -0
  81. package/lib/render-templates/home/img/home_icon/100694.png +0 -0
  82. package/lib/render-templates/home/img/home_icon/100694_1.png +0 -0
  83. package/lib/render-templates/home/img/home_icon/100694_2.png +0 -0
  84. package/lib/render-templates/home/img/home_icon/100706.png +0 -0
  85. package/lib/render-templates/home/img/home_icon/100706_1.png +0 -0
  86. package/lib/render-templates/home/img/home_icon/100706_2.png +0 -0
  87. package/lib/render-templates/home/img/home_icon/100751.png +0 -0
  88. package/lib/render-templates/home/img/home_icon/100751_1.png +0 -0
  89. package/lib/render-templates/home/img/home_icon/100751_2.png +0 -0
  90. package/lib/render-templates/home/img/home_icon/100755.png +0 -0
  91. package/lib/render-templates/home/img/home_icon/100755_1.png +0 -0
  92. package/lib/render-templates/home/img/home_icon/100755_2.png +0 -0
  93. package/lib/render-templates/home/img/home_icon/100762.png +0 -0
  94. package/lib/render-templates/home/img/home_icon/100762_1.png +0 -0
  95. package/lib/render-templates/home/img/home_icon/100762_2.png +0 -0
  96. package/lib/render-templates/home/img/home_icon/100764.png +0 -0
  97. package/lib/render-templates/home/img/home_icon/100764_1.png +0 -0
  98. package/lib/render-templates/home/img/home_icon/100764_2.png +0 -0
  99. package/lib/render-templates/home/img/home_icon/100869.png +0 -0
  100. package/lib/render-templates/home/img/home_icon/100869_1.png +0 -0
  101. package/lib/render-templates/home/img/home_icon/100869_2.png +0 -0
  102. package/lib/render-templates/home/img/img_HomeVisit_Icon1.png +0 -0
  103. package/lib/render-templates/home/img/img_LevelReward_Bg2.png +0 -0
  104. package/lib/render-templates/home/index.html +139 -0
  105. package/lib/render-templates/home/style.css +537 -0
  106. package/lib/render-templates/ingame-shop/index.html +87 -0
  107. package/lib/render-templates/ingame-shop/style.css +220 -0
  108. package/lib/render-templates/inspect/index.html +47 -0
  109. package/lib/render-templates/inspect/style.css +149 -0
  110. package/lib/render-templates/lineup/index.html +77 -0
  111. package/lib/render-templates/lineup/style.css +255 -0
  112. package/lib/render-templates/lineup-detail/index.html +63 -0
  113. package/lib/render-templates/lineup-detail/style.css +218 -0
  114. package/lib/render-templates/menu/index.html +36 -0
  115. package/lib/render-templates/menu/style.css +126 -0
  116. package/lib/render-templates/package/index.html +115 -0
  117. package/lib/render-templates/package/style.css +352 -0
  118. package/lib/render-templates/personal-card/index.html +292 -0
  119. package/lib/render-templates/personal-card/style.css +2114 -0
  120. package/lib/render-templates/pet-wiki/index.html +118 -0
  121. package/lib/render-templates/pet-wiki/style.css +382 -0
  122. package/lib/render-templates/player-search/index.html +60 -0
  123. package/lib/render-templates/player-search/style.css +192 -0
  124. package/lib/render-templates/record/index.html +86 -0
  125. package/lib/render-templates/record/style.css +322 -0
  126. package/lib/render-templates/searcheggs/Pets.json +104328 -0
  127. package/lib/render-templates/searcheggs/candidates.html +52 -0
  128. package/lib/render-templates/searcheggs/eggs.py +599 -0
  129. package/lib/render-templates/searcheggs/index.html +198 -0
  130. package/lib/render-templates/searcheggs/pair.html +81 -0
  131. package/lib/render-templates/searcheggs/size.html +82 -0
  132. package/lib/render-templates/searcheggs/style.css +586 -0
  133. package/lib/render-templates/searcheggs/want.html +63 -0
  134. package/lib/render-templates/skill-wiki/index.html +68 -0
  135. package/lib/render-templates/skill-wiki/style.css +182 -0
  136. package/lib/render-templates/student/index.html +95 -0
  137. package/lib/render-templates/student/style.css +255 -0
  138. package/lib/render-templates/student-perks/index.html +78 -0
  139. package/lib/render-templates/student-perks/style.css +238 -0
  140. package/lib/render-templates/student-state/index.html +52 -0
  141. package/lib/render-templates/student-state/style.css +157 -0
  142. package/lib/render-templates/yuanxing-shangren/index.html +371 -0
  143. package/lib/render-templates/yuanxing-shangren/style.css +371 -0
  144. package/lib/render.d.ts +11 -0
  145. package/lib/render.js +226 -0
  146. package/lib/role-token.d.ts +27 -0
  147. package/lib/role-token.js +137 -0
  148. package/lib/send-image.d.ts +3 -0
  149. package/lib/send-image.js +135 -0
  150. package/lib/subscription-send.d.ts +8 -0
  151. package/lib/subscription-send.js +48 -0
  152. package/lib/types.d.ts +32 -0
  153. package/lib/types.js +2 -0
  154. package/lib/user.d.ts +67 -0
  155. package/lib/user.js +176 -0
  156. package/package.json +58 -0
  157. package/readme.md +575 -0
@@ -0,0 +1,118 @@
1
+ <!DOCTYPE html>
2
+ <html lang="zh-CN">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>洛克 Wiki - {{name}}</title>
7
+ <link rel="stylesheet" href="{{_res_path}}render/pet-wiki/style.css">
8
+ </head>
9
+ <body class="bwiki-body">
10
+ <div class="bwiki-shell">
11
+ <header class="hero-card">
12
+ <div class="hero-meta">
13
+ <div class="hero-kicker">ROCOM BWIKI</div>
14
+ <div class="hero-title-row">
15
+ <div class="hero-icon-wrap">
16
+ <img src="{{pet_icon}}" alt="{{name}}" onerror="this.onerror=null;this.src='{{_res_path}}img/roco_icon.png'">
17
+ </div>
18
+ <div class="hero-title-main">
19
+ <div class="hero-no">No. {{number}}</div>
20
+ <h1 class="hero-name">{{name}}</h1>
21
+ {% if form %}
22
+ <div class="hero-form">{{form}}</div>
23
+ {% endif %}
24
+ </div>
25
+ </div>
26
+ <div class="hero-type-row">
27
+ {% for item in pet_types %}
28
+ <span class="type-pill">{{item.name}}</span>
29
+ {% endfor %}
30
+ </div>
31
+ <div class="hero-desc">{{description}}</div>
32
+ </div>
33
+ <div class="hero-visual">
34
+ <img src="{{main_image}}" alt="{{name}}" onerror="this.onerror=null;this.src='{{pet_icon}}'">
35
+ </div>
36
+ </header>
37
+
38
+ <main class="wiki-grid">
39
+ <section class="panel stats-panel">
40
+ <div class="panel-title">种族值</div>
41
+ <div class="stats-total">{{total_stats}}</div>
42
+ <div class="stats-bars">
43
+ {% for item in pet_stats %}
44
+ <div class="stat-row">
45
+ <div class="stat-label">{{item.label}}</div>
46
+ <div class="stat-track">
47
+ <div class="stat-fill" style="width: {{(item.value / 160 * 100) | round(1)}}%; background: {{item.color}};"></div>
48
+ </div>
49
+ <div class="stat-value">{{item.value}}</div>
50
+ </div>
51
+ {% endfor %}
52
+ </div>
53
+ </section>
54
+
55
+ <section class="panel trait-panel">
56
+ <div class="panel-title">特性与克制</div>
57
+ <div class="trait-list">
58
+ {% for item in pet_traits %}
59
+ <article class="trait-card {{item.type_class}}">
60
+ <div class="trait-head">
61
+ <span class="trait-name">{{item.name}}</span>
62
+ <span class="trait-type">{{item.type}}</span>
63
+ </div>
64
+ <div class="trait-effect">{{item.effect}}</div>
65
+ </article>
66
+ {% endfor %}
67
+ </div>
68
+ </section>
69
+
70
+ <section class="panel evo-panel">
71
+ <div class="panel-title">进化路线</div>
72
+ <div class="evo-track">
73
+ {% for item in pet_evolution %}
74
+ <div class="evo-item">
75
+ <div class="evo-card {% if item.is_current %}current{% endif %}">
76
+ <div class="evo-image"><img src="{{item.icon || item.image}}" alt="{{item.name}}" onerror="this.onerror=null;this.src='{{_res_path}}img/roco_icon.png'"></div>
77
+ <div class="evo-no">No. {{item.number}}</div>
78
+ <div class="evo-name">{{item.name}}</div>
79
+ {% if item.condition %}
80
+ <div class="evo-condition">{{item.condition}}</div>
81
+ {% endif %}
82
+ </div>
83
+ {% if not loop.last %}
84
+ <div class="evo-arrow">→</div>
85
+ {% endif %}
86
+ </div>
87
+ {% endfor %}
88
+ </div>
89
+ </section>
90
+
91
+ <section class="panel skills-panel">
92
+ <div class="panel-title">技能列表</div>
93
+ <div class="skills-grid">
94
+ {% for item in sprite_skills %}
95
+ <article class="skill-card">
96
+ <div class="skill-top">
97
+ <div class="skill-level">{{item.level}}</div>
98
+ <div class="skill-main">
99
+ <div class="skill-name">{{item.name}}</div>
100
+ <div class="skill-sub">{{item.type}} | {{item.category}} | PP {{item.pp}} | 威力 {{item.power}}</div>
101
+ </div>
102
+ </div>
103
+ <div class="skill-body">{{item.effect}}</div>
104
+ </article>
105
+ {% endfor %}
106
+ </div>
107
+ </section>
108
+ </main>
109
+
110
+ <footer class="wiki-footer">
111
+ <div>{{commandHint}}</div>
112
+ <div>更新时间:{{updated_at}}</div>
113
+ <div>{{wiki_url}}</div>
114
+ <div>{{copyright}}</div>
115
+ </footer>
116
+ </div>
117
+ </body>
118
+ </html>
@@ -0,0 +1,382 @@
1
+ @font-face {
2
+ font-family: "fzlant";
3
+ src: url("{{_res_path}}ttf/fzlant.D5FI9Et0.ttf");
4
+ }
5
+
6
+ @font-face {
7
+ font-family: "dundun";
8
+ src: url("{{_res_path}}ttf/dundun.xHd_Ee5-.woff2");
9
+ }
10
+
11
+ :root {
12
+ --ink: #2c2318;
13
+ --muted: #7e6a58;
14
+ --line: rgba(118, 94, 67, 0.16);
15
+ --paper: rgba(255, 252, 246, 0.96);
16
+ --paper-strong: rgba(255, 255, 255, 0.98);
17
+ --accent: #2f6fda;
18
+ --accent-2: #f1b33f;
19
+ }
20
+
21
+ * {
22
+ box-sizing: border-box;
23
+ }
24
+
25
+ body.bwiki-body {
26
+ margin: 0;
27
+ background:
28
+ radial-gradient(circle at top left, rgba(255, 222, 158, 0.32), transparent 30%),
29
+ linear-gradient(180deg, #f8f2e8 0%, #ece4d6 100%);
30
+ color: var(--ink);
31
+ font-family: "fzlant", "Microsoft YaHei", sans-serif;
32
+ }
33
+
34
+ .bwiki-shell {
35
+ width: 920px;
36
+ margin: 0 auto;
37
+ padding: 20px 16px 24px;
38
+ }
39
+
40
+ .hero-card,
41
+ .panel {
42
+ background: var(--paper);
43
+ border: 1px solid var(--line);
44
+ border-radius: 26px;
45
+ box-shadow: 0 14px 32px rgba(72, 52, 28, 0.07);
46
+ }
47
+
48
+ .hero-card {
49
+ display: grid;
50
+ grid-template-columns: minmax(0, 1fr) 250px;
51
+ gap: 16px;
52
+ padding: 20px;
53
+ }
54
+
55
+ .hero-kicker,
56
+ .panel-title,
57
+ .hero-no,
58
+ .skill-level {
59
+ font-family: "dundun", "fzlant", sans-serif;
60
+ }
61
+
62
+ .hero-kicker {
63
+ color: var(--accent);
64
+ font-size: 16px;
65
+ letter-spacing: 1px;
66
+ }
67
+
68
+ .hero-title-row {
69
+ display: flex;
70
+ gap: 16px;
71
+ align-items: center;
72
+ margin-top: 10px;
73
+ }
74
+
75
+ .hero-icon-wrap {
76
+ width: 92px;
77
+ height: 92px;
78
+ border-radius: 22px;
79
+ border: 1px solid var(--line);
80
+ background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(247,240,230,0.96));
81
+ display: flex;
82
+ align-items: center;
83
+ justify-content: center;
84
+ overflow: hidden;
85
+ flex-shrink: 0;
86
+ }
87
+
88
+ .hero-icon-wrap img {
89
+ width: 78px;
90
+ height: 78px;
91
+ object-fit: contain;
92
+ }
93
+
94
+ .hero-no {
95
+ font-size: 24px;
96
+ color: #8a6a4b;
97
+ }
98
+
99
+ .hero-name {
100
+ margin: 4px 0 0;
101
+ font-size: 42px;
102
+ line-height: 1.05;
103
+ word-break: break-word;
104
+ }
105
+
106
+ .hero-form {
107
+ display: inline-flex;
108
+ margin-top: 10px;
109
+ padding: 6px 12px;
110
+ border-radius: 999px;
111
+ background: rgba(47, 111, 218, 0.12);
112
+ color: var(--accent);
113
+ font-size: 16px;
114
+ }
115
+
116
+ .hero-type-row {
117
+ display: flex;
118
+ flex-wrap: wrap;
119
+ gap: 10px;
120
+ margin-top: 18px;
121
+ }
122
+
123
+ .type-pill {
124
+ padding: 8px 14px;
125
+ border-radius: 999px;
126
+ background: rgba(42, 34, 24, 0.06);
127
+ border: 1px solid rgba(42, 34, 24, 0.08);
128
+ font-size: 17px;
129
+ }
130
+
131
+ .hero-desc {
132
+ margin-top: 16px;
133
+ color: var(--muted);
134
+ font-size: 17px;
135
+ line-height: 1.8;
136
+ white-space: pre-wrap;
137
+ word-break: break-word;
138
+ }
139
+
140
+ .hero-visual {
141
+ min-height: 240px;
142
+ border-radius: 22px;
143
+ border: 1px solid var(--line);
144
+ background: radial-gradient(circle at center, rgba(255,255,255,0.98), rgba(244,236,224,0.92));
145
+ display: flex;
146
+ align-items: center;
147
+ justify-content: center;
148
+ padding: 18px;
149
+ }
150
+
151
+ .hero-visual img {
152
+ width: 100%;
153
+ max-width: 210px;
154
+ max-height: 210px;
155
+ object-fit: contain;
156
+ filter: drop-shadow(0 16px 22px rgba(44, 35, 24, 0.16));
157
+ }
158
+
159
+ .wiki-grid {
160
+ display: grid;
161
+ grid-template-columns: 290px minmax(0, 1fr);
162
+ gap: 16px;
163
+ margin-top: 16px;
164
+ }
165
+
166
+ .panel {
167
+ padding: 18px 20px;
168
+ }
169
+
170
+ .evo-panel,
171
+ .skills-panel {
172
+ grid-column: 1 / -1;
173
+ }
174
+
175
+ .panel-title {
176
+ margin-bottom: 14px;
177
+ font-size: 25px;
178
+ }
179
+
180
+ .stats-total {
181
+ margin-bottom: 16px;
182
+ font-size: 48px;
183
+ font-weight: 800;
184
+ color: var(--accent);
185
+ }
186
+
187
+ .stats-bars,
188
+ .trait-list {
189
+ display: grid;
190
+ gap: 10px;
191
+ }
192
+
193
+ .stat-row {
194
+ display: grid;
195
+ grid-template-columns: 52px 1fr 42px;
196
+ gap: 10px;
197
+ align-items: center;
198
+ }
199
+
200
+ .stat-label,
201
+ .stat-value {
202
+ font-size: 17px;
203
+ }
204
+
205
+ .stat-track {
206
+ height: 12px;
207
+ border-radius: 999px;
208
+ background: rgba(42, 34, 24, 0.08);
209
+ overflow: hidden;
210
+ }
211
+
212
+ .stat-fill {
213
+ height: 100%;
214
+ border-radius: 999px;
215
+ }
216
+
217
+ .trait-card,
218
+ .skill-card,
219
+ .evo-card {
220
+ background: var(--paper-strong);
221
+ border: 1px solid rgba(42, 34, 24, 0.06);
222
+ border-radius: 20px;
223
+ }
224
+
225
+ .trait-card {
226
+ padding: 16px 18px;
227
+ }
228
+
229
+ .trait-head {
230
+ display: flex;
231
+ justify-content: space-between;
232
+ align-items: center;
233
+ gap: 10px;
234
+ }
235
+
236
+ .trait-name {
237
+ font-size: 20px;
238
+ font-weight: 700;
239
+ }
240
+
241
+ .trait-type {
242
+ padding: 4px 10px;
243
+ border-radius: 999px;
244
+ background: rgba(241, 179, 63, 0.18);
245
+ color: #8b5f00;
246
+ font-size: 15px;
247
+ }
248
+
249
+ .trait-effect {
250
+ margin-top: 10px;
251
+ color: var(--muted);
252
+ font-size: 16px;
253
+ line-height: 1.75;
254
+ white-space: pre-wrap;
255
+ word-break: break-word;
256
+ }
257
+
258
+ .evo-track {
259
+ display: flex;
260
+ align-items: center;
261
+ gap: 14px;
262
+ flex-wrap: wrap;
263
+ }
264
+
265
+ .evo-item {
266
+ display: flex;
267
+ align-items: center;
268
+ gap: 14px;
269
+ }
270
+
271
+ .evo-card {
272
+ width: 160px;
273
+ padding: 14px;
274
+ }
275
+
276
+ .evo-card.current {
277
+ border-color: rgba(47, 111, 218, 0.35);
278
+ box-shadow: 0 10px 24px rgba(47, 111, 218, 0.12);
279
+ }
280
+
281
+ .evo-image {
282
+ height: 96px;
283
+ display: flex;
284
+ align-items: center;
285
+ justify-content: center;
286
+ }
287
+
288
+ .evo-image img {
289
+ width: 82px;
290
+ height: 82px;
291
+ object-fit: contain;
292
+ }
293
+
294
+ .evo-no {
295
+ margin-top: 6px;
296
+ color: #8a6a4b;
297
+ font-size: 14px;
298
+ }
299
+
300
+ .evo-name {
301
+ margin-top: 6px;
302
+ font-size: 18px;
303
+ font-weight: 700;
304
+ }
305
+
306
+ .evo-condition {
307
+ margin-top: 8px;
308
+ color: var(--muted);
309
+ font-size: 15px;
310
+ line-height: 1.6;
311
+ }
312
+
313
+ .evo-arrow {
314
+ color: #8a6a4b;
315
+ font-size: 28px;
316
+ }
317
+
318
+ .skills-grid {
319
+ display: grid;
320
+ grid-template-columns: repeat(2, minmax(0, 1fr));
321
+ gap: 12px;
322
+ }
323
+
324
+ .skill-card {
325
+ padding: 14px 16px;
326
+ }
327
+
328
+ .skill-top {
329
+ display: flex;
330
+ gap: 12px;
331
+ }
332
+
333
+ .skill-level {
334
+ width: 50px;
335
+ height: 50px;
336
+ border-radius: 16px;
337
+ background: linear-gradient(135deg, var(--accent), #76a0f3);
338
+ color: #fff;
339
+ display: flex;
340
+ align-items: center;
341
+ justify-content: center;
342
+ font-size: 17px;
343
+ flex-shrink: 0;
344
+ }
345
+
346
+ .skill-main {
347
+ min-width: 0;
348
+ }
349
+
350
+ .skill-name {
351
+ font-size: 20px;
352
+ font-weight: 700;
353
+ word-break: break-word;
354
+ }
355
+
356
+ .skill-sub {
357
+ margin-top: 6px;
358
+ color: var(--muted);
359
+ font-size: 15px;
360
+ line-height: 1.5;
361
+ word-break: break-word;
362
+ }
363
+
364
+ .skill-body {
365
+ margin-top: 12px;
366
+ font-size: 16px;
367
+ line-height: 1.75;
368
+ color: #4d4032;
369
+ white-space: pre-wrap;
370
+ word-break: break-word;
371
+ }
372
+
373
+ .wiki-footer {
374
+ margin-top: 18px;
375
+ padding: 14px 6px 0;
376
+ border-top: 1px solid rgba(113, 96, 78, 0.16);
377
+ display: grid;
378
+ gap: 6px;
379
+ color: #7a6757;
380
+ font-size: 15px;
381
+ word-break: break-word;
382
+ }
@@ -0,0 +1,60 @@
1
+ <!DOCTYPE html>
2
+ <html lang="zh-CN">
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta name="viewport" content="width=1200, initial-scale=1">
6
+ <link rel="stylesheet" href="{{_res_path}}render/player-search/style.css">
7
+ </head>
8
+ <body>
9
+ <div class="player-search-page player-page">
10
+ <div class="page-header">
11
+ <div class="page-title">{{title}}</div>
12
+ <div class="page-subtitle">{{subtitle}}</div>
13
+ </div>
14
+
15
+ <div class="hero-card">
16
+ <div class="hero-title">{{heroTitle}}</div>
17
+ <div class="hero-value">{{heroValue}}</div>
18
+ <div class="hero-subvalue">{{heroSubvalue}}</div>
19
+ </div>
20
+
21
+ <div class="summary-grid">
22
+ {{each summaryCards item}}
23
+ <div class="summary-card">
24
+ <div class="summary-label">{{item.label}}</div>
25
+ <div class="summary-value">{{item.value}}</div>
26
+ </div>
27
+ {{/each}}
28
+ </div>
29
+
30
+ {{if showSignature}}
31
+ <div class="panel-card signature-panel">
32
+ <div class="section-title">个性签名</div>
33
+ <div class="signature-box">{{signature}}</div>
34
+ </div>
35
+ {{/if}}
36
+
37
+ <div class="section-grid">
38
+ {{each sections section}}
39
+ <div class="panel-card info-panel">
40
+ <div class="section-title">{{section.title}}</div>
41
+ <div class="detail-card">
42
+ {{each section["items"] item}}
43
+ <div class="detail-row">
44
+ <div class="detail-label">{{item.label}}</div>
45
+ <div class="detail-value">{{item.value}}</div>
46
+ </div>
47
+ {{/each}}
48
+ </div>
49
+ </div>
50
+ {{/each}}
51
+ </div>
52
+
53
+ {{if commandHint}}
54
+ <div class="command-hint">{{commandHint}}</div>
55
+ {{/if}}
56
+
57
+ <div class="footer">{{copyright}}</div>
58
+ </div>
59
+ </body>
60
+ </html>