koishi-plugin-rocom 1.0.8 → 1.0.10

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.
@@ -1,255 +0,0 @@
1
- @font-face {
2
- font-family: "rocom-student";
3
- src: url("../../ttf/HYWenHei-85W-1.ttf") format("truetype");
4
- font-display: swap;
5
- }
6
-
7
- html,
8
- body {
9
- margin: 0;
10
- padding: 26px;
11
- background: #efe6d8;
12
- display: inline-block;
13
- font-family: "rocom-student", "Microsoft YaHei", "PingFang SC", sans-serif;
14
- }
15
-
16
- .student-page {
17
- width: 1260px;
18
- padding: 34px 36px 30px;
19
- box-sizing: border-box;
20
- border-radius: 28px;
21
- color: #322618;
22
- background:
23
- linear-gradient(rgba(40, 29, 18, 0.10), rgba(40, 29, 18, 0.10)),
24
- url("../../img/ercode-bg.D1ccSQKH.png") center/cover no-repeat;
25
- }
26
-
27
- .page-header {
28
- padding-bottom: 18px;
29
- border-bottom: 2px dashed rgba(141, 106, 68, 0.28);
30
- }
31
-
32
- .page-title {
33
- font-size: 44px;
34
- line-height: 1.1;
35
- font-weight: 800;
36
- }
37
-
38
- .page-subtitle {
39
- margin-top: 10px;
40
- font-size: 22px;
41
- line-height: 1.4;
42
- color: #6d5944;
43
- }
44
-
45
- .hero-card,
46
- .summary-card,
47
- .panel-card,
48
- .command-hint,
49
- .empty-card {
50
- border: 1px solid rgba(141, 106, 68, 0.16);
51
- border-radius: 20px;
52
- background: rgba(255, 252, 247, 0.82);
53
- box-shadow: 0 10px 26px rgba(83, 58, 35, 0.08);
54
- }
55
-
56
- .hero-card {
57
- margin-top: 22px;
58
- padding: 24px 26px;
59
- background:
60
- linear-gradient(135deg, rgba(237, 179, 89, 0.24), rgba(255, 251, 245, 0.88)),
61
- rgba(255, 252, 247, 0.86);
62
- }
63
-
64
- .hero-title {
65
- font-size: 20px;
66
- color: #8b735b;
67
- }
68
-
69
- .hero-value {
70
- margin-top: 8px;
71
- font-size: 42px;
72
- line-height: 1.15;
73
- font-weight: 800;
74
- color: #2e2418;
75
- }
76
-
77
- .hero-subvalue {
78
- margin-top: 8px;
79
- font-size: 22px;
80
- color: #6d5944;
81
- }
82
-
83
- .summary-grid {
84
- display: grid;
85
- grid-template-columns: repeat(3, 1fr);
86
- gap: 16px;
87
- margin-top: 22px;
88
- }
89
-
90
- .summary-card {
91
- padding: 18px 20px;
92
- }
93
-
94
- .summary-label {
95
- font-size: 18px;
96
- color: #8b735b;
97
- }
98
-
99
- .summary-value {
100
- margin-top: 10px;
101
- font-size: 30px;
102
- line-height: 1.2;
103
- font-weight: 800;
104
- }
105
-
106
- .dual-grid {
107
- display: grid;
108
- grid-template-columns: 1fr 1.2fr;
109
- gap: 18px;
110
- margin-top: 24px;
111
- }
112
-
113
- .panel-card {
114
- padding: 20px;
115
- }
116
-
117
- .extra-panel {
118
- margin-top: 18px;
119
- }
120
-
121
- .section-title {
122
- margin-bottom: 14px;
123
- font-size: 28px;
124
- font-weight: 800;
125
- }
126
-
127
- .detail-card {
128
- overflow: hidden;
129
- border-radius: 18px;
130
- background: rgba(255,255,255,0.42);
131
- border: 1px solid rgba(141, 106, 68, 0.10);
132
- }
133
-
134
- .detail-row {
135
- display: grid;
136
- grid-template-columns: 220px 1fr;
137
- gap: 16px;
138
- padding: 15px 18px;
139
- border-bottom: 1px solid rgba(141, 106, 68, 0.10);
140
- }
141
-
142
- .detail-row:last-child {
143
- border-bottom: none;
144
- }
145
-
146
- .detail-label {
147
- font-size: 20px;
148
- font-weight: 700;
149
- color: #6d5944;
150
- }
151
-
152
- .detail-value {
153
- font-size: 20px;
154
- color: #322618;
155
- word-break: break-word;
156
- }
157
-
158
- .perks-list {
159
- display: grid;
160
- gap: 14px;
161
- }
162
-
163
- .perk-card {
164
- padding: 16px;
165
- border-radius: 18px;
166
- background: rgba(255,255,255,0.42);
167
- border: 1px solid rgba(141, 106, 68, 0.10);
168
- }
169
-
170
- .perk-top {
171
- display: grid;
172
- grid-template-columns: 72px 1fr auto;
173
- gap: 14px;
174
- align-items: center;
175
- }
176
-
177
- .perk-icon-wrap {
178
- width: 72px;
179
- height: 72px;
180
- border-radius: 16px;
181
- background: rgba(230, 219, 203, 0.58);
182
- display: flex;
183
- align-items: center;
184
- justify-content: center;
185
- overflow: hidden;
186
- }
187
-
188
- .perk-icon {
189
- width: 100%;
190
- height: 100%;
191
- object-fit: cover;
192
- }
193
-
194
- .perk-icon-fallback {
195
- display: flex;
196
- align-items: center;
197
- justify-content: center;
198
- font-size: 28px;
199
- font-weight: 800;
200
- color: #8b735b;
201
- }
202
-
203
- .perk-name {
204
- font-size: 24px;
205
- font-weight: 800;
206
- line-height: 1.2;
207
- }
208
-
209
- .perk-meta {
210
- margin-top: 6px;
211
- font-size: 17px;
212
- color: #7a6550;
213
- }
214
-
215
- .perk-state {
216
- padding: 8px 12px;
217
- border-radius: 999px;
218
- background: rgba(211, 144, 53, 0.14);
219
- color: #9f6621;
220
- font-size: 17px;
221
- font-weight: 700;
222
- }
223
-
224
- .perk-desc {
225
- margin-top: 12px;
226
- font-size: 18px;
227
- line-height: 1.5;
228
- color: #4f3c29;
229
- }
230
-
231
- .panel-footer {
232
- margin-top: 14px;
233
- font-size: 18px;
234
- color: #7a6550;
235
- }
236
-
237
- .empty-card {
238
- padding: 24px;
239
- font-size: 20px;
240
- color: #6d5944;
241
- }
242
-
243
- .command-hint {
244
- margin-top: 20px;
245
- padding: 14px 18px;
246
- font-size: 20px;
247
- color: #6d5944;
248
- }
249
-
250
- .footer {
251
- margin-top: 18px;
252
- text-align: center;
253
- font-size: 16px;
254
- color: rgba(113, 93, 73, 0.88);
255
- }
@@ -1,78 +0,0 @@
1
- <!DOCTYPE html>
2
- <html lang="zh-CN">
3
- <head>
4
- <meta charset="utf-8">
5
- <meta name="viewport" content="width=1280, initial-scale=1">
6
- <link rel="stylesheet" href="{{_res_path}}render/student-perks/style.css">
7
- </head>
8
- <body>
9
- <div class="student-perks-page perks-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-copy">
17
- <div class="hero-title">{{heroTitle}}</div>
18
- <div class="hero-value">{{heroValue}}</div>
19
- <div class="hero-subvalue">{{heroSubvalue}}</div>
20
- </div>
21
- </div>
22
-
23
- <div class="summary-grid">
24
- {{each summaryCards item}}
25
- <div class="summary-card">
26
- <div class="summary-label">{{item.label}}</div>
27
- <div class="summary-value">{{item.value}}</div>
28
- </div>
29
- {{/each}}
30
- </div>
31
-
32
- <div class="section-title">奖励列表</div>
33
- <div class="perk-grid">
34
- {{each perkCards item}}
35
- <div class="perk-card">
36
- <div class="perk-top">
37
- <div class="perk-icon-wrap">
38
- {{if item.icon}}
39
- <img src="{{item.icon}}" class="perk-icon" alt="{{item.name}}">
40
- {{else}}
41
- <div class="perk-icon perk-icon-fallback">?</div>
42
- {{/if}}
43
- </div>
44
- <div class="perk-main">
45
- <div class="perk-name">{{item.name}}</div>
46
- <div class="perk-meta">ID {{item.id}} | 数量 x{{item.count}}</div>
47
- </div>
48
- <div class="perk-state">{{item.stateText}}</div>
49
- </div>
50
- <div class="perk-desc">{{item.desc}}</div>
51
- <div class="perk-code">状态码 {{item.stateCode}}</div>
52
- </div>
53
- {{/each}}
54
- {{if !perkCards || !perkCards.length}}
55
- <div class="empty-card">当前接口未返回奖励列表。</div>
56
- {{/if}}
57
- </div>
58
-
59
- {{if detailItems && detailItems.length}}
60
- <div class="section-title">补充信息</div>
61
- <div class="detail-card">
62
- {{each detailItems item}}
63
- <div class="detail-row">
64
- <div class="detail-label">{{item.label}}</div>
65
- <div class="detail-value">{{item.value}}</div>
66
- </div>
67
- {{/each}}
68
- </div>
69
- {{/if}}
70
-
71
- {{if commandHint}}
72
- <div class="command-hint">{{commandHint}}</div>
73
- {{/if}}
74
-
75
- <div class="footer">{{copyright}}</div>
76
- </div>
77
- </body>
78
- </html>
@@ -1,238 +0,0 @@
1
- @font-face {
2
- font-family: "rocom-perks";
3
- src: url("../../ttf/HYWenHei-85W-1.ttf") format("truetype");
4
- font-display: swap;
5
- }
6
-
7
- html,
8
- body {
9
- margin: 0;
10
- padding: 26px;
11
- background: #efe6d8;
12
- display: inline-block;
13
- font-family: "rocom-perks", "Microsoft YaHei", "PingFang SC", sans-serif;
14
- }
15
-
16
- .perks-page {
17
- width: 1260px;
18
- padding: 34px 36px 30px;
19
- box-sizing: border-box;
20
- border-radius: 28px;
21
- color: #322618;
22
- background:
23
- linear-gradient(rgba(40, 29, 18, 0.10), rgba(40, 29, 18, 0.10)),
24
- url("../../img/ercode-bg.D1ccSQKH.png") center/cover no-repeat;
25
- }
26
-
27
- .page-header {
28
- padding-bottom: 18px;
29
- border-bottom: 2px dashed rgba(141, 106, 68, 0.28);
30
- }
31
-
32
- .page-title {
33
- font-size: 44px;
34
- line-height: 1.1;
35
- font-weight: 800;
36
- }
37
-
38
- .page-subtitle {
39
- margin-top: 10px;
40
- font-size: 22px;
41
- line-height: 1.4;
42
- color: #6d5944;
43
- }
44
-
45
- .summary-grid {
46
- display: grid;
47
- grid-template-columns: repeat(3, 1fr);
48
- gap: 16px;
49
- margin-top: 22px;
50
- }
51
-
52
- .summary-card,
53
- .hero-card,
54
- .perk-card,
55
- .detail-card,
56
- .command-hint,
57
- .empty-card {
58
- border: 1px solid rgba(141, 106, 68, 0.16);
59
- border-radius: 20px;
60
- background: rgba(255, 252, 247, 0.82);
61
- box-shadow: 0 10px 26px rgba(83, 58, 35, 0.08);
62
- }
63
-
64
- .hero-card {
65
- margin-top: 22px;
66
- padding: 24px 26px;
67
- background:
68
- linear-gradient(135deg, rgba(237, 179, 89, 0.24), rgba(255, 251, 245, 0.88)),
69
- rgba(255, 252, 247, 0.86);
70
- }
71
-
72
- .hero-title {
73
- font-size: 20px;
74
- color: #8b735b;
75
- }
76
-
77
- .hero-value {
78
- margin-top: 8px;
79
- font-size: 42px;
80
- line-height: 1.15;
81
- font-weight: 800;
82
- color: #2e2418;
83
- }
84
-
85
- .hero-subvalue {
86
- margin-top: 8px;
87
- font-size: 22px;
88
- color: #6d5944;
89
- }
90
-
91
- .summary-card {
92
- padding: 18px 20px;
93
- }
94
-
95
- .summary-label {
96
- font-size: 18px;
97
- color: #8b735b;
98
- }
99
-
100
- .summary-value {
101
- margin-top: 10px;
102
- font-size: 30px;
103
- line-height: 1.2;
104
- font-weight: 800;
105
- }
106
-
107
- .section-title {
108
- margin: 28px 0 16px;
109
- font-size: 28px;
110
- font-weight: 800;
111
- }
112
-
113
- .perk-grid {
114
- display: grid;
115
- grid-template-columns: repeat(2, 1fr);
116
- gap: 18px;
117
- }
118
-
119
- .perk-card {
120
- padding: 20px;
121
- }
122
-
123
- .perk-top {
124
- display: grid;
125
- grid-template-columns: 84px 1fr auto;
126
- gap: 16px;
127
- align-items: center;
128
- }
129
-
130
- .perk-icon-wrap {
131
- width: 84px;
132
- height: 84px;
133
- border-radius: 18px;
134
- background: rgba(230, 219, 203, 0.58);
135
- display: flex;
136
- align-items: center;
137
- justify-content: center;
138
- overflow: hidden;
139
- }
140
-
141
- .perk-icon {
142
- width: 100%;
143
- height: 100%;
144
- object-fit: cover;
145
- }
146
-
147
- .perk-icon-fallback {
148
- display: flex;
149
- align-items: center;
150
- justify-content: center;
151
- font-size: 28px;
152
- font-weight: 800;
153
- color: #8b735b;
154
- }
155
-
156
- .perk-name {
157
- font-size: 28px;
158
- font-weight: 800;
159
- line-height: 1.2;
160
- }
161
-
162
- .perk-meta {
163
- margin-top: 8px;
164
- font-size: 18px;
165
- color: #7a6550;
166
- }
167
-
168
- .perk-state {
169
- padding: 8px 14px;
170
- border-radius: 999px;
171
- background: rgba(211, 144, 53, 0.14);
172
- color: #9f6621;
173
- font-size: 18px;
174
- font-weight: 700;
175
- }
176
-
177
- .perk-desc {
178
- margin-top: 16px;
179
- font-size: 20px;
180
- line-height: 1.55;
181
- color: #4f3c29;
182
- min-height: 62px;
183
- }
184
-
185
- .perk-code {
186
- margin-top: 14px;
187
- font-size: 17px;
188
- color: #8b735b;
189
- }
190
-
191
- .detail-card {
192
- overflow: hidden;
193
- }
194
-
195
- .detail-row {
196
- display: grid;
197
- grid-template-columns: 260px 1fr;
198
- gap: 16px;
199
- padding: 16px 20px;
200
- border-bottom: 1px solid rgba(141, 106, 68, 0.10);
201
- }
202
-
203
- .detail-row:last-child {
204
- border-bottom: none;
205
- }
206
-
207
- .detail-label {
208
- font-size: 21px;
209
- font-weight: 700;
210
- color: #6d5944;
211
- }
212
-
213
- .detail-value {
214
- font-size: 21px;
215
- color: #322618;
216
- word-break: break-word;
217
- }
218
-
219
- .empty-card {
220
- grid-column: 1 / -1;
221
- padding: 28px;
222
- font-size: 22px;
223
- color: #6d5944;
224
- }
225
-
226
- .command-hint {
227
- margin-top: 20px;
228
- padding: 14px 18px;
229
- font-size: 20px;
230
- color: #6d5944;
231
- }
232
-
233
- .footer {
234
- margin-top: 18px;
235
- text-align: center;
236
- font-size: 16px;
237
- color: rgba(113, 93, 73, 0.88);
238
- }
@@ -1,52 +0,0 @@
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/student-state/style.css">
7
- </head>
8
- <body>
9
- <div class="student-state-page state-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-copy">
17
- <div class="hero-title">{{heroTitle}}</div>
18
- <div class="hero-value">{{heroValue}}</div>
19
- <div class="hero-subvalue">{{heroSubvalue}}</div>
20
- </div>
21
- </div>
22
-
23
- <div class="summary-grid">
24
- {{each summaryCards item}}
25
- <div class="summary-card">
26
- <div class="summary-label">{{item.label}}</div>
27
- <div class="summary-value">{{item.value}}</div>
28
- </div>
29
- {{/each}}
30
- </div>
31
-
32
- <div class="section-title">认证详情</div>
33
- <div class="detail-card">
34
- {{each detailItems item}}
35
- <div class="detail-row">
36
- <div class="detail-label">{{item.label}}</div>
37
- <div class="detail-value">{{item.value}}</div>
38
- </div>
39
- {{/each}}
40
- {{if !detailItems || !detailItems.length}}
41
- <div class="empty-text">当前接口未返回更多认证字段。</div>
42
- {{/if}}
43
- </div>
44
-
45
- {{if commandHint}}
46
- <div class="command-hint">{{commandHint}}</div>
47
- {{/if}}
48
-
49
- <div class="footer">{{copyright}}</div>
50
- </div>
51
- </body>
52
- </html>