samlax12 commited on
Commit
dbd4457
·
verified ·
1 Parent(s): 873bac3

Create index4.html

Browse files
Files changed (1) hide show
  1. index4.html +837 -0
index4.html ADDED
@@ -0,0 +1,837 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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, maximum-scale=1.0, user-scalable=no">
6
+ <title>💚 收款 💚</title>
7
+ <style>
8
+ * {
9
+ margin: 0;
10
+ padding: 0;
11
+ box-sizing: border-box;
12
+ }
13
+
14
+ body {
15
+ font-family: 'Courier New', monospace, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
16
+ background: #000000;
17
+ min-height: 100vh;
18
+ color: #00ff00;
19
+ -webkit-user-select: none;
20
+ -moz-user-select: none;
21
+ -ms-user-select: none;
22
+ user-select: none;
23
+ position: relative;
24
+ overflow-x: hidden;
25
+ }
26
+
27
+ /* Matrix rain effect */
28
+ body::before {
29
+ content: '';
30
+ position: fixed;
31
+ top: 0;
32
+ left: 0;
33
+ width: 100%;
34
+ height: 100%;
35
+ background: linear-gradient(0deg,
36
+ rgba(0,0,0,0.95) 0%,
37
+ rgba(0,0,0,0.85) 50%,
38
+ rgba(0,0,0,0.95) 100%);
39
+ z-index: 1;
40
+ }
41
+
42
+ .container {
43
+ max-width: 480px;
44
+ margin: 0 auto;
45
+ padding: 15px;
46
+ min-height: 100vh;
47
+ display: flex;
48
+ flex-direction: column;
49
+ position: relative;
50
+ z-index: 2;
51
+ }
52
+
53
+ .header {
54
+ text-align: center;
55
+ margin-bottom: 20px;
56
+ padding-top: 10px;
57
+ }
58
+
59
+ .header h1 {
60
+ font-size: 24px;
61
+ color: #00ff00;
62
+ font-weight: 600;
63
+ text-shadow: 0 0 10px #00ff00, 0 0 20px #00ff00, 0 0 30px #00ff00;
64
+ animation: glow 2s ease-in-out infinite alternate;
65
+ }
66
+
67
+ @keyframes glow {
68
+ from { text-shadow: 0 0 10px #00ff00, 0 0 20px #00ff00, 0 0 30px #00ff00; }
69
+ to { text-shadow: 0 0 15px #00ff00, 0 0 25px #00ff00, 0 0 35px #00ff00; }
70
+ }
71
+
72
+ .profile-card {
73
+ background: rgba(0, 20, 0, 0.8);
74
+ border: 1px solid #00ff00;
75
+ border-radius: 0;
76
+ padding: 20px;
77
+ box-shadow: 0 0 20px rgba(0, 255, 0, 0.3);
78
+ margin-bottom: 20px;
79
+ display: flex;
80
+ align-items: center;
81
+ gap: 15px;
82
+ position: relative;
83
+ overflow: hidden;
84
+ }
85
+
86
+ .profile-card::before {
87
+ content: '';
88
+ position: absolute;
89
+ top: 0;
90
+ left: -100%;
91
+ width: 100%;
92
+ height: 100%;
93
+ background: linear-gradient(90deg, transparent, rgba(0, 255, 0, 0.2), transparent);
94
+ animation: scan 3s infinite;
95
+ }
96
+
97
+ @keyframes scan {
98
+ 0% { left: -100%; }
99
+ 100% { left: 100%; }
100
+ }
101
+
102
+ .avatar-wrapper {
103
+ position: relative;
104
+ flex-shrink: 0;
105
+ }
106
+
107
+ .avatar {
108
+ width: 60px;
109
+ height: 60px;
110
+ border-radius: 0;
111
+ overflow: hidden;
112
+ border: 1px solid #00ff00;
113
+ box-shadow: 0 0 10px rgba(0, 255, 0, 0.5);
114
+ background: #001100;
115
+ }
116
+
117
+ .avatar img {
118
+ width: 100%;
119
+ height: 100%;
120
+ object-fit: cover;
121
+ filter: sepia(100%) hue-rotate(90deg) brightness(0.8) contrast(1.5);
122
+ }
123
+
124
+ .sparkle {
125
+ position: absolute;
126
+ color: #00ff00;
127
+ font-size: 16px;
128
+ animation: matrix-sparkle 1s ease-in-out infinite;
129
+ }
130
+
131
+ .sparkle:nth-child(2) { top: -8px; right: -8px; animation-delay: 0.3s; }
132
+ .sparkle:nth-child(3) { bottom: -8px; left: -8px; animation-delay: 0.6s; }
133
+
134
+ @keyframes matrix-sparkle {
135
+ 0%, 100% { opacity: 0; transform: scale(0.8); }
136
+ 50% { opacity: 1; transform: scale(1.2); text-shadow: 0 0 5px #00ff00; }
137
+ }
138
+
139
+ .profile-info {
140
+ text-align: left;
141
+ flex: 1;
142
+ }
143
+
144
+ .profile-info h2 {
145
+ font-size: 18px;
146
+ color: #00ff00;
147
+ margin-bottom: 3px;
148
+ text-shadow: 0 0 5px #00ff00;
149
+ }
150
+
151
+ .profile-info p {
152
+ color: #00cc00;
153
+ font-size: 14px;
154
+ opacity: 0.8;
155
+ }
156
+
157
+ .amount-section {
158
+ background: rgba(0, 20, 0, 0.8);
159
+ border: 1px solid #00ff00;
160
+ border-radius: 0;
161
+ padding: 20px 15px;
162
+ box-shadow: 0 0 20px rgba(0, 255, 0, 0.3);
163
+ flex: 1;
164
+ display: flex;
165
+ flex-direction: column;
166
+ }
167
+
168
+ .amount-display {
169
+ text-align: center;
170
+ margin-bottom: 20px;
171
+ }
172
+
173
+ .amount-label {
174
+ font-size: 13px;
175
+ color: #00cc00;
176
+ margin-bottom: 8px;
177
+ font-weight: 500;
178
+ text-transform: uppercase;
179
+ letter-spacing: 2px;
180
+ }
181
+
182
+ .amount-value {
183
+ font-size: 36px;
184
+ font-weight: 700;
185
+ color: #00ff00;
186
+ text-shadow: 0 0 10px #00ff00, 0 0 20px #00ff00;
187
+ font-family: 'Courier New', monospace;
188
+ }
189
+
190
+ .payment-items {
191
+ display: grid;
192
+ grid-template-columns: repeat(2, 1fr);
193
+ gap: 10px;
194
+ margin-bottom: 20px;
195
+ flex: 1;
196
+ align-content: start;
197
+ grid-auto-rows: min-content;
198
+ }
199
+
200
+ .payment-item {
201
+ background: rgba(0, 40, 0, 0.6);
202
+ padding: 12px;
203
+ border: 1px solid #004400;
204
+ text-align: center;
205
+ cursor: pointer;
206
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
207
+ position: relative;
208
+ overflow: hidden;
209
+ }
210
+
211
+ .payment-item::after {
212
+ content: '';
213
+ position: absolute;
214
+ top: 0;
215
+ left: 0;
216
+ width: 100%;
217
+ height: 100%;
218
+ background: rgba(0, 255, 0, 0.1);
219
+ opacity: 0;
220
+ transition: opacity 0.3s;
221
+ }
222
+
223
+ .payment-item:hover {
224
+ border-color: #00ff00;
225
+ box-shadow: 0 0 10px rgba(0, 255, 0, 0.5);
226
+ transform: translateY(-2px);
227
+ }
228
+
229
+ .payment-item:hover::after {
230
+ opacity: 1;
231
+ }
232
+
233
+ .payment-item.active {
234
+ border-color: #00ff00;
235
+ background: rgba(0, 80, 0, 0.6);
236
+ box-shadow: 0 0 15px rgba(0, 255, 0, 0.5), inset 0 0 15px rgba(0, 255, 0, 0.1);
237
+ }
238
+
239
+ .payment-item .emoji {
240
+ font-size: 20px;
241
+ margin-bottom: 6px;
242
+ display: block;
243
+ filter: drop-shadow(0 0 3px #00ff00);
244
+ transition: transform 0.3s ease;
245
+ }
246
+
247
+ .payment-item:hover .emoji {
248
+ transform: scale(1.1);
249
+ }
250
+
251
+ .payment-item .price {
252
+ font-size: 15px;
253
+ font-weight: 600;
254
+ color: #00ff00;
255
+ text-shadow: 0 0 3px #00ff00;
256
+ }
257
+
258
+ .payment-item .quantity {
259
+ position: absolute;
260
+ top: 50%;
261
+ right: 5px;
262
+ transform: translateY(-50%);
263
+ background: #00ff00;
264
+ color: #000000;
265
+ padding: 1px 6px;
266
+ border-radius: 0;
267
+ font-size: 11px;
268
+ font-weight: 600;
269
+ min-width: 20px;
270
+ text-align: center;
271
+ box-shadow: 0 0 5px #00ff00;
272
+ }
273
+
274
+ .note-section {
275
+ margin-bottom: 15px;
276
+ }
277
+
278
+ .note-label {
279
+ font-size: 13px;
280
+ color: #00cc00;
281
+ margin-bottom: 6px;
282
+ font-weight: 500;
283
+ text-transform: uppercase;
284
+ letter-spacing: 1px;
285
+ }
286
+
287
+ .note-input {
288
+ width: 100%;
289
+ padding: 10px 12px;
290
+ border: 1px solid #00ff00;
291
+ border-radius: 0;
292
+ font-size: 14px;
293
+ background: rgba(0, 20, 0, 0.6);
294
+ transition: all 0.3s ease;
295
+ color: #00ff00;
296
+ font-family: 'Courier New', monospace;
297
+ -webkit-user-select: text;
298
+ -moz-user-select: text;
299
+ -ms-user-select: text;
300
+ user-select: text;
301
+ }
302
+
303
+ .note-input:focus {
304
+ outline: none;
305
+ box-shadow: 0 0 10px rgba(0, 255, 0, 0.5), inset 0 0 5px rgba(0, 255, 0, 0.2);
306
+ background: rgba(0, 40, 0, 0.8);
307
+ }
308
+
309
+ .note-input::placeholder {
310
+ color: #006600;
311
+ opacity: 0.7;
312
+ }
313
+
314
+ .pay-button {
315
+ background: linear-gradient(135deg, #001100 0%, #003300 100%);
316
+ color: #00ff00;
317
+ border: 1px solid #00ff00;
318
+ padding: 14px 30px;
319
+ font-size: 16px;
320
+ font-weight: 600;
321
+ border-radius: 0;
322
+ cursor: pointer;
323
+ width: 100%;
324
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
325
+ box-shadow: 0 0 15px rgba(0, 255, 0, 0.3);
326
+ position: relative;
327
+ overflow: hidden;
328
+ text-transform: uppercase;
329
+ letter-spacing: 2px;
330
+ font-family: 'Courier New', monospace;
331
+ }
332
+
333
+ .pay-button::before {
334
+ content: '';
335
+ position: absolute;
336
+ top: 0;
337
+ left: -100%;
338
+ width: 100%;
339
+ height: 100%;
340
+ background: rgba(0, 255, 0, 0.3);
341
+ transition: left 0.5s;
342
+ }
343
+
344
+ .pay-button:hover::before {
345
+ left: 100%;
346
+ }
347
+
348
+ .pay-button:hover {
349
+ transform: translateY(-2px);
350
+ box-shadow: 0 0 20px rgba(0, 255, 0, 0.5);
351
+ text-shadow: 0 0 10px #00ff00;
352
+ }
353
+
354
+ .pay-button:active {
355
+ transform: translateY(0);
356
+ }
357
+
358
+ /* 模态框样式 */
359
+ .modal {
360
+ display: none;
361
+ position: fixed;
362
+ top: 0;
363
+ left: 0;
364
+ width: 100%;
365
+ height: 100%;
366
+ background: rgba(0, 0, 0, 0.95);
367
+ z-index: 1000;
368
+ align-items: center;
369
+ justify-content: center;
370
+ }
371
+
372
+ .modal-content {
373
+ background: #000000;
374
+ border: 1px solid #00ff00;
375
+ padding: 30px 25px;
376
+ border-radius: 0;
377
+ text-align: center;
378
+ max-width: 320px;
379
+ width: 90%;
380
+ box-shadow: 0 0 30px rgba(0, 255, 0, 0.5);
381
+ position: relative;
382
+ animation: matrixModalFadeIn 0.4s ease-out;
383
+ }
384
+
385
+ @keyframes matrixModalFadeIn {
386
+ from {
387
+ opacity: 0;
388
+ transform: scale(0.9) translateY(20px);
389
+ }
390
+ to {
391
+ opacity: 1;
392
+ transform: scale(1) translateY(0);
393
+ }
394
+ }
395
+
396
+ .modal-title {
397
+ font-size: 18px;
398
+ color: #00ff00;
399
+ margin-bottom: 15px;
400
+ font-weight: 600;
401
+ text-shadow: 0 0 10px #00ff00;
402
+ text-transform: uppercase;
403
+ letter-spacing: 2px;
404
+ }
405
+
406
+ .qr-wrapper {
407
+ position: relative;
408
+ display: inline-block;
409
+ padding: 12px;
410
+ background: #001100;
411
+ border: 1px solid #00ff00;
412
+ margin-bottom: 15px;
413
+ box-shadow: 0 0 15px rgba(0, 255, 0, 0.3);
414
+ }
415
+
416
+ .qr-code-image {
417
+ width: 180px;
418
+ height: 180px;
419
+ border-radius: 0;
420
+ overflow: hidden;
421
+ border: 1px solid #00ff00;
422
+ filter: sepia(100%) hue-rotate(90deg) brightness(1.2) contrast(1.5);
423
+ }
424
+
425
+ .qr-code-image img {
426
+ width: 100%;
427
+ height: 100%;
428
+ display: block;
429
+ }
430
+
431
+ .payment-tips {
432
+ font-size: 13px;
433
+ color: #00cc00;
434
+ line-height: 1.5;
435
+ margin-bottom: 15px;
436
+ font-family: 'Courier New', monospace;
437
+ }
438
+
439
+ .payment-amount-display {
440
+ font-size: 22px;
441
+ color: #00ff00;
442
+ font-weight: 600;
443
+ margin: 10px 0;
444
+ text-shadow: 0 0 10px #00ff00;
445
+ font-family: 'Courier New', monospace;
446
+ }
447
+
448
+ .close-button {
449
+ position: absolute;
450
+ top: 12px;
451
+ right: 12px;
452
+ width: 32px;
453
+ height: 32px;
454
+ border-radius: 0;
455
+ background: #000000;
456
+ border: 1px solid #00ff00;
457
+ cursor: pointer;
458
+ display: flex;
459
+ align-items: center;
460
+ justify-content: center;
461
+ font-size: 18px;
462
+ color: #00ff00;
463
+ transition: all 0.3s ease;
464
+ font-family: 'Courier New', monospace;
465
+ }
466
+
467
+ .close-button:hover {
468
+ background: #00ff00;
469
+ color: #000000;
470
+ box-shadow: 0 0 10px #00ff00;
471
+ }
472
+
473
+ /* 使用说明样式 */
474
+ .usage-tip {
475
+ font-size: 12px;
476
+ color: #008800;
477
+ text-align: center;
478
+ margin-top: 10px;
479
+ opacity: 0.8;
480
+ text-transform: uppercase;
481
+ letter-spacing: 1px;
482
+ font-family: 'Courier New', monospace;
483
+ }
484
+
485
+ /* 装饰元素 - Matrix Rain */
486
+ .matrix-rain {
487
+ position: fixed;
488
+ top: 0;
489
+ left: 0;
490
+ width: 100%;
491
+ height: 100%;
492
+ pointer-events: none;
493
+ overflow: hidden;
494
+ z-index: 0;
495
+ }
496
+
497
+ .matrix-column {
498
+ position: absolute;
499
+ top: -100%;
500
+ font-family: 'Courier New', monospace;
501
+ font-size: 14px;
502
+ color: #00ff00;
503
+ animation: matrix-fall linear infinite;
504
+ opacity: 0.8;
505
+ }
506
+
507
+ @keyframes matrix-fall {
508
+ to {
509
+ top: 100%;
510
+ }
511
+ }
512
+
513
+ /* 响应式优化 */
514
+ @media (max-height: 700px) {
515
+ .container {
516
+ padding: 10px;
517
+ }
518
+ .header {
519
+ margin-bottom: 15px;
520
+ padding-top: 5px;
521
+ }
522
+ .header h1 {
523
+ font-size: 22px;
524
+ }
525
+ .profile-card {
526
+ padding: 15px;
527
+ margin-bottom: 15px;
528
+ }
529
+ .avatar {
530
+ width: 50px;
531
+ height: 50px;
532
+ }
533
+ .amount-section {
534
+ padding: 15px 12px;
535
+ }
536
+ .amount-value {
537
+ font-size: 32px;
538
+ }
539
+ .payment-items {
540
+ gap: 8px;
541
+ }
542
+ .payment-item {
543
+ padding: 10px;
544
+ }
545
+ }
546
+
547
+ @media (max-height: 600px) {
548
+ .amount-display {
549
+ margin-bottom: 15px;
550
+ }
551
+ .payment-items {
552
+ margin-bottom: 15px;
553
+ }
554
+ .note-section {
555
+ margin-bottom: 12px;
556
+ }
557
+ .pay-button {
558
+ padding: 12px 25px;
559
+ font-size: 15px;
560
+ }
561
+ }
562
+ </style>
563
+ </head>
564
+ <body>
565
+ <!-- Matrix Rain Background -->
566
+ <div class="matrix-rain" id="matrixRain"></div>
567
+
568
+ <div class="container">
569
+ <div class="header">
570
+ <h1>[系统] 收款终端</h1>
571
+ </div>
572
+
573
+ <div class="profile-card">
574
+ <div class="avatar-wrapper">
575
+ <div class="avatar">
576
+ <!-- 自定义头像图片 -->
577
+ <img src="avatar.jpg" alt="头像" onerror="this.style.display='none'; this.parentElement.innerHTML='&gt;_';">
578
+ </div>
579
+ <span class="sparkle">01</span>
580
+ <span class="sparkle">10</span>
581
+ </div>
582
+ <div class="profile-info">
583
+ <h2>&gt; TARGET.LOCKED</h2>
584
+ <p>鱼习习(**怡)</p>
585
+ </div>
586
+ </div>
587
+
588
+ <div class="amount-section">
589
+ <div class="amount-display">
590
+ <div class="amount-label">&gt; TRANSFER.AMOUNT</div>
591
+ <div class="amount-value">¥<span id="totalAmount">1.00</span></div>
592
+ </div>
593
+
594
+ <div class="payment-items">
595
+ <div class="payment-item active" data-amount="1.00" onclick="selectItem(this)">
596
+ <span class="emoji">⊂(˃̶͈̀ε ˂̶͈́ ⊂ )</span>
597
+ <div class="price">¥1.00</div>
598
+ <span class="quantity">×1</span>
599
+ </div>
600
+ <div class="payment-item" data-amount="5.20" onclick="selectItem(this)">
601
+ <span class="emoji">ฅ՞•ﻌ•՞ฅ</span>
602
+ <div class="price">¥5.20</div>
603
+ </div>
604
+ <div class="payment-item" data-amount="6.66" onclick="selectItem(this)">
605
+ <span class="emoji">૮₍ ˃ ⤙ ˂ ₎ა</span>
606
+ <div class="price">¥6.66</div>
607
+ </div>
608
+ <div class="payment-item" data-amount="8.88" onclick="selectItem(this)">
609
+ <span class="emoji">(´・(oo)・`)</span>
610
+ <div class="price">¥8.88</div>
611
+ </div>
612
+ <div class="payment-item" data-amount="13.14" onclick="selectItem(this)">
613
+ <span class="emoji">((づ ̄ ³ ̄)づ</span>
614
+ <div class="price">¥13.14</div>
615
+ </div>
616
+ <div class="payment-item" data-amount="52.00" onclick="selectItem(this)">
617
+ <span class="emoji">(。・ω・。)ノ♡</span>
618
+ <div class="price">¥52.00</div>
619
+ </div>
620
+ </div>
621
+
622
+ <div class="usage-tip">
623
+ [CLICK] SELECT | [HOLD/RIGHT-CLICK] DECREASE
624
+ </div>
625
+
626
+ <div class="note-section">
627
+ <div class="note-label">&gt; MESSAGE.INPUT</div>
628
+ <input type="text" class="note-input" placeholder="Enter message...">
629
+ </div>
630
+
631
+ <button class="pay-button" onclick="showPayment()">
632
+ &gt; EXECUTE TRANSFER
633
+ </button>
634
+ </div>
635
+ </div>
636
+
637
+ <!-- 支付模态框 -->
638
+ <div class="modal" id="paymentModal">
639
+ <div class="modal-content">
640
+ <button class="close-button" onclick="closeModal()">X</button>
641
+ <h3 class="modal-title">&gt; SCAN.QR.CODE</h3>
642
+ <div class="qr-wrapper">
643
+ <div class="qr-code-image">
644
+ <!-- 微信赞赏码 -->
645
+ <img src="wechat_pay.jpg" alt="赞赏码" onerror="this.src='data:image/svg+xml,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' width=\'180\' height=\'180\' viewBox=\'0 0 180 180\'%3E%3Crect width=\'180\' height=\'180\' fill=\'%23001100\'/%3E%3Ctext x=\'90\' y=\'90\' text-anchor=\'middle\' dy=\'.3em\' font-size=\'13\' fill=\'%2300ff00\' style=\'font-family: Courier New\'%3E[QR CODE]%3C/text%3E%3C/svg%3E'">
646
+ </div>
647
+ </div>
648
+ <div class="payment-amount-display">
649
+ ¥<span id="modalAmount">0.00</span>
650
+ </div>
651
+ <p class="payment-tips">
652
+ &gt; USE WECHAT TO SCAN<br>
653
+ &gt; COMPLETE TRANSFER<br>
654
+ &gt; CONNECTION SECURED
655
+ </p>
656
+ </div>
657
+ </div>
658
+
659
+ <script>
660
+ // Create Matrix rain effect
661
+ function createMatrixRain() {
662
+ const matrixRain = document.getElementById('matrixRain');
663
+ const characters = '01';
664
+ const columnCount = Math.floor(window.innerWidth / 20);
665
+
666
+ for (let i = 0; i < columnCount; i++) {
667
+ const column = document.createElement('div');
668
+ column.className = 'matrix-column';
669
+ column.style.left = i * 20 + 'px';
670
+ column.style.animationDuration = (Math.random() * 5 + 5) + 's';
671
+ column.style.animationDelay = Math.random() * 5 + 's';
672
+
673
+ // Create random binary string
674
+ let content = '';
675
+ for (let j = 0; j < 50; j++) {
676
+ content += characters.charAt(Math.floor(Math.random() * characters.length)) + '<br>';
677
+ }
678
+ column.innerHTML = content;
679
+
680
+ matrixRain.appendChild(column);
681
+ }
682
+ }
683
+
684
+ // Initialize Matrix rain on load
685
+ window.addEventListener('load', createMatrixRain);
686
+
687
+ let selectedItems = new Set();
688
+ let itemQuantities = {};
689
+
690
+ // 初始化第一个项目
691
+ selectedItems.add('1.00');
692
+ itemQuantities['1.00'] = 1;
693
+
694
+ function selectItem(element) {
695
+ const amount = element.dataset.amount;
696
+
697
+ if (selectedItems.has(amount)) {
698
+ // 已选中的项目,增加数量
699
+ itemQuantities[amount] = (itemQuantities[amount] || 1) + 1;
700
+
701
+ // 更新数量显示
702
+ const qtyElement = element.querySelector('.quantity');
703
+ if (qtyElement) {
704
+ qtyElement.textContent = `×${itemQuantities[amount]}`;
705
+ }
706
+ } else {
707
+ // 新选中项目
708
+ element.classList.add('active');
709
+ selectedItems.add(amount);
710
+ itemQuantities[amount] = 1;
711
+
712
+ const span = document.createElement('span');
713
+ span.className = 'quantity';
714
+ span.textContent = '×1';
715
+ element.appendChild(span);
716
+ }
717
+
718
+ updateTotalAmount();
719
+ }
720
+
721
+ // 添加长按或右键点击来减少数量的功能
722
+ function handleRightClick(element, event) {
723
+ event.preventDefault(); // 阻止默认的右键菜单
724
+ const amount = element.dataset.amount;
725
+
726
+ if (selectedItems.has(amount) && itemQuantities[amount] > 0) {
727
+ if (itemQuantities[amount] === 1) {
728
+ // 如果数量为1,取消选择
729
+ element.classList.remove('active');
730
+ selectedItems.delete(amount);
731
+ delete itemQuantities[amount];
732
+
733
+ // 移除数量标签
734
+ const qtyElement = element.querySelector('.quantity');
735
+ if (qtyElement) {
736
+ qtyElement.remove();
737
+ }
738
+ } else {
739
+ // 数量大于1,减少数量
740
+ itemQuantities[amount]--;
741
+ const qtyElement = element.querySelector('.quantity');
742
+ if (qtyElement) {
743
+ qtyElement.textContent = `×${itemQuantities[amount]}`;
744
+ }
745
+ }
746
+
747
+ // 确保至少有一个项目被选中
748
+ if (selectedItems.size === 0) {
749
+ const firstItem = document.querySelector('.payment-item');
750
+ firstItem.classList.add('active');
751
+ const firstAmount = firstItem.dataset.amount;
752
+ selectedItems.add(firstAmount);
753
+ itemQuantities[firstAmount] = 1;
754
+
755
+ const span = document.createElement('span');
756
+ span.className = 'quantity';
757
+ span.textContent = '×1';
758
+ firstItem.appendChild(span);
759
+ }
760
+
761
+ updateTotalAmount();
762
+ }
763
+ }
764
+
765
+ // 初始化事件监听
766
+ document.addEventListener('DOMContentLoaded', function() {
767
+ // 为所有付款项目添加右键点击事件
768
+ document.querySelectorAll('.payment-item').forEach(item => {
769
+ item.addEventListener('contextmenu', function(e) {
770
+ handleRightClick(this, e);
771
+ });
772
+
773
+ // 添加长按事件(移动端)
774
+ let pressTimer;
775
+ item.addEventListener('touchstart', function(e) {
776
+ pressTimer = setTimeout(() => {
777
+ handleRightClick(this, e);
778
+ // 添加触觉反馈(如果设备支持)
779
+ if (navigator.vibrate) {
780
+ navigator.vibrate(50);
781
+ }
782
+ }, 2000); // 2000毫秒(2秒)长按
783
+ });
784
+
785
+ item.addEventListener('touchend', function() {
786
+ clearTimeout(pressTimer);
787
+ });
788
+
789
+ item.addEventListener('touchmove', function() {
790
+ clearTimeout(pressTimer);
791
+ });
792
+ });
793
+ });
794
+
795
+ function updateTotalAmount() {
796
+ let total = 0;
797
+ selectedItems.forEach(amount => {
798
+ total += parseFloat(amount) * (itemQuantities[amount] || 1);
799
+ });
800
+ document.getElementById('totalAmount').textContent = total.toFixed(2);
801
+ document.getElementById('modalAmount').textContent = total.toFixed(2);
802
+ }
803
+
804
+ function showPayment() {
805
+ document.getElementById('paymentModal').style.display = 'flex';
806
+ setTimeout(() => {
807
+ document.querySelector('.modal-content').style.animation = 'matrixModalFadeIn 0.4s ease-out';
808
+ }, 10);
809
+ }
810
+
811
+ function closeModal() {
812
+ const modal = document.getElementById('paymentModal');
813
+ modal.style.display = 'none';
814
+ }
815
+
816
+ // 点击模态框背景关闭
817
+ document.getElementById('paymentModal').addEventListener('click', function(e) {
818
+ if (e.target === this) {
819
+ closeModal();
820
+ }
821
+ });
822
+
823
+ // 初始化总金额
824
+ updateTotalAmount();
825
+
826
+ // 添加交互效果
827
+ document.querySelectorAll('.payment-item').forEach(item => {
828
+ item.addEventListener('mouseenter', function() {
829
+ this.querySelector('.emoji').style.transform = 'scale(1.1)';
830
+ });
831
+ item.addEventListener('mouseleave', function() {
832
+ this.querySelector('.emoji').style.transform = 'scale(1)';
833
+ });
834
+ });
835
+ </script>
836
+ </body>
837
+ </html>