koishi-plugin-dew-bot 1.0.194 → 1.0.196

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.
@@ -0,0 +1,287 @@
1
+ body {
2
+ margin: 0;
3
+ padding: 0;
4
+ width: 368px;
5
+ height: 624px;
6
+ overflow: hidden;
7
+ position: relative;
8
+ background-color: #F8F3EF;
9
+ }
10
+
11
+ #app {
12
+ position: relative;
13
+ width: 100%;
14
+ height: 100%;
15
+ background-color: #F6F0E5;
16
+ }
17
+
18
+ .bg-ui {
19
+ position: absolute;
20
+ top: 0;
21
+ left: 0;
22
+ width: 100%;
23
+ height: 100%;
24
+ z-index: 1;
25
+ }
26
+
27
+ .body-show {
28
+ position: absolute;
29
+ top: 100px;
30
+ right: 10px;
31
+ width: 200px;
32
+ height: 300px;
33
+ rotate: 3deg;
34
+ z-index: 2;
35
+ }
36
+
37
+ .content {
38
+ position: relative;
39
+ top: 0;
40
+ left: 0;
41
+ z-index: 3;
42
+ height: 100%;
43
+ width: 100%;
44
+ }
45
+
46
+ .title {
47
+ font-size: 33px;
48
+ font-weight: bold;
49
+ color: #49453a;
50
+ text-align: center;
51
+ letter-spacing: 2px;
52
+ text-shadow: 1px 1px 2px #aaa;
53
+ margin: 0 auto;
54
+ width: 100vw;
55
+ display: flex;
56
+ justify-content: center;
57
+ align-items: center;
58
+ opacity: 0.8;
59
+ text-shadow: 1px 1px 2px #757575;
60
+ }
61
+
62
+ .title span {
63
+ font-size: 12px;
64
+ font-weight: bold;
65
+ color: #49453a;
66
+ text-align: center;
67
+ height: 20px;
68
+ display: flex;
69
+ align-items: center;
70
+ opacity: 0.7;
71
+ }
72
+
73
+ .title-box {
74
+ width: 368px;
75
+ display: flex;
76
+ justify-content: center;
77
+ align-items: center;
78
+ padding-top: 28px;
79
+ }
80
+
81
+
82
+
83
+ .total-power {
84
+ font-weight: bold;
85
+ margin: 5px 0 0 0;
86
+ display: inline-block;
87
+ padding-right: 3px;
88
+ }
89
+
90
+ .total-title {
91
+ background: #514f40;
92
+ color: #fff;
93
+ font-weight: bold;
94
+ font-size: 16px;
95
+ padding: 0 2px;
96
+ }
97
+
98
+ .power-value {
99
+ color: #d9534f;
100
+ font-size: 17px;
101
+ }
102
+
103
+ .attribute {
104
+ display: flex;
105
+ flex-direction: column;
106
+ align-items: flex-start;
107
+ }
108
+
109
+ .progress-bar {
110
+ width: 100%;
111
+ margin: 0 auto;
112
+ height: 10px;
113
+ background-color: #c7c3b8;
114
+ position: relative;
115
+ opacity: 0.9;
116
+ border-radius: 5px;
117
+ }
118
+
119
+ .progress {
120
+ height: 100%;
121
+ background-color: #6d695e;
122
+ opacity: 0.8;
123
+ border-radius: 5px;
124
+ }
125
+
126
+ .value {
127
+ text-align: right;
128
+ font-size: 15px;
129
+ opacity: 0.9;
130
+ }
131
+
132
+ .key {
133
+ font-weight: bold;
134
+ font-size: 12px;
135
+ opacity: 0.8;
136
+ }
137
+
138
+ .attribute-item {
139
+ width: 100%;
140
+ display: flex;
141
+ justify-content: space-between;
142
+ align-items: center;
143
+ }
144
+
145
+ .w-0 {
146
+ width: 100%;
147
+ }
148
+
149
+ .w-1 {
150
+ width: 97%;
151
+ }
152
+
153
+ .w-2 {
154
+ width: 96%;
155
+ }
156
+
157
+ .w-3 {
158
+ width: 95%;
159
+ }
160
+
161
+ .w-4 {
162
+ width: 94%;
163
+ }
164
+
165
+ .w-5 {
166
+ width: 93%;
167
+ }
168
+ .slot-1 {
169
+ position: absolute;
170
+ top: 93px;
171
+ left: 37px;
172
+ width: 94px;
173
+ height: 19px;
174
+ rotate: 357deg;
175
+ display: flex;
176
+ align-items: center;
177
+ /* 垂直居中 */
178
+ }
179
+
180
+ .slot-1-text {
181
+ font-size: 14px;
182
+ font-weight: bold;
183
+ color: #2e261c;
184
+ opacity: 0.7;
185
+ }
186
+
187
+ .slot-2 {
188
+ position: absolute;
189
+ bottom: 30px;
190
+ left: 41px;
191
+ width: 141px;
192
+ height: 24px;
193
+ align-items: center;
194
+ text-align: left;
195
+ rotate: 353deg;
196
+ }
197
+
198
+ .slot-2-text {
199
+ font-size: 18px;
200
+ font-weight: bold;
201
+ color: #514d44;
202
+ line-height: 22px;
203
+ letter-spacing: -1px;
204
+ opacity: 0.8;
205
+ }
206
+
207
+ .slot-3 {
208
+ position: absolute;
209
+ top: 131px;
210
+ left: 13px;
211
+ width: 141px;
212
+ height: 35px;
213
+ display: flex;
214
+ align-items: center;
215
+ text-align: right;
216
+ justify-content: flex-end;
217
+ border-bottom: 1px solid #524f4796;
218
+ }
219
+
220
+ .slot-3-text {
221
+ font-size: 24px;
222
+ font-weight: bold;
223
+ color: #514d41;
224
+ letter-spacing: -1px;
225
+ white-space: nowrap;
226
+ overflow: hidden;
227
+ }
228
+
229
+ .slot-4 {
230
+ color: #333;
231
+ position: absolute;
232
+ top: 160px;
233
+ left: 13px;
234
+ width: 141px;
235
+ font-weight: bold;
236
+ }
237
+ .solt-5 {
238
+ position: absolute;
239
+ top: 339px;
240
+ right: 16px;
241
+ rotate: 3deg;
242
+ width: 205px;
243
+ display: flex;
244
+ justify-content: center;
245
+ opacity: 0.8;
246
+ }
247
+
248
+ .solt-5 img {
249
+ max-width: 80%;
250
+ margin: 0;
251
+ }
252
+
253
+ .solt-6 {
254
+ position: absolute;
255
+ right: 15px;
256
+ top: 405px;
257
+ font-weight: bold;
258
+ width: 54%;
259
+ }
260
+ .solt-7 {
261
+ position: absolute;
262
+ right: 19px;
263
+ bottom: 76px;
264
+ font-weight: bold;
265
+ width: 336px;
266
+ font-size: 14px;
267
+ display: flex;
268
+ flex-wrap: wrap;
269
+ overflow: hidden;
270
+ height: 39px;
271
+ }
272
+ .solt-7 span {
273
+ background: #1e90ff;
274
+ color: #fffbf4d1;
275
+ border-radius: 4px;
276
+ font-size: 12px;
277
+ margin: 1px 2px;
278
+ padding: 0 2px;
279
+ text-align: center;
280
+ display: flex;
281
+ height: 21px;
282
+ align-items: center;
283
+ justify-content: center;
284
+ }
285
+ .solt-6 .power-value {
286
+ color: #6d695e;
287
+ }
@@ -0,0 +1,97 @@
1
+ body {
2
+ margin: 0;
3
+ padding: 0;
4
+ width: 400px;
5
+ overflow: hidden;
6
+ position: relative;
7
+ background: #232d23;
8
+ min-height: 500px;
9
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
10
+ }
11
+
12
+ #app {
13
+ width: 95%;
14
+ margin: 10px auto;
15
+ padding: 15px;
16
+ }
17
+
18
+ .item-card {
19
+ background: #232d23;
20
+ border-radius: 12px;
21
+ border: none;
22
+ padding: 20px 0 20px 0;
23
+ position: relative;
24
+ overflow: hidden;
25
+ }
26
+
27
+ .item-emoji {
28
+ width: 60px;
29
+ height: 60px;
30
+ display: flex;
31
+ align-items: center;
32
+ justify-content: center;
33
+ font-size: 38px;
34
+ }
35
+
36
+ .item-icon-box {
37
+ display: flex;
38
+ justify-content: center;
39
+ align-items: center;
40
+ position: relative;
41
+ height: 80px;
42
+ }
43
+
44
+ .item-icon {
45
+ width: 60px;
46
+ height: 60px;
47
+ position: absolute;
48
+ top: 50%;
49
+ left: 50%;
50
+ transform: translate(-50%, -50%);
51
+ border-radius: 50%;
52
+ border: 2px solid #fff;
53
+ z-index: 3;
54
+ box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
55
+ background: #fff;
56
+ }
57
+
58
+ .attr-item {
59
+ display: flex;
60
+ flex-direction: column;
61
+ align-items: flex-start;
62
+ margin-bottom: 0;
63
+ background: none;
64
+ border-radius: 0;
65
+ box-shadow: none;
66
+ min-width: 0;
67
+ }
68
+
69
+ .attr-key {
70
+ width: 100%;
71
+ color: #ffd97a;
72
+ font-weight: bold;
73
+ text-align: left;
74
+ line-height: 1.6;
75
+ font-size: 16px;
76
+ margin-bottom: 2px;
77
+ }
78
+
79
+ .attr-value {
80
+ width: 100%;
81
+ color: #e8fbe8;
82
+ font-weight: 500;
83
+ word-break: break-all;
84
+ white-space: pre-line;
85
+ text-align: left;
86
+ min-width: 0;
87
+ line-height: 1.6;
88
+ font-size: 16px;
89
+ overflow-wrap: break-word;
90
+ margin-bottom: 2px;
91
+ background: #2a342a;
92
+ padding: 8px 12px;
93
+ border-radius: 6px;
94
+ border-left: 3px solid #4a8a4a;
95
+ position: relative;
96
+ }
97
+
@@ -0,0 +1,96 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+
4
+ <head>
5
+ <meta charset="UTF-8">
6
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
7
+ <title>角色属性</title>
8
+ <script src="../res/vue2.js"></script>
9
+ <link rel="stylesheet" href="../css/body.css">
10
+ </head>
11
+
12
+ <body>
13
+ <div id="app">
14
+ <img class="bg-ui" src="../res/body/box.png">
15
+ <img class="body-show" :src="data.show" onerror="this.onerror=null; this.src='../res/body/share/test.png'">
16
+ <div class="content">
17
+ <div class="title-box">
18
+ <h1 class="title"><span>◆</span>&nbsp;&nbsp;{{data.title}}&nbsp;&nbsp;<span>◆</span></h1>
19
+ </div>
20
+ <div class="slot-1">
21
+ <span class="slot-1-text">UID {{data.id}}</span>
22
+ </div>
23
+ <div class="slot-2">
24
+ <span class="slot-2-text">未开·基因锁</span>
25
+ </div>
26
+ <div class="slot-3">
27
+ <span class="slot-3-text">{{data.nickName}}</span>
28
+ </div>
29
+ <div class="slot-4">
30
+ <div class="total-power">
31
+ <span class="total-title">战力</span>
32
+ <span class="power-value">{{data.power}}</span>
33
+ </div>
34
+ <div v-for="(attribute, index) in data.attributes" :class="'attribute w-' + (index > 5 ? 5 : index)">
35
+ <div class="attribute-item">
36
+ <span class="key">{{attribute.key}}</span>
37
+ <span class="value">{{attribute.val.toFixed(2)}}{{attribute.Percents ? '%' : ''}}</span>
38
+ </div>
39
+ <div class="progress-bar">
40
+ <div class="progress"
41
+ :style="'width: ' + (attribute.val > 0 ? (Math.min(attribute.val / attribute.max, 1) * 100) : 0) + '%;'">
42
+ </div>
43
+ </div>
44
+ </div>
45
+ </div>
46
+ <div class="solt-5">
47
+ <img src="../res/body/title/test.png">
48
+ </div>
49
+ <div class="solt-6">
50
+ <div class="total-power">
51
+ <span class="total-title">Lv.等级</span>
52
+ <span class="power-value">{{data.level}}</span>
53
+ </div>
54
+ <div class="attribute w-5">
55
+ <div class="attribute-item">
56
+ <span class="key">生命值</span>
57
+ <span class="value">{{data.hp[0].toFixed(2)}}/{{data.hp[1].toFixed(2)}}</span>
58
+ </div>
59
+ <div class="progress-bar">
60
+ <div class="progress"
61
+ :style="'width: ' + (data.hp[0] > 0 ? (Math.min(data.hp[0] / data.hp[1], 1) * 100) : 0) + '%; background-color: #ce0303;'">
62
+ </div>
63
+ </div>
64
+ <div class="attribute-item">
65
+ <span class="key">经验值</span>
66
+ <span class="value">{{data.exp[0].toFixed(2)}}/{{data.exp[1].toFixed(2)}}</span>
67
+ </div>
68
+ <div class="progress-bar">
69
+ <div class="progress"
70
+ :style="'width: ' + (data.exp[0] > 0 ? (Math.min(data.exp[0] / data.exp[1], 1) * 100) : 0) + '%; background-color: #2196F3;'">
71
+ </div>
72
+ </div>
73
+ </div>
74
+ </div>
75
+ <div class="solt-7">
76
+ <span v-for="talent in data.talent">{{talent}}</span>
77
+ </div>
78
+ </div>
79
+ </div>
80
+ <script>
81
+ let data = {title:"宿主档案",show:"",power:400,id:"035",nickName:"匿名",level:1,attributes:[{key:"物理攻击",val:10,max:10,Percents:false}],hp:[100,100],exp:[0,10],talent:['???']};
82
+ new Vue({
83
+ el: '#app',
84
+ data: {
85
+ data: data
86
+ },
87
+ mounted() {
88
+ this.data = data;
89
+ },
90
+ methods: {
91
+
92
+ }
93
+ });
94
+ </script>
95
+
96
+ </body>
@@ -0,0 +1,82 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+
4
+ <head>
5
+ <meta charset="UTF-8">
6
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
7
+ <title>道具详情</title>
8
+ <script src="../res/vue2.js"></script>
9
+ <link rel="stylesheet" href="../css/panel_common.css">
10
+ </head>
11
+
12
+ <body>
13
+ <div id="app">
14
+ <div class="item-card">
15
+ <div class="item-icon-box">
16
+ <!-- 只判断icon和emoji,其他全部循环 -->
17
+ <img v-if="data.icon" class="item-icon" :src="data.icon" onerror="this.onerror=null; this.src='../res/item/default.png'">
18
+ <div v-else class="item-emoji">{{ data.emoji }}</div>
19
+ </div>
20
+ <div class="item-properties">
21
+ <div v-for="(item, idx) in data.list" :key="idx" class="attr-item">
22
+ <div class="attr-key">{{ item.key }}</div>
23
+ <div class="attr-value">{{ item.val }}</div>
24
+ </div>
25
+ </div>
26
+ </div>
27
+ </div>
28
+ <script>
29
+ let data = {
30
+ "title": "道具详细",
31
+ "icon": "https://dew-1251587647.cos.ap-guangzhou.myqcloud.com/upload/5e7a70f5cfc840e491954253865b76cf",
32
+ "emoji": "🗡️",
33
+ "list": [
34
+ {
35
+ "key": "编号",
36
+ "val": "077"
37
+ },
38
+ {
39
+ "key": "名称",
40
+ "val": "默认装备"
41
+ },
42
+ {
43
+ "key": "品质",
44
+ "val": "永恒"
45
+ },
46
+ {
47
+ "key": "类型",
48
+ "val": "武器"
49
+ },
50
+ {
51
+ "key": "来源",
52
+ "val": "修真"
53
+ },
54
+ {
55
+ "key": "属性",
56
+ "val": "魔法攻击:515\n魔法攻击:9\n魔法攻击:9\n最大生命值:471\n魔法攻击:9\n魔法攻击:9\n"
57
+ },
58
+ {
59
+ "key": "描述",
60
+ "val": "默认装备"
61
+ },
62
+ {
63
+ "key": "出售数量",
64
+ "val": 1
65
+ },
66
+ {
67
+ "key": "出售价格",
68
+ "val": 1
69
+ },
70
+ {
71
+ "key": "上架时间",
72
+ "val": "2025/7/13 01:30:46"
73
+ }
74
+ ]
75
+ };
76
+ new Vue({
77
+ el: '#app',
78
+ data: { data },
79
+ });
80
+ </script>
81
+ </body>
82
+ </html>
@@ -0,0 +1,36 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+
4
+ <head>
5
+ <meta charset="UTF-8">
6
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
7
+ <title>道具详情</title>
8
+ <script src="../res/vue2.js"></script>
9
+ <link rel="stylesheet" href="../css/panel_common.css">
10
+ </head>
11
+
12
+ <body>
13
+ <div id="app">
14
+ <div class="item-card">
15
+ <div class="item-icon-box">
16
+
17
+ <img v-if="data.icon" class="item-icon" :src="data.icon" onerror="this.onerror=null; this.src='../res/item/default.png'">
18
+ <div v-else class="item-emoji">{{ data.emoji }}</div>
19
+ </div>
20
+ <div class="item-properties">
21
+ <div v-for="(item, idx) in data.list" :key="idx" class="attr-item">
22
+ <div class="attr-key">{{ item.key }}</div>
23
+ <div class="attr-value">{{ item.val }}</div>
24
+ </div>
25
+ </div>
26
+ </div>
27
+ </div>
28
+ <script>
29
+ let data = {"title":"未知面板","icon":"https://dew-1251587647.cos.ap-guangzhou.myqcloud.com/upload/5e7a70f5cfc840e491954253865b76cf","emoji":"🗡️","list":[{"key":"编号","val":"04"},{"key":"名称","val":"默认装备"},{"key":"品质","val":"普通"},{"key":"类型","val":"武器"},{"key":"来源","val":"修真"},{"key":"属性","val":"魔法攻击:64\n魔法攻击:1\n魔法攻击:1\n最大生命值:90\n魔法攻击:2\n魔法攻击:1\n"},{"key":"描述","val":"默认装备"}]};
30
+ new Vue({
31
+ el: '#app',
32
+ data: { data },
33
+ });
34
+ </script>
35
+ </body>
36
+ </html>
package/lib/index.js CHANGED
@@ -17,7 +17,7 @@ exports.Config = koishi_1.Schema.object({
17
17
  koishi_1.Schema.const('测试服').description('本地测试服务器'),
18
18
  koishi_1.Schema.const('开发服').description('开发服务器'),
19
19
  koishi_1.Schema.const('正式服').description('正式服务器'),
20
- ]).default('测试服').description('选择服务器环境'),
20
+ ]).default('正式服').description('选择服务器环境'),
21
21
  频率限制: koishi_1.Schema.number().default(5).description('频率限制后拉黑时间(分钟)'),
22
22
  });
23
23
  function apply(ctx, config) {
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "koishi-plugin-dew-bot",
3
3
  "description": "达尔文进化岛",
4
4
  "preview": true,
5
- "version": "1.0.194",
5
+ "version": "1.0.196",
6
6
  "main": "lib/index.js",
7
7
  "typings": "lib/index.d.ts",
8
8
  "contributors": [