koishi-plugin-rocom 1.0.13 → 1.0.17

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 (36) hide show
  1. package/lib/atlas-service.d.ts +33 -0
  2. package/lib/atlas-service.js +439 -0
  3. package/lib/client.d.ts +19 -0
  4. package/lib/client.js +101 -1
  5. package/lib/commands/account.js +1 -0
  6. package/lib/commands/merchant.js +11 -2
  7. package/lib/commands/query.js +141 -9
  8. package/lib/commands/tools.js +104 -0
  9. package/lib/commands/wiki.js +167 -6
  10. package/lib/egg-service.d.ts +2 -0
  11. package/lib/egg-service.js +50 -15
  12. package/lib/index.d.ts +5 -0
  13. package/lib/index.js +3153 -188
  14. package/lib/pet-data-service.d.ts +62 -0
  15. package/lib/pet-data-service.js +468 -0
  16. package/lib/render-templates/pet-data/index.html +172 -0
  17. package/lib/render-templates/pet-data/style.css +553 -0
  18. package/lib/render-templates/wiki/detail/index.html +84 -0
  19. package/lib/render-templates/wiki/list/index.html +84 -0
  20. package/lib/render-templates/wiki/menu/index.html +65 -0
  21. package/lib/render-templates/wiki/pet/index.html +158 -0
  22. package/lib/render-templates/wiki/pet/style.css +393 -0
  23. package/lib/render-templates/wiki/shared/style.css +431 -0
  24. package/lib/render-templates/wiki/skill/index.html +79 -0
  25. package/lib/render-templates/wiki/skill/style.css +233 -0
  26. package/lib/render-templates/wiki/suggestions/index.html +84 -0
  27. package/lib/render.js +37 -8
  28. package/lib/types.d.ts +9 -1
  29. package/lib/user.d.ts +23 -1
  30. package/lib/user.js +32 -1
  31. package/lib/wiki-catalog.d.ts +19 -0
  32. package/lib/wiki-catalog.js +124 -0
  33. package/lib/wiki-service.d.ts +220 -0
  34. package/lib/wiki-service.js +1463 -0
  35. package/package.json +1 -1
  36. package/readme.md +4 -5
@@ -0,0 +1,393 @@
1
+ :root {
2
+ --ink: #283341;
3
+ --muted: #6b7685;
4
+ --line: #d9e2ea;
5
+ --paper: #f8fbfd;
6
+ --panel: #ffffff;
7
+ --green: #2f9d73;
8
+ --gold: #d79b32;
9
+ --blue: #3a7ebf;
10
+ }
11
+
12
+ @font-face {
13
+ font-family: 'HYWenHei-85W';
14
+ src: url('../../../ttf/HYWenHei-85W-1.ttf') format('truetype');
15
+ font-display: swap;
16
+ }
17
+
18
+ * {
19
+ box-sizing: border-box;
20
+ }
21
+
22
+ body.bwiki-body {
23
+ margin: 0;
24
+ color: var(--ink);
25
+ background: linear-gradient(180deg, #eef6f2 0%, #f8fbfd 42%, #eef3f7 100%);
26
+ font-family: "HYWenHei-85W", "Microsoft YaHei", sans-serif;
27
+ }
28
+
29
+ .bwiki-shell {
30
+ width: 1120px;
31
+ padding: 28px;
32
+ }
33
+
34
+ .wiki-hero {
35
+ display: grid;
36
+ grid-template-columns: minmax(0, 1.05fr) 390px;
37
+ gap: 22px;
38
+ min-height: 420px;
39
+ border: 1px solid var(--line);
40
+ border-radius: 8px;
41
+ background: var(--panel);
42
+ box-shadow: 0 18px 40px rgba(40, 51, 65, .10);
43
+ overflow: hidden;
44
+ }
45
+
46
+ .hero-info {
47
+ padding: 28px 30px;
48
+ }
49
+
50
+ .kicker {
51
+ color: var(--green);
52
+ font-size: 18px;
53
+ font-weight: 800;
54
+ }
55
+
56
+ .title-row {
57
+ display: flex;
58
+ align-items: center;
59
+ gap: 18px;
60
+ margin-top: 18px;
61
+ }
62
+
63
+ .pet-icon {
64
+ width: 86px;
65
+ height: 86px;
66
+ object-fit: contain;
67
+ border: 1px solid var(--line);
68
+ border-radius: 8px;
69
+ background: #f4f8fb;
70
+ }
71
+
72
+ .number {
73
+ color: var(--muted);
74
+ font-size: 20px;
75
+ font-weight: 700;
76
+ }
77
+
78
+ h1 {
79
+ margin: 4px 0 2px;
80
+ font-size: 54px;
81
+ line-height: 1.05;
82
+ letter-spacing: 0;
83
+ }
84
+
85
+ .form-line {
86
+ color: var(--muted);
87
+ font-size: 20px;
88
+ }
89
+
90
+ .pill-row {
91
+ display: flex;
92
+ flex-wrap: wrap;
93
+ gap: 10px;
94
+ margin: 22px 0;
95
+ }
96
+
97
+ .pill {
98
+ min-width: 72px;
99
+ padding: 8px 12px;
100
+ border-radius: 6px;
101
+ color: #fff;
102
+ text-align: center;
103
+ font-weight: 800;
104
+ font-size: 18px;
105
+ }
106
+
107
+ .pill.type {
108
+ background: var(--green);
109
+ }
110
+
111
+ .pill.egg {
112
+ background: var(--blue);
113
+ }
114
+
115
+ .description {
116
+ min-height: 74px;
117
+ margin: 0 0 20px;
118
+ color: #405064;
119
+ font-size: 21px;
120
+ line-height: 1.55;
121
+ }
122
+
123
+ .meta-grid {
124
+ display: grid;
125
+ grid-template-columns: repeat(4, 1fr);
126
+ gap: 10px;
127
+ }
128
+
129
+ .meta-grid div,
130
+ .info-list div {
131
+ padding: 12px;
132
+ border: 1px solid var(--line);
133
+ border-radius: 6px;
134
+ background: #f8fbfd;
135
+ }
136
+
137
+ .meta-grid span,
138
+ .info-list span {
139
+ display: block;
140
+ color: var(--muted);
141
+ font-size: 15px;
142
+ }
143
+
144
+ .meta-grid strong,
145
+ .info-list strong {
146
+ display: block;
147
+ margin-top: 4px;
148
+ font-size: 20px;
149
+ }
150
+
151
+ .hero-visual {
152
+ display: flex;
153
+ align-items: center;
154
+ justify-content: center;
155
+ padding: 18px;
156
+ background: #edf5f0;
157
+ }
158
+
159
+ .hero-visual img {
160
+ max-width: 100%;
161
+ max-height: 390px;
162
+ object-fit: contain;
163
+ }
164
+
165
+ .content-grid {
166
+ display: grid;
167
+ grid-template-columns: 390px minmax(0, 1fr);
168
+ gap: 18px;
169
+ margin-top: 18px;
170
+ }
171
+
172
+ .panel {
173
+ border: 1px solid var(--line);
174
+ border-radius: 8px;
175
+ background: var(--panel);
176
+ padding: 20px;
177
+ box-shadow: 0 10px 24px rgba(40, 51, 65, .07);
178
+ }
179
+
180
+ .skills-panel,
181
+ .handbook-panel {
182
+ grid-column: 1 / -1;
183
+ }
184
+
185
+ .panel-title {
186
+ margin-bottom: 16px;
187
+ font-size: 26px;
188
+ font-weight: 900;
189
+ }
190
+
191
+ .stat-row {
192
+ display: grid;
193
+ grid-template-columns: 58px 1fr 42px;
194
+ align-items: center;
195
+ gap: 10px;
196
+ margin: 10px 0;
197
+ font-size: 18px;
198
+ }
199
+
200
+ .track {
201
+ height: 12px;
202
+ border-radius: 6px;
203
+ background: #e8eef3;
204
+ overflow: hidden;
205
+ }
206
+
207
+ .track i {
208
+ display: block;
209
+ height: 100%;
210
+ }
211
+
212
+ .feature-card {
213
+ padding: 14px;
214
+ border-left: 5px solid var(--green);
215
+ background: #f5fbf8;
216
+ }
217
+
218
+ .feature-name {
219
+ font-size: 22px;
220
+ font-weight: 900;
221
+ }
222
+
223
+ .feature-card p,
224
+ .ecology,
225
+ .skill-card p,
226
+ .topic-card p {
227
+ margin: 8px 0 0;
228
+ color: #435367;
229
+ font-size: 17px;
230
+ line-height: 1.45;
231
+ }
232
+
233
+ .info-list {
234
+ display: grid;
235
+ grid-template-columns: repeat(3, 1fr);
236
+ gap: 10px;
237
+ margin-top: 12px;
238
+ }
239
+
240
+ .effect-grid {
241
+ display: grid;
242
+ grid-template-columns: repeat(2, 1fr);
243
+ gap: 8px;
244
+ margin-top: 12px;
245
+ }
246
+
247
+ .effect-grid div {
248
+ padding: 10px;
249
+ border: 1px solid var(--line);
250
+ border-radius: 6px;
251
+ background: #f8fbfd;
252
+ }
253
+
254
+ .effect-grid span {
255
+ display: block;
256
+ color: var(--muted);
257
+ font-size: 14px;
258
+ }
259
+
260
+ .effect-grid strong {
261
+ display: block;
262
+ margin-top: 3px;
263
+ font-size: 18px;
264
+ }
265
+
266
+ .family-list {
267
+ display: grid;
268
+ grid-template-columns: repeat(2, 1fr);
269
+ gap: 10px;
270
+ }
271
+
272
+ .family-card {
273
+ display: flex;
274
+ gap: 10px;
275
+ align-items: center;
276
+ padding: 10px;
277
+ border: 1px solid var(--line);
278
+ border-radius: 6px;
279
+ background: #fbfdff;
280
+ }
281
+
282
+ .family-card.current {
283
+ border-color: var(--gold);
284
+ background: #fff9ed;
285
+ }
286
+
287
+ .family-card img,
288
+ .skill-card img {
289
+ width: 44px;
290
+ height: 44px;
291
+ object-fit: contain;
292
+ }
293
+
294
+ .family-card span,
295
+ .family-card small,
296
+ .skill-meta,
297
+ .area-line {
298
+ display: block;
299
+ color: var(--muted);
300
+ font-size: 15px;
301
+ }
302
+
303
+ .skill-group {
304
+ margin-top: 14px;
305
+ }
306
+
307
+ .group-title {
308
+ margin-bottom: 8px;
309
+ color: var(--blue);
310
+ font-size: 21px;
311
+ font-weight: 900;
312
+ }
313
+
314
+ .skill-list {
315
+ display: grid;
316
+ grid-template-columns: repeat(2, 1fr);
317
+ gap: 10px;
318
+ }
319
+
320
+ .skill-card {
321
+ display: grid;
322
+ grid-template-columns: 46px minmax(0, 1fr);
323
+ gap: 10px;
324
+ padding: 12px;
325
+ border: 1px solid var(--line);
326
+ border-radius: 6px;
327
+ background: #fbfdff;
328
+ }
329
+
330
+ .skill-head {
331
+ display: flex;
332
+ align-items: baseline;
333
+ justify-content: space-between;
334
+ gap: 8px;
335
+ }
336
+
337
+ .skill-head strong {
338
+ font-size: 19px;
339
+ }
340
+
341
+ .skill-head span {
342
+ color: var(--muted);
343
+ font-size: 15px;
344
+ }
345
+
346
+ .topic-list {
347
+ display: grid;
348
+ grid-template-columns: repeat(2, 1fr);
349
+ gap: 10px;
350
+ margin-top: 10px;
351
+ }
352
+
353
+ .topic-card {
354
+ padding: 12px;
355
+ border: 1px solid var(--line);
356
+ border-radius: 6px;
357
+ background: #fbfdff;
358
+ }
359
+
360
+ .reward-row {
361
+ display: flex;
362
+ flex-wrap: wrap;
363
+ gap: 8px;
364
+ margin-top: 8px;
365
+ }
366
+
367
+ .reward-row span {
368
+ display: inline-flex;
369
+ align-items: center;
370
+ gap: 4px;
371
+ padding: 4px 8px;
372
+ border-radius: 5px;
373
+ background: #eef4f8;
374
+ color: #405064;
375
+ }
376
+
377
+ .reward-row img {
378
+ width: 22px;
379
+ height: 22px;
380
+ }
381
+
382
+ .empty {
383
+ color: var(--muted);
384
+ font-size: 18px;
385
+ }
386
+
387
+ .wiki-footer {
388
+ display: flex;
389
+ justify-content: space-between;
390
+ margin-top: 16px;
391
+ color: var(--muted);
392
+ font-size: 16px;
393
+ }