koishi-plugin-rocom 1.0.12 → 1.0.13
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.
- package/lib/client.d.ts +17 -1
- package/lib/client.js +121 -21
- package/lib/commands/merchant.js +340 -89
- package/lib/commands/query.js +22 -6
- package/lib/index.d.ts +4 -0
- package/lib/index.js +480 -122
- package/lib/render-templates/home/img/rocomuid/a_title.png +0 -0
- package/lib/render-templates/home/img/rocomuid/banner_bg.png +0 -0
- package/lib/render-templates/home/img/rocomuid/bg.jpg +0 -0
- package/lib/render-templates/home/img/rocomuid/img_head.png +0 -0
- package/lib/render-templates/home/img/rocomuid/jindu_bar.png +0 -0
- package/lib/render-templates/home/img/rocomuid/jindu_tc.png +0 -0
- package/lib/render-templates/home/img/rocomuid/level_icon.png +0 -0
- package/lib/render-templates/home/img/rocomuid/pet_bg.png +0 -0
- package/lib/render-templates/home/img/rocomuid/plant_bg.png +0 -0
- package/lib/render-templates/home/img/rocomuid/star_1.png +0 -0
- package/lib/render-templates/home/img/rocomuid/star_8.png +0 -0
- package/lib/render-templates/home/img/rocomuid/star_9.png +0 -0
- package/lib/render-templates/home/img/rocomuid/title_fg.png +0 -0
- package/lib/render-templates/home/img/rocomuid/top_bg.png +0 -0
- package/lib/render-templates/home/img/rocomuid/touxiang_mask.png +0 -0
- package/lib/render-templates/home/index.html +81 -97
- package/lib/render-templates/home/style.css +316 -375
- package/lib/render-templates/yuanxing-shangren/CHANGELOG.md +138 -0
- package/lib/render-templates/yuanxing-shangren/README.md +86 -0
- package/lib/render-templates/yuanxing-shangren/img/coin.png +0 -0
- package/lib/render-templates/yuanxing-shangren/img//345/272/225/351/203/250/344/277/241/346/201/257/346/241/206.png +0 -0
- package/lib/render-templates/yuanxing-shangren/img//346/240/207/351/242/230.png +0 -0
- package/lib/render-templates/yuanxing-shangren/img//347/203/255/351/224/200.png +0 -0
- package/lib/render-templates/yuanxing-shangren/img//347/274/226/345/217/267/350/203/214/346/231/257/346/241/206.png +0 -0
- package/lib/render-templates/yuanxing-shangren/index.html +198 -170
- package/lib/render-templates/yuanxing-shangren/index.html.backup +356 -0
- package/lib/render-templates/yuanxing-shangren/merchant.html +461 -0
- package/lib/render-templates/yuanxing-shangren/style.css +201 -256
- package/lib/render-templates/yuanxing-shangren/today.html +461 -0
- package/lib/render-templates/yuanxing-shangren/today.style.css +366 -0
- package/lib/render.js +11 -4
- package/lib/subscription-send.js +4 -5
- package/lib/ttf/rocom_skill_origin.ttf +0 -0
- package/lib/ttf//351/200/240/345/255/227/345/267/245/346/210/277/345/220/257/351/273/221/344/275/223.ttf +0 -0
- package/lib/types.d.ts +4 -0
- package/package.json +1 -1
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
<head>
|
|
4
4
|
<meta charset="UTF-8">
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
|
-
<title
|
|
6
|
+
<title>今日远行商人</title>
|
|
7
7
|
<style>
|
|
8
8
|
@font-face {
|
|
9
9
|
font-family: "fzlant";
|
|
@@ -31,10 +31,13 @@
|
|
|
31
31
|
--card-bg: rgba(255, 252, 247, 0.82);
|
|
32
32
|
--tag-bg: rgba(255, 214, 153, 0.4);
|
|
33
33
|
--tag-text: #9a5f19;
|
|
34
|
+
--round-current-bg: rgba(255, 214, 153, 0.25);
|
|
35
|
+
--round-current-border: rgba(200, 140, 40, 0.4);
|
|
36
|
+
--round-current-text: #b06800;
|
|
34
37
|
--accent-color: #a0631d;
|
|
35
38
|
--warning-color: #bf5f3f;
|
|
36
39
|
--border-color: rgba(179, 123, 45, 0.2);
|
|
37
|
-
--border-color-light: rgba(118, 97, 74, 0.
|
|
40
|
+
--border-color-light: rgba(118, 97, 74, 0.12);
|
|
38
41
|
--weekend-color: #c04030;
|
|
39
42
|
--normal-color: #2a8040;
|
|
40
43
|
--round-color: #2a60b0;
|
|
@@ -49,15 +52,17 @@ body {
|
|
|
49
52
|
height: auto;
|
|
50
53
|
font-family: var(--font-family);
|
|
51
54
|
color: var(--text-1);
|
|
52
|
-
background:
|
|
55
|
+
background: #ece3d3;
|
|
53
56
|
}
|
|
54
57
|
|
|
55
58
|
.merchant-page {
|
|
56
59
|
position: relative;
|
|
57
|
-
width: min(
|
|
60
|
+
width: min(1040px, calc(100vw - 24px));
|
|
58
61
|
margin: 0 auto;
|
|
62
|
+
padding: 14px;
|
|
59
63
|
overflow: hidden;
|
|
60
|
-
background:
|
|
64
|
+
background: #ece3d3;
|
|
65
|
+
border-radius: 30px;
|
|
61
66
|
}
|
|
62
67
|
|
|
63
68
|
.background {
|
|
@@ -74,14 +79,14 @@ body {
|
|
|
74
79
|
position: relative;
|
|
75
80
|
z-index: 1;
|
|
76
81
|
width: 100%;
|
|
77
|
-
padding:
|
|
82
|
+
padding: 2px 0 4px;
|
|
78
83
|
}
|
|
79
84
|
|
|
80
85
|
.header {
|
|
81
86
|
display: flex;
|
|
82
87
|
justify-content: space-between;
|
|
83
|
-
gap:
|
|
84
|
-
padding: 22px
|
|
88
|
+
gap: 16px;
|
|
89
|
+
padding: 20px 22px;
|
|
85
90
|
border: 1px solid var(--line);
|
|
86
91
|
border-radius: 24px;
|
|
87
92
|
background: linear-gradient(135deg, rgba(255,255,255,0.86), rgba(245,236,221,0.9));
|
|
@@ -97,110 +102,175 @@ body {
|
|
|
97
102
|
.title-main {
|
|
98
103
|
display: flex;
|
|
99
104
|
align-items: center;
|
|
100
|
-
gap:
|
|
105
|
+
gap: 12px;
|
|
101
106
|
}
|
|
102
107
|
|
|
103
108
|
.title-badge {
|
|
104
|
-
width:
|
|
105
|
-
height:
|
|
109
|
+
width: 60px;
|
|
110
|
+
height: 60px;
|
|
106
111
|
display: flex;
|
|
107
112
|
align-items: center;
|
|
108
113
|
justify-content: center;
|
|
109
114
|
background: transparent;
|
|
110
115
|
color: #fffaf0;
|
|
111
|
-
font-size:
|
|
116
|
+
font-size: 28px;
|
|
112
117
|
font-weight: 900;
|
|
113
118
|
}
|
|
114
119
|
|
|
115
120
|
.title-badge img {
|
|
116
|
-
width:
|
|
117
|
-
height:
|
|
121
|
+
width: 60px;
|
|
122
|
+
height: 60px;
|
|
118
123
|
object-fit: contain;
|
|
119
124
|
}
|
|
120
125
|
|
|
121
126
|
.title-text {
|
|
122
127
|
font-family: var(--font-family-accent);
|
|
123
|
-
font-size:
|
|
128
|
+
font-size: 36px;
|
|
124
129
|
font-weight: 900;
|
|
125
|
-
letter-spacing:
|
|
130
|
+
letter-spacing: 1px;
|
|
126
131
|
}
|
|
127
132
|
|
|
128
133
|
.subtitle {
|
|
129
134
|
color: var(--text-2);
|
|
130
|
-
font-size:
|
|
135
|
+
font-size: 16px;
|
|
131
136
|
}
|
|
132
137
|
|
|
133
138
|
.header-side {
|
|
134
|
-
min-width:
|
|
139
|
+
min-width: 200px;
|
|
135
140
|
display: flex;
|
|
136
141
|
flex-direction: column;
|
|
137
142
|
align-items: flex-end;
|
|
138
143
|
justify-content: center;
|
|
139
|
-
gap:
|
|
144
|
+
gap: 12px;
|
|
140
145
|
}
|
|
141
146
|
|
|
142
147
|
.summary-chip {
|
|
143
|
-
padding:
|
|
148
|
+
padding: 9px 14px;
|
|
144
149
|
border-radius: 999px;
|
|
145
150
|
background: rgba(255,255,255,0.72);
|
|
146
151
|
border: 1px solid var(--border-color);
|
|
147
152
|
color: var(--text-2);
|
|
148
|
-
font-size:
|
|
153
|
+
font-size: 16px;
|
|
149
154
|
}
|
|
150
155
|
|
|
151
156
|
.summary-chip strong {
|
|
152
157
|
font-family: var(--font-family-accent);
|
|
153
158
|
color: var(--accent-color);
|
|
154
|
-
font-size:
|
|
159
|
+
font-size: 24px;
|
|
155
160
|
margin-left: 8px;
|
|
156
161
|
}
|
|
157
162
|
|
|
158
|
-
.
|
|
163
|
+
.category-section {
|
|
164
|
+
margin-top: 18px;
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
.category-header {
|
|
159
168
|
display: flex;
|
|
160
169
|
align-items: center;
|
|
161
170
|
gap: 12px;
|
|
162
|
-
|
|
163
|
-
|
|
171
|
+
margin-bottom: 12px;
|
|
172
|
+
padding: 0 4px;
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
.category-title {
|
|
176
|
+
font-family: var(--font-family-accent);
|
|
177
|
+
font-size: 24px;
|
|
178
|
+
font-weight: 800;
|
|
179
|
+
color: var(--text-1);
|
|
164
180
|
}
|
|
165
181
|
|
|
166
|
-
.
|
|
167
|
-
|
|
168
|
-
padding: 8px 14px;
|
|
182
|
+
.category-count {
|
|
183
|
+
padding: 4px 10px;
|
|
169
184
|
border-radius: 999px;
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
185
|
+
font-size: 14px;
|
|
186
|
+
font-weight: 700;
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
.category-count.normal {
|
|
190
|
+
background: var(--normal-bg);
|
|
191
|
+
color: var(--normal-color);
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
.category-count.round {
|
|
195
|
+
background: var(--round-bg);
|
|
196
|
+
color: var(--round-color);
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
.category-count.weekend {
|
|
200
|
+
background: var(--weekend-bg);
|
|
201
|
+
color: var(--weekend-color);
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
.round-section {
|
|
205
|
+
padding: 14px 18px;
|
|
206
|
+
border: 1px solid var(--round-current-border);
|
|
207
|
+
border-radius: 16px;
|
|
208
|
+
background: linear-gradient(135deg, rgba(255,248,235,0.88), rgba(255,240,210,0.9));
|
|
209
|
+
box-shadow: 0 6px 22px rgba(180, 120, 20, 0.08);
|
|
210
|
+
margin-bottom: 10px;
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
.round-section:last-child {
|
|
214
|
+
margin-bottom: 0;
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
.round-section.is-current {
|
|
218
|
+
background: linear-gradient(135deg, rgba(255,248,235,1), rgba(255,240,210,1));
|
|
219
|
+
border-color: rgba(200, 140, 40, 0.6);
|
|
220
|
+
box-shadow: 0 6px 28px rgba(180, 120, 20, 0.12);
|
|
173
221
|
}
|
|
174
222
|
|
|
175
|
-
.
|
|
176
|
-
|
|
223
|
+
.round-header {
|
|
224
|
+
display: flex;
|
|
225
|
+
align-items: center;
|
|
226
|
+
gap: 10px;
|
|
227
|
+
margin-bottom: 10px;
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
.round-title {
|
|
231
|
+
font-family: var(--font-family-accent);
|
|
232
|
+
font-size: 18px;
|
|
177
233
|
font-weight: 700;
|
|
234
|
+
color: var(--text-2);
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
.round-badge {
|
|
238
|
+
padding: 3px 8px;
|
|
239
|
+
border-radius: 999px;
|
|
240
|
+
background: var(--tag-bg);
|
|
241
|
+
color: var(--tag-text);
|
|
242
|
+
font-size: 12px;
|
|
243
|
+
font-weight: 700;
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
.round-badge.current {
|
|
247
|
+
background: var(--round-current-bg);
|
|
248
|
+
color: var(--round-current-text);
|
|
178
249
|
}
|
|
179
250
|
|
|
180
251
|
.products-grid {
|
|
181
|
-
display:
|
|
182
|
-
|
|
183
|
-
gap:
|
|
184
|
-
margin-top: 18px;
|
|
252
|
+
display: grid;
|
|
253
|
+
grid-template-columns: 1fr;
|
|
254
|
+
gap: 14px;
|
|
185
255
|
}
|
|
186
256
|
|
|
187
257
|
.product-card {
|
|
188
258
|
display: grid;
|
|
189
|
-
grid-template-columns:
|
|
190
|
-
gap:
|
|
259
|
+
grid-template-columns: 80px 1fr auto;
|
|
260
|
+
gap: 14px;
|
|
191
261
|
align-items: center;
|
|
192
|
-
min-height:
|
|
193
|
-
padding:
|
|
194
|
-
border: 1px solid rgba(200, 140, 40, 0.
|
|
195
|
-
border-radius:
|
|
196
|
-
background: linear-gradient(135deg, rgba(255,248,235,0.
|
|
197
|
-
box-shadow: 0
|
|
262
|
+
min-height: 96px;
|
|
263
|
+
padding: 12px 16px;
|
|
264
|
+
border: 1px solid rgba(200, 140, 40, 0.3);
|
|
265
|
+
border-radius: 16px;
|
|
266
|
+
background: linear-gradient(135deg, rgba(255,248,235,0.75), rgba(255,240,210,0.85));
|
|
267
|
+
box-shadow: 0 4px 14px rgba(180, 120, 20, 0.06);
|
|
198
268
|
}
|
|
199
269
|
|
|
200
270
|
.product-image-container {
|
|
201
|
-
width:
|
|
202
|
-
height:
|
|
203
|
-
border-radius:
|
|
271
|
+
width: 80px;
|
|
272
|
+
height: 80px;
|
|
273
|
+
border-radius: 12px;
|
|
204
274
|
background: radial-gradient(circle at 30% 30%, rgba(255,255,255,0.94), rgba(255,240,210,0.92));
|
|
205
275
|
display: flex;
|
|
206
276
|
align-items: center;
|
|
@@ -220,26 +290,20 @@ body {
|
|
|
220
290
|
|
|
221
291
|
.product-name {
|
|
222
292
|
font-family: var(--font-family-accent);
|
|
223
|
-
font-size:
|
|
293
|
+
font-size: 22px;
|
|
224
294
|
font-weight: 800;
|
|
225
295
|
line-height: 1.2;
|
|
226
296
|
word-break: break-word;
|
|
227
297
|
}
|
|
228
298
|
|
|
229
|
-
.product-sub {
|
|
230
|
-
margin-top: 10px;
|
|
231
|
-
color: var(--text-2);
|
|
232
|
-
font-size: 18px;
|
|
233
|
-
}
|
|
234
|
-
|
|
235
299
|
.product-time {
|
|
236
300
|
display: inline-flex;
|
|
237
|
-
margin-top:
|
|
238
|
-
padding:
|
|
301
|
+
margin-top: 8px;
|
|
302
|
+
padding: 5px 10px;
|
|
239
303
|
border-radius: 999px;
|
|
240
304
|
background: var(--tag-bg);
|
|
241
305
|
color: var(--tag-text);
|
|
242
|
-
font-size:
|
|
306
|
+
font-size: 14px;
|
|
243
307
|
font-weight: 700;
|
|
244
308
|
}
|
|
245
309
|
|
|
@@ -251,161 +315,123 @@ body {
|
|
|
251
315
|
}
|
|
252
316
|
|
|
253
317
|
.product-slot {
|
|
254
|
-
padding: 10px
|
|
255
|
-
border-radius:
|
|
318
|
+
padding: 7px 10px;
|
|
319
|
+
border-radius: 12px;
|
|
256
320
|
background: rgba(255,255,255,0.72);
|
|
257
321
|
border: 1px solid var(--border-color);
|
|
258
322
|
color: var(--accent-color);
|
|
259
|
-
font-size:
|
|
323
|
+
font-size: 14px;
|
|
260
324
|
font-weight: 700;
|
|
261
325
|
}
|
|
262
326
|
|
|
263
|
-
.
|
|
327
|
+
.round-empty {
|
|
328
|
+
text-align: center;
|
|
329
|
+
padding: 18px 14px;
|
|
330
|
+
border-radius: 14px;
|
|
331
|
+
border: 1px dashed rgba(200, 140, 40, 0.3);
|
|
332
|
+
color: #8b7a66;
|
|
333
|
+
font-size: 16px;
|
|
334
|
+
background: rgba(255,248,235,0.5);
|
|
335
|
+
}
|
|
336
|
+
|
|
337
|
+
.all-empty {
|
|
264
338
|
text-align: center;
|
|
265
|
-
padding:
|
|
266
|
-
|
|
339
|
+
padding: 40px 18px;
|
|
340
|
+
margin-top: 18px;
|
|
341
|
+
border-radius: 20px;
|
|
267
342
|
border: 1px dashed rgba(200, 140, 40, 0.35);
|
|
268
343
|
color: #5c4a37;
|
|
269
|
-
font-size:
|
|
344
|
+
font-size: 20px;
|
|
270
345
|
background: rgba(255,248,235,0.6);
|
|
271
346
|
}
|
|
272
347
|
|
|
273
|
-
.category-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
flex-direction: column;
|
|
277
|
-
gap: 14px;
|
|
278
|
-
}
|
|
279
|
-
|
|
280
|
-
.category-header {
|
|
281
|
-
display: flex;
|
|
282
|
-
align-items: center;
|
|
283
|
-
gap: 10px;
|
|
284
|
-
padding: 0 4px;
|
|
285
|
-
}
|
|
286
|
-
|
|
287
|
-
.category-title {
|
|
288
|
-
font-family: var(--font-family-accent);
|
|
289
|
-
font-size: 22px;
|
|
290
|
-
font-weight: 800;
|
|
291
|
-
color: var(--text-1);
|
|
292
|
-
}
|
|
293
|
-
|
|
294
|
-
.category-tag {
|
|
295
|
-
padding: 3px 10px;
|
|
348
|
+
.category-label {
|
|
349
|
+
display: inline-flex;
|
|
350
|
+
padding: 3px 8px;
|
|
296
351
|
border-radius: 999px;
|
|
297
|
-
font-size:
|
|
352
|
+
font-size: 12px;
|
|
298
353
|
font-weight: 700;
|
|
354
|
+
margin-left: 8px;
|
|
355
|
+
vertical-align: middle;
|
|
299
356
|
}
|
|
300
357
|
|
|
301
|
-
.category-
|
|
358
|
+
.category-label.weekend {
|
|
302
359
|
background: var(--weekend-bg);
|
|
303
360
|
color: var(--weekend-color);
|
|
304
361
|
}
|
|
305
362
|
|
|
306
|
-
.category-
|
|
363
|
+
.category-label.normal {
|
|
307
364
|
background: var(--normal-bg);
|
|
308
365
|
color: var(--normal-color);
|
|
309
366
|
}
|
|
310
367
|
|
|
311
|
-
.category-
|
|
368
|
+
.category-label.round {
|
|
312
369
|
background: var(--round-bg);
|
|
313
370
|
color: var(--round-color);
|
|
314
371
|
}
|
|
315
|
-
|
|
316
|
-
@media (max-width: 760px) {
|
|
317
|
-
.merchant-page {
|
|
318
|
-
width: 100%;
|
|
319
|
-
}
|
|
320
|
-
|
|
321
|
-
.content-container {
|
|
322
|
-
padding: 10px 10px 14px;
|
|
323
|
-
}
|
|
324
|
-
|
|
325
|
-
.header {
|
|
326
|
-
flex-direction: column;
|
|
327
|
-
gap: 10px;
|
|
328
|
-
padding: 14px 16px;
|
|
329
|
-
}
|
|
330
|
-
|
|
331
|
-
.header-side {
|
|
332
|
-
min-width: 0;
|
|
333
|
-
align-items: flex-start;
|
|
334
|
-
}
|
|
335
|
-
|
|
336
|
-
.round-info {
|
|
337
|
-
justify-content: flex-start;
|
|
338
|
-
}
|
|
339
|
-
|
|
340
|
-
.title-badge,
|
|
341
|
-
.title-badge img {
|
|
342
|
-
width: 48px;
|
|
343
|
-
height: 48px;
|
|
344
|
-
}
|
|
345
|
-
|
|
346
|
-
.title-text {
|
|
347
|
-
font-size: 30px;
|
|
348
|
-
}
|
|
349
|
-
|
|
350
|
-
.product-card {
|
|
351
|
-
grid-template-columns: 80px 1fr;
|
|
352
|
-
min-height: 0;
|
|
353
|
-
padding: 12px 14px;
|
|
354
|
-
}
|
|
355
|
-
|
|
356
|
-
.product-image-container {
|
|
357
|
-
width: 80px;
|
|
358
|
-
height: 80px;
|
|
359
|
-
}
|
|
360
|
-
|
|
361
|
-
.product-name {
|
|
362
|
-
font-size: 24px;
|
|
363
|
-
}
|
|
364
|
-
|
|
365
|
-
.product-side {
|
|
366
|
-
grid-column: 1 / -1;
|
|
367
|
-
justify-content: flex-start;
|
|
368
|
-
padding-left: 94px;
|
|
369
|
-
}
|
|
370
|
-
}
|
|
371
372
|
</style>
|
|
372
373
|
</head>
|
|
373
374
|
<body>
|
|
374
|
-
<div class="merchant-page">
|
|
375
|
+
<div id="container" class="merchant-page">
|
|
375
376
|
<div class="background" style="background-image: url('{{background}}');"></div>
|
|
376
377
|
<div class="content-container">
|
|
377
378
|
<div class="header">
|
|
378
379
|
<div class="title-section">
|
|
379
380
|
<div class="title-main">
|
|
380
381
|
<div class="title-badge">
|
|
381
|
-
{{
|
|
382
|
-
<img src="{{_res_path}}img/yuanxingshangren.png" alt="{{title}}">
|
|
383
|
-
{{else}}
|
|
384
|
-
远
|
|
385
|
-
{{/if}}
|
|
382
|
+
<img src="{{_res_path}}img/yuanxingshangren.png" alt="今日远行商人">
|
|
386
383
|
</div>
|
|
387
384
|
<span class="title-text">{{title}}</span>
|
|
388
385
|
</div>
|
|
389
386
|
<div class="subtitle">{{subtitle}}</div>
|
|
390
387
|
</div>
|
|
391
388
|
<div class="header-side">
|
|
392
|
-
<div class="summary-chip"
|
|
393
|
-
<div class="round-info">
|
|
394
|
-
<div class="round-pill">第 {{round_info.current || '未开放'}} / {{round_info.total}} 轮</div>
|
|
395
|
-
<div class="countdown-pill">剩余 {{round_info.countdown}}</div>
|
|
396
|
-
</div>
|
|
389
|
+
<div class="summary-chip">今日商品数 <strong>{{total_products}}</strong></div>
|
|
397
390
|
</div>
|
|
398
391
|
</div>
|
|
399
392
|
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
<div class="category-
|
|
404
|
-
<
|
|
405
|
-
|
|
406
|
-
|
|
393
|
+
{{if total_products > 0}}
|
|
394
|
+
{{each categories cat}}
|
|
395
|
+
<div class="category-section">
|
|
396
|
+
<div class="category-header">
|
|
397
|
+
<span class="category-title">{{cat.label}}</span>
|
|
398
|
+
<span class="category-count {{cat.key}}">{{cat.product_count}} 件</span>
|
|
399
|
+
</div>
|
|
400
|
+
{{if cat.key === 'round'}}
|
|
401
|
+
{{each cat.roundGroups group}}
|
|
402
|
+
<div class="round-section {{if group.is_current}}is-current{{/if}}">
|
|
403
|
+
<div class="round-header">
|
|
404
|
+
<span class="round-title">第{{group.round_id}}轮 {{group.label}}</span>
|
|
405
|
+
{{if group.is_current}}
|
|
406
|
+
<span class="round-badge current">当前轮次</span>
|
|
407
|
+
{{/if}}
|
|
407
408
|
</div>
|
|
408
|
-
{{
|
|
409
|
+
{{if group.products && group.products.length > 0}}
|
|
410
|
+
<div class="products-grid">
|
|
411
|
+
{{each group.products product}}
|
|
412
|
+
<div class="product-card">
|
|
413
|
+
<div class="product-image-container">
|
|
414
|
+
<img class="product-image" src="{{product.image}}" alt="{{product.name}}">
|
|
415
|
+
</div>
|
|
416
|
+
<div class="product-main">
|
|
417
|
+
<div class="product-name">{{product.name}}</div>
|
|
418
|
+
<div class="product-time">北京时间 {{product.time_label}}</div>
|
|
419
|
+
</div>
|
|
420
|
+
<div class="product-side">
|
|
421
|
+
<div class="product-slot">第{{group.round_id}}轮</div>
|
|
422
|
+
</div>
|
|
423
|
+
</div>
|
|
424
|
+
{{/each}}
|
|
425
|
+
</div>
|
|
426
|
+
{{else}}
|
|
427
|
+
<div class="round-empty">该轮次暂无商品</div>
|
|
428
|
+
{{/if}}
|
|
429
|
+
</div>
|
|
430
|
+
{{/each}}
|
|
431
|
+
{{else}}
|
|
432
|
+
<div class="products-grid">
|
|
433
|
+
{{each cat.roundGroups group}}
|
|
434
|
+
{{each group.products product}}
|
|
409
435
|
<div class="product-card">
|
|
410
436
|
<div class="product-image-container">
|
|
411
437
|
<img class="product-image" src="{{product.image}}" alt="{{product.name}}">
|
|
@@ -416,12 +442,14 @@ body {
|
|
|
416
442
|
</div>
|
|
417
443
|
</div>
|
|
418
444
|
{{/each}}
|
|
445
|
+
{{/each}}
|
|
419
446
|
</div>
|
|
420
|
-
{{/each}}
|
|
421
|
-
{{else}}
|
|
422
|
-
<div class="product-empty">本轮暂无商品,稍后再来看看。</div>
|
|
423
447
|
{{/if}}
|
|
424
448
|
</div>
|
|
449
|
+
{{/each}}
|
|
450
|
+
{{else}}
|
|
451
|
+
<div class="all-empty">今日暂无已公布的远行商人商品,稍后再来看看。</div>
|
|
452
|
+
{{/if}}
|
|
425
453
|
</div>
|
|
426
454
|
</div>
|
|
427
455
|
</body>
|