@leeguoo/pwtk-network-debugger 1.3.7 → 1.3.8
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/dist/{button-B5OqHDUm.mjs → button-CboZyj7j.mjs} +46 -31
- package/dist/button-DXA15AWP.js +1 -0
- package/dist/container-CAnQoMGr.js +1 -0
- package/dist/{container-fXvGYIU-.mjs → container-D0255Dzc.mjs} +146 -15
- package/dist/index.cjs.js +4 -4
- package/dist/index.esm.js +442 -453
- package/dist/index.js +4 -4
- package/package.json +1 -1
- package/dist/button-Bcbh--qO.js +0 -1
- package/dist/container-CwCxCCvi.js +0 -1
package/dist/index.esm.js
CHANGED
|
@@ -7454,48 +7454,70 @@ function formatJson(obj) {
|
|
|
7454
7454
|
return JSON.stringify(obj, null, 2);
|
|
7455
7455
|
}
|
|
7456
7456
|
const styles = `
|
|
7457
|
-
/* iOS
|
|
7458
|
-
:
|
|
7459
|
-
|
|
7460
|
-
--
|
|
7461
|
-
--
|
|
7462
|
-
--
|
|
7463
|
-
--
|
|
7464
|
-
--
|
|
7457
|
+
/* iOS-style Liquid Glass UI */
|
|
7458
|
+
:host {
|
|
7459
|
+
color-scheme: light;
|
|
7460
|
+
--glass-blur: 24px;
|
|
7461
|
+
--glass-sat: 165%;
|
|
7462
|
+
--glass-brightness: 1.05;
|
|
7463
|
+
--glass-base: rgba(255, 255, 255, 0.04);
|
|
7464
|
+
--glass-surface: rgba(255, 255, 255, 0.06);
|
|
7465
|
+
--glass-surface-strong: rgba(255, 255, 255, 0.1);
|
|
7466
|
+
--glass-border: rgba(255, 255, 255, 0.14);
|
|
7467
|
+
--glass-border-weak: rgba(255, 255, 255, 0.08);
|
|
7468
|
+
--glass-shadow: 0 18px 40px rgba(12, 18, 30, 0.14);
|
|
7469
|
+
--glass-inner: inset 0 1px 0 rgba(255, 255, 255, 0.2);
|
|
7470
|
+
--text-primary: rgba(18, 22, 31, 0.92);
|
|
7471
|
+
--text-secondary: rgba(18, 22, 31, 0.7);
|
|
7472
|
+
--text-tertiary: rgba(18, 22, 31, 0.52);
|
|
7473
|
+
--accent: #0A84FF;
|
|
7474
|
+
--accent-strong: #007AFF;
|
|
7475
|
+
--success: #34C759;
|
|
7476
|
+
--warning: #FF9F0A;
|
|
7477
|
+
--danger: #FF3B30;
|
|
7478
|
+
--purple: #BF5AF2;
|
|
7479
|
+
--safe-top: env(safe-area-inset-top, 0px);
|
|
7480
|
+
--safe-right: env(safe-area-inset-right, 0px);
|
|
7481
|
+
--safe-bottom: env(safe-area-inset-bottom, 0px);
|
|
7482
|
+
--safe-left: env(safe-area-inset-left, 0px);
|
|
7483
|
+
font-family: "SF Pro Text", "SF Pro Display", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", sans-serif;
|
|
7484
|
+
line-height: 1.35;
|
|
7465
7485
|
}
|
|
7466
7486
|
|
|
7467
7487
|
#network-debugger-panel {
|
|
7468
7488
|
position: fixed;
|
|
7469
7489
|
z-index: 999999;
|
|
7490
|
+
box-sizing: border-box;
|
|
7470
7491
|
|
|
7471
7492
|
/* 强制 GPU 加速和 3D 变换 */
|
|
7472
7493
|
transform: translate3d(0, 0, 0);
|
|
7473
7494
|
will-change: transform, backdrop-filter;
|
|
7474
7495
|
|
|
7475
7496
|
/* iOS 26 Liquid Glass 核心效果 - 增强版 */
|
|
7476
|
-
backdrop-filter: blur(
|
|
7477
|
-
-webkit-backdrop-filter: blur(
|
|
7497
|
+
backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-sat)) brightness(var(--glass-brightness)) !important;
|
|
7498
|
+
-webkit-backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-sat)) brightness(var(--glass-brightness)) !important;
|
|
7478
7499
|
|
|
7479
|
-
/*
|
|
7480
|
-
background:
|
|
7481
|
-
|
|
7482
|
-
|
|
7483
|
-
|
|
7484
|
-
|
|
7485
|
-
|
|
7500
|
+
/* Light glass surface */
|
|
7501
|
+
background:
|
|
7502
|
+
linear-gradient(
|
|
7503
|
+
150deg,
|
|
7504
|
+
rgba(255, 255, 255, 0.16) 0%,
|
|
7505
|
+
rgba(255, 255, 255, 0.04) 100%
|
|
7506
|
+
),
|
|
7507
|
+
radial-gradient(
|
|
7508
|
+
120% 100% at 10% 0%,
|
|
7509
|
+
rgba(255, 255, 255, 0.1) 0%,
|
|
7510
|
+
rgba(255, 255, 255, 0.02) 45%,
|
|
7511
|
+
transparent 70%
|
|
7512
|
+
),
|
|
7513
|
+
var(--glass-base);
|
|
7486
7514
|
|
|
7487
|
-
|
|
7488
|
-
border: 1px solid rgba(255, 255, 255, 0.25);
|
|
7515
|
+
border: 1px solid var(--glass-border);
|
|
7489
7516
|
|
|
7490
|
-
|
|
7491
|
-
box-shadow:
|
|
7492
|
-
0 10px 40px rgba(31, 38, 135, 0.4),
|
|
7493
|
-
inset 0 2px 4px rgba(255, 255, 255, 0.3),
|
|
7494
|
-
inset 0 -2px 4px rgba(0, 0, 0, 0.12);
|
|
7517
|
+
box-shadow: var(--glass-shadow), var(--glass-inner);
|
|
7495
7518
|
|
|
7496
7519
|
border-radius: 20px;
|
|
7497
|
-
color:
|
|
7498
|
-
font-family: 'SF Pro Display', -apple-system, BlinkMacSystemFont, 'Monaco', 'Menlo', monospace;
|
|
7520
|
+
color: var(--text-primary);
|
|
7499
7521
|
font-size: 12px;
|
|
7500
7522
|
overflow: hidden;
|
|
7501
7523
|
max-width: 90vw;
|
|
@@ -7505,6 +7527,10 @@ const styles = `
|
|
|
7505
7527
|
transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
|
|
7506
7528
|
}
|
|
7507
7529
|
|
|
7530
|
+
#network-debugger-panel.webgl-active {
|
|
7531
|
+
background: rgba(255, 255, 255, 0.01);
|
|
7532
|
+
}
|
|
7533
|
+
|
|
7508
7534
|
/* 主面板的镜面反射效果 */
|
|
7509
7535
|
#network-debugger-panel::before {
|
|
7510
7536
|
content: '';
|
|
@@ -7513,14 +7539,19 @@ const styles = `
|
|
|
7513
7539
|
border-radius: inherit;
|
|
7514
7540
|
background: linear-gradient(
|
|
7515
7541
|
135deg,
|
|
7516
|
-
rgba(255, 255, 255, 0.
|
|
7517
|
-
rgba(255, 255, 255, 0.
|
|
7542
|
+
rgba(255, 255, 255, 0.08) 0%,
|
|
7543
|
+
rgba(255, 255, 255, 0.03) 45%,
|
|
7518
7544
|
transparent 100%
|
|
7519
7545
|
);
|
|
7520
7546
|
pointer-events: none;
|
|
7521
7547
|
z-index: 1;
|
|
7522
7548
|
}
|
|
7523
7549
|
|
|
7550
|
+
#network-debugger-panel.webgl-active::before,
|
|
7551
|
+
#network-debugger-panel.webgl-active::after {
|
|
7552
|
+
opacity: 0.2;
|
|
7553
|
+
}
|
|
7554
|
+
|
|
7524
7555
|
/* 镜面高光效果 */
|
|
7525
7556
|
#network-debugger-panel::after {
|
|
7526
7557
|
content: '';
|
|
@@ -7529,7 +7560,7 @@ const styles = `
|
|
|
7529
7560
|
border-radius: inherit;
|
|
7530
7561
|
background: radial-gradient(
|
|
7531
7562
|
circle at 30% 30%,
|
|
7532
|
-
rgba(255, 255, 255, 0.
|
|
7563
|
+
rgba(255, 255, 255, 0.06),
|
|
7533
7564
|
transparent 70%
|
|
7534
7565
|
);
|
|
7535
7566
|
pointer-events: none;
|
|
@@ -7548,33 +7579,28 @@ const styles = `
|
|
|
7548
7579
|
transform: translate3d(0, 0, 0) !important;
|
|
7549
7580
|
will-change: transform, backdrop-filter !important;
|
|
7550
7581
|
|
|
7551
|
-
|
|
7552
|
-
|
|
7553
|
-
|
|
7554
|
-
|
|
7555
|
-
rgba(255, 255, 255, 0.
|
|
7556
|
-
|
|
7557
|
-
|
|
7558
|
-
|
|
7559
|
-
rgba(255, 255, 255, 0.
|
|
7560
|
-
rgba(255, 255, 255, 0.
|
|
7561
|
-
|
|
7562
|
-
rgba(
|
|
7582
|
+
background:
|
|
7583
|
+
linear-gradient(
|
|
7584
|
+
180deg,
|
|
7585
|
+
rgba(255, 255, 255, 0.12) 0%,
|
|
7586
|
+
rgba(255, 255, 255, 0.04) 45%
|
|
7587
|
+
),
|
|
7588
|
+
radial-gradient(
|
|
7589
|
+
120% 120% at 30% 0%,
|
|
7590
|
+
rgba(255, 255, 255, 0.07),
|
|
7591
|
+
rgba(255, 255, 255, 0.03)
|
|
7592
|
+
),
|
|
7593
|
+
rgba(255, 255, 255, 0.08) !important;
|
|
7563
7594
|
|
|
7564
|
-
|
|
7565
|
-
backdrop-filter: blur(
|
|
7566
|
-
-webkit-backdrop-filter: blur(40px) saturate(220%) brightness(1.1) !important;
|
|
7595
|
+
backdrop-filter: blur(32px) saturate(185%) brightness(1.06) !important;
|
|
7596
|
+
-webkit-backdrop-filter: blur(32px) saturate(185%) brightness(1.06) !important;
|
|
7567
7597
|
|
|
7568
|
-
|
|
7569
|
-
box-shadow:
|
|
7570
|
-
/* 外发光 */
|
|
7598
|
+
box-shadow:
|
|
7571
7599
|
0 0 0 0.5px rgba(255, 255, 255, 0.7) !important,
|
|
7572
|
-
|
|
7573
|
-
inset 0 1px 0 0 rgba(
|
|
7574
|
-
|
|
7575
|
-
|
|
7576
|
-
0 15px 40px rgba(0, 0, 0, 0.3) !important,
|
|
7577
|
-
0 4px 10px rgba(0, 0, 0, 0.2) !important;
|
|
7600
|
+
inset 0 1px 0 0 rgba(255, 255, 255, 0.6) !important,
|
|
7601
|
+
inset 0 -1px 0 0 rgba(0, 0, 0, 0.15) !important,
|
|
7602
|
+
0 14px 30px rgba(9, 14, 22, 0.2) !important,
|
|
7603
|
+
0 4px 10px rgba(9, 14, 22, 0.12) !important;
|
|
7578
7604
|
|
|
7579
7605
|
/* 平滑过渡 */
|
|
7580
7606
|
transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important;
|
|
@@ -7598,29 +7624,29 @@ const styles = `
|
|
|
7598
7624
|
}
|
|
7599
7625
|
|
|
7600
7626
|
#network-debugger-panel.bottom-right {
|
|
7601
|
-
bottom:
|
|
7602
|
-
right:
|
|
7627
|
+
bottom: calc(18px + var(--safe-bottom));
|
|
7628
|
+
right: calc(18px + var(--safe-right));
|
|
7603
7629
|
width: 600px;
|
|
7604
7630
|
height: 500px;
|
|
7605
7631
|
}
|
|
7606
7632
|
|
|
7607
7633
|
#network-debugger-panel.bottom-left {
|
|
7608
|
-
bottom:
|
|
7609
|
-
left:
|
|
7634
|
+
bottom: calc(18px + var(--safe-bottom));
|
|
7635
|
+
left: calc(18px + var(--safe-left));
|
|
7610
7636
|
width: 600px;
|
|
7611
7637
|
height: 500px;
|
|
7612
7638
|
}
|
|
7613
7639
|
|
|
7614
7640
|
#network-debugger-panel.top-right {
|
|
7615
|
-
top:
|
|
7616
|
-
right:
|
|
7641
|
+
top: calc(18px + var(--safe-top));
|
|
7642
|
+
right: calc(18px + var(--safe-right));
|
|
7617
7643
|
width: 600px;
|
|
7618
7644
|
height: 500px;
|
|
7619
7645
|
}
|
|
7620
7646
|
|
|
7621
7647
|
#network-debugger-panel.top-left {
|
|
7622
|
-
top:
|
|
7623
|
-
left:
|
|
7648
|
+
top: calc(18px + var(--safe-top));
|
|
7649
|
+
left: calc(18px + var(--safe-left));
|
|
7624
7650
|
width: 600px;
|
|
7625
7651
|
height: 500px;
|
|
7626
7652
|
}
|
|
@@ -7631,30 +7657,24 @@ const styles = `
|
|
|
7631
7657
|
width: 100vw !important;
|
|
7632
7658
|
height: 100vh !important;
|
|
7633
7659
|
border-radius: 0;
|
|
7660
|
+
padding-top: var(--safe-top);
|
|
7661
|
+
padding-right: var(--safe-right);
|
|
7662
|
+
padding-bottom: var(--safe-bottom);
|
|
7663
|
+
padding-left: var(--safe-left);
|
|
7634
7664
|
}
|
|
7635
7665
|
|
|
7636
7666
|
.debugger-header {
|
|
7637
|
-
|
|
7638
|
-
backdrop-filter: blur(
|
|
7639
|
-
|
|
7640
|
-
|
|
7641
|
-
/* 多层背景效果 */
|
|
7642
|
-
background:
|
|
7643
|
-
/* 顶部高光 */
|
|
7644
|
-
linear-gradient(180deg,
|
|
7645
|
-
rgba(255, 255, 255, 0.8) 0%,
|
|
7646
|
-
rgba(255, 255, 255, 0.4) 60%),
|
|
7647
|
-
/* 基础玻璃层 */
|
|
7667
|
+
backdrop-filter: blur(16px) saturate(160%);
|
|
7668
|
+
-webkit-backdrop-filter: blur(16px) saturate(160%);
|
|
7669
|
+
background:
|
|
7648
7670
|
linear-gradient(
|
|
7649
|
-
|
|
7650
|
-
rgba(255, 255, 255, 0.
|
|
7651
|
-
rgba(255, 255, 255, 0.
|
|
7671
|
+
180deg,
|
|
7672
|
+
rgba(255, 255, 255, 0.14) 0%,
|
|
7673
|
+
rgba(255, 255, 255, 0.05) 100%
|
|
7652
7674
|
);
|
|
7653
|
-
|
|
7654
|
-
border: 1px solid rgba(255, 255, 255, 0.2);
|
|
7655
|
-
border-bottom: 1px solid rgba(255, 255, 255, 0.15);
|
|
7675
|
+
border-bottom: 1px solid var(--glass-border-weak);
|
|
7656
7676
|
|
|
7657
|
-
padding:
|
|
7677
|
+
padding: 10px 14px;
|
|
7658
7678
|
display: flex;
|
|
7659
7679
|
justify-content: space-between;
|
|
7660
7680
|
align-items: center;
|
|
@@ -7669,41 +7689,54 @@ const styles = `
|
|
|
7669
7689
|
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
|
|
7670
7690
|
}
|
|
7671
7691
|
|
|
7692
|
+
.webgl-active .debugger-header {
|
|
7693
|
+
background:
|
|
7694
|
+
linear-gradient(
|
|
7695
|
+
180deg,
|
|
7696
|
+
rgba(255, 255, 255, 0.08) 0%,
|
|
7697
|
+
rgba(255, 255, 255, 0.03) 100%
|
|
7698
|
+
);
|
|
7699
|
+
}
|
|
7700
|
+
|
|
7672
7701
|
.debugger-header:hover {
|
|
7673
|
-
backdrop-filter: blur(
|
|
7674
|
-
-webkit-backdrop-filter: blur(
|
|
7702
|
+
backdrop-filter: blur(20px) saturate(170%);
|
|
7703
|
+
-webkit-backdrop-filter: blur(20px) saturate(170%);
|
|
7675
7704
|
background: linear-gradient(
|
|
7676
7705
|
135deg,
|
|
7677
|
-
rgba(255, 255, 255, 0.
|
|
7706
|
+
rgba(255, 255, 255, 0.18),
|
|
7678
7707
|
rgba(255, 255, 255, 0.08)
|
|
7679
7708
|
);
|
|
7680
7709
|
}
|
|
7681
7710
|
|
|
7711
|
+
.webgl-active .debugger-header:hover {
|
|
7712
|
+
background: linear-gradient(
|
|
7713
|
+
135deg,
|
|
7714
|
+
rgba(255, 255, 255, 0.12),
|
|
7715
|
+
rgba(255, 255, 255, 0.06)
|
|
7716
|
+
);
|
|
7717
|
+
}
|
|
7718
|
+
|
|
7682
7719
|
.debugger-title {
|
|
7683
7720
|
font-weight: 600;
|
|
7684
|
-
color:
|
|
7685
|
-
font-size:
|
|
7686
|
-
|
|
7721
|
+
color: var(--text-primary);
|
|
7722
|
+
font-size: 14px;
|
|
7723
|
+
letter-spacing: 0.2px;
|
|
7687
7724
|
}
|
|
7688
7725
|
|
|
7689
7726
|
.debugger-controls {
|
|
7690
7727
|
display: flex;
|
|
7691
|
-
gap:
|
|
7728
|
+
gap: 8px;
|
|
7692
7729
|
position: relative;
|
|
7693
7730
|
z-index: 3;
|
|
7694
7731
|
}
|
|
7695
7732
|
|
|
7696
7733
|
/* 搜索栏样式 */
|
|
7697
7734
|
.debugger-search-bar {
|
|
7698
|
-
padding:
|
|
7699
|
-
backdrop-filter: blur(10px)
|
|
7700
|
-
-webkit-backdrop-filter: blur(10px)
|
|
7701
|
-
background:
|
|
7702
|
-
|
|
7703
|
-
rgba(255, 255, 255, 0.5),
|
|
7704
|
-
rgba(255, 255, 255, 0.3)
|
|
7705
|
-
);
|
|
7706
|
-
border-bottom: 1px solid rgba(255, 255, 255, 0.2);
|
|
7735
|
+
padding: 6px 12px;
|
|
7736
|
+
backdrop-filter: blur(10px) saturate(150%);
|
|
7737
|
+
-webkit-backdrop-filter: blur(10px) saturate(150%);
|
|
7738
|
+
background: var(--glass-surface);
|
|
7739
|
+
border-bottom: 1px solid var(--glass-border-weak);
|
|
7707
7740
|
display: flex;
|
|
7708
7741
|
align-items: center;
|
|
7709
7742
|
gap: 10px;
|
|
@@ -7716,22 +7749,18 @@ const styles = `
|
|
|
7716
7749
|
position: relative;
|
|
7717
7750
|
display: flex;
|
|
7718
7751
|
align-items: center;
|
|
7719
|
-
background: rgba(255, 255, 255, 0.
|
|
7720
|
-
border: 1px solid rgba(
|
|
7752
|
+
background: rgba(255, 255, 255, 0.12);
|
|
7753
|
+
border: 1px solid rgba(12, 16, 24, 0.08);
|
|
7721
7754
|
border-radius: 12px;
|
|
7722
|
-
padding:
|
|
7755
|
+
padding: 5px 10px;
|
|
7723
7756
|
transition: all 0.2s ease;
|
|
7724
|
-
box-shadow:
|
|
7725
|
-
inset 0 1px 3px rgba(0, 0, 0, 0.08),
|
|
7726
|
-
0 1px 1px rgba(255, 255, 255, 0.5);
|
|
7757
|
+
box-shadow: inset 0 1px 2px rgba(12, 16, 24, 0.08);
|
|
7727
7758
|
}
|
|
7728
7759
|
|
|
7729
7760
|
.search-input-wrapper:focus-within {
|
|
7730
|
-
background: rgba(255, 255, 255, 0.
|
|
7731
|
-
border-color: rgba(
|
|
7732
|
-
box-shadow:
|
|
7733
|
-
inset 0 1px 3px rgba(0, 0, 0, 0.1),
|
|
7734
|
-
0 0 0 3px rgba(0, 122, 255, 0.1);
|
|
7761
|
+
background: rgba(255, 255, 255, 0.18);
|
|
7762
|
+
border-color: rgba(10, 132, 255, 0.4);
|
|
7763
|
+
box-shadow: 0 0 0 3px rgba(10, 132, 255, 0.12);
|
|
7735
7764
|
}
|
|
7736
7765
|
|
|
7737
7766
|
.search-icon {
|
|
@@ -7744,14 +7773,14 @@ const styles = `
|
|
|
7744
7773
|
flex: 1;
|
|
7745
7774
|
border: none;
|
|
7746
7775
|
background: transparent;
|
|
7747
|
-
color:
|
|
7776
|
+
color: var(--text-primary);
|
|
7748
7777
|
font-size: 13px;
|
|
7749
7778
|
outline: none;
|
|
7750
7779
|
font-family: inherit;
|
|
7751
7780
|
}
|
|
7752
7781
|
|
|
7753
7782
|
.search-input::placeholder {
|
|
7754
|
-
color:
|
|
7783
|
+
color: var(--text-tertiary);
|
|
7755
7784
|
}
|
|
7756
7785
|
|
|
7757
7786
|
.search-clear-btn {
|
|
@@ -7764,7 +7793,7 @@ const styles = `
|
|
|
7764
7793
|
align-items: center;
|
|
7765
7794
|
justify-content: center;
|
|
7766
7795
|
cursor: pointer;
|
|
7767
|
-
color:
|
|
7796
|
+
color: var(--text-secondary);
|
|
7768
7797
|
font-size: 16px;
|
|
7769
7798
|
line-height: 1;
|
|
7770
7799
|
padding: 0;
|
|
@@ -7774,12 +7803,12 @@ const styles = `
|
|
|
7774
7803
|
}
|
|
7775
7804
|
|
|
7776
7805
|
.search-clear-btn:hover {
|
|
7777
|
-
background: rgba(0, 0, 0, 0.
|
|
7778
|
-
color:
|
|
7806
|
+
background: rgba(0, 0, 0, 0.12);
|
|
7807
|
+
color: var(--text-primary);
|
|
7779
7808
|
}
|
|
7780
7809
|
|
|
7781
7810
|
.search-stats {
|
|
7782
|
-
color:
|
|
7811
|
+
color: var(--text-secondary);
|
|
7783
7812
|
font-size: 12px;
|
|
7784
7813
|
white-space: nowrap;
|
|
7785
7814
|
display: none;
|
|
@@ -7796,68 +7825,48 @@ const styles = `
|
|
|
7796
7825
|
}
|
|
7797
7826
|
|
|
7798
7827
|
.debugger-btn {
|
|
7799
|
-
|
|
7800
|
-
backdrop-filter: blur(
|
|
7801
|
-
|
|
7802
|
-
|
|
7803
|
-
|
|
7804
|
-
|
|
7805
|
-
rgba(255, 255, 255, 0.5)
|
|
7806
|
-
);
|
|
7807
|
-
border: 1px solid rgba(0, 0, 0, 0.08);
|
|
7808
|
-
color: rgba(60, 60, 67, 0.9);
|
|
7809
|
-
text-shadow: 0 1px 1px rgba(255, 255, 255, 0.8);
|
|
7810
|
-
padding: 6px 12px;
|
|
7828
|
+
backdrop-filter: blur(10px) saturate(140%);
|
|
7829
|
+
-webkit-backdrop-filter: blur(10px) saturate(140%);
|
|
7830
|
+
background: rgba(255, 255, 255, 0.1);
|
|
7831
|
+
border: 1px solid rgba(12, 16, 24, 0.1);
|
|
7832
|
+
color: var(--text-primary);
|
|
7833
|
+
padding: 5px 10px;
|
|
7811
7834
|
border-radius: 12px;
|
|
7812
7835
|
cursor: pointer;
|
|
7813
7836
|
font-size: 11px;
|
|
7814
7837
|
font-weight: 600;
|
|
7815
7838
|
|
|
7816
|
-
|
|
7817
|
-
box-shadow:
|
|
7818
|
-
0 2px 8px rgba(0, 0, 0, 0.1),
|
|
7819
|
-
inset 0 1px 0 rgba(255, 255, 255, 0.25);
|
|
7839
|
+
box-shadow: 0 2px 6px rgba(12, 16, 24, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.6);
|
|
7820
7840
|
|
|
7821
7841
|
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
|
|
7822
7842
|
transform: translateZ(0);
|
|
7823
7843
|
}
|
|
7824
7844
|
|
|
7825
7845
|
.debugger-btn:hover {
|
|
7826
|
-
|
|
7827
|
-
|
|
7828
|
-
|
|
7829
|
-
135deg,
|
|
7830
|
-
rgba(255, 255, 255, 0.2),
|
|
7831
|
-
rgba(255, 255, 255, 0.12)
|
|
7832
|
-
);
|
|
7833
|
-
transform: scale(1.05) translateZ(5px);
|
|
7834
|
-
box-shadow:
|
|
7835
|
-
0 4px 16px rgba(0, 0, 0, 0.15),
|
|
7836
|
-
inset 0 1px 0 rgba(255, 255, 255, 0.3);
|
|
7846
|
+
background: rgba(255, 255, 255, 0.14);
|
|
7847
|
+
transform: translateY(-1px);
|
|
7848
|
+
box-shadow: 0 6px 16px rgba(12, 16, 24, 0.12);
|
|
7837
7849
|
}
|
|
7838
7850
|
|
|
7839
7851
|
.debugger-btn:active {
|
|
7840
|
-
transform:
|
|
7841
|
-
transition: transform 0.1s;
|
|
7852
|
+
transform: translateY(0);
|
|
7853
|
+
transition: transform 0.1s ease;
|
|
7842
7854
|
}
|
|
7843
7855
|
|
|
7844
7856
|
.debugger-btn.active {
|
|
7845
|
-
background: linear-gradient(135deg,
|
|
7846
|
-
color:
|
|
7847
|
-
|
|
7848
|
-
|
|
7849
|
-
|
|
7850
|
-
backdrop-filter: blur(12px);
|
|
7857
|
+
background: linear-gradient(135deg, rgba(10, 132, 255, 0.2), rgba(10, 132, 255, 0.08));
|
|
7858
|
+
color: var(--accent-strong);
|
|
7859
|
+
border-color: rgba(10, 132, 255, 0.4);
|
|
7860
|
+
box-shadow: 0 6px 16px rgba(10, 132, 255, 0.2);
|
|
7861
|
+
backdrop-filter: blur(12px) saturate(150%);
|
|
7851
7862
|
}
|
|
7852
7863
|
|
|
7853
7864
|
.debugger-icon {
|
|
7854
7865
|
width: 16px;
|
|
7855
7866
|
height: 16px;
|
|
7856
7867
|
vertical-align: middle;
|
|
7857
|
-
filter:
|
|
7858
|
-
|
|
7859
|
-
drop-shadow(0 1px 2px rgba(255, 255, 255, 0.8));
|
|
7860
|
-
color: rgba(60, 60, 67, 0.8);
|
|
7868
|
+
filter: drop-shadow(0 1px 2px rgba(255, 255, 255, 0.6));
|
|
7869
|
+
color: var(--text-secondary);
|
|
7861
7870
|
}
|
|
7862
7871
|
|
|
7863
7872
|
.debugger-content {
|
|
@@ -7869,35 +7878,39 @@ const styles = `
|
|
|
7869
7878
|
|
|
7870
7879
|
.debugger-tabs {
|
|
7871
7880
|
display: flex;
|
|
7872
|
-
gap:
|
|
7873
|
-
padding: 0
|
|
7874
|
-
margin-bottom:
|
|
7881
|
+
gap: 4px;
|
|
7882
|
+
padding: 0 10px 6px;
|
|
7883
|
+
margin-bottom: 6px;
|
|
7884
|
+
position: relative;
|
|
7885
|
+
z-index: 2;
|
|
7875
7886
|
}
|
|
7876
7887
|
|
|
7877
7888
|
.debugger-tab {
|
|
7878
7889
|
cursor: pointer;
|
|
7879
|
-
border: 1px solid
|
|
7880
|
-
border-radius:
|
|
7881
|
-
padding: 6px
|
|
7890
|
+
border: 1px solid var(--glass-border-weak);
|
|
7891
|
+
border-radius: 999px;
|
|
7892
|
+
padding: 6px 12px;
|
|
7882
7893
|
font-size: 12px;
|
|
7883
|
-
color:
|
|
7884
|
-
background: rgba(255, 255, 255, 0.
|
|
7894
|
+
color: var(--text-secondary);
|
|
7895
|
+
background: rgba(255, 255, 255, 0.07);
|
|
7885
7896
|
transition: all 0.2s ease;
|
|
7886
7897
|
}
|
|
7887
7898
|
|
|
7888
7899
|
.debugger-tab:hover {
|
|
7889
|
-
border-color: rgba(
|
|
7900
|
+
border-color: rgba(10, 132, 255, 0.3);
|
|
7890
7901
|
}
|
|
7891
7902
|
|
|
7892
7903
|
.debugger-tab.active {
|
|
7893
|
-
background: rgba(
|
|
7894
|
-
border-color: rgba(
|
|
7895
|
-
color:
|
|
7904
|
+
background: rgba(10, 132, 255, 0.18);
|
|
7905
|
+
border-color: rgba(10, 132, 255, 0.4);
|
|
7906
|
+
color: var(--accent-strong);
|
|
7896
7907
|
}
|
|
7897
7908
|
|
|
7898
7909
|
.tab-content {
|
|
7899
7910
|
display: none;
|
|
7900
7911
|
height: 100%;
|
|
7912
|
+
position: relative;
|
|
7913
|
+
z-index: 2;
|
|
7901
7914
|
}
|
|
7902
7915
|
|
|
7903
7916
|
.tab-content.active {
|
|
@@ -7907,38 +7920,42 @@ const styles = `
|
|
|
7907
7920
|
.debugger-panel-content {
|
|
7908
7921
|
flex: 1;
|
|
7909
7922
|
overflow: auto;
|
|
7910
|
-
padding:
|
|
7923
|
+
padding: 10px;
|
|
7924
|
+
position: relative;
|
|
7925
|
+
z-index: 2;
|
|
7911
7926
|
}
|
|
7912
7927
|
|
|
7913
7928
|
.performance-panel {
|
|
7914
7929
|
display: flex;
|
|
7915
7930
|
flex-direction: column;
|
|
7916
|
-
gap:
|
|
7931
|
+
gap: 10px;
|
|
7917
7932
|
height: 100%;
|
|
7918
7933
|
overflow-y: auto;
|
|
7919
|
-
padding-right:
|
|
7934
|
+
padding-right: 4px;
|
|
7935
|
+
position: relative;
|
|
7936
|
+
z-index: 2;
|
|
7920
7937
|
}
|
|
7921
7938
|
|
|
7922
7939
|
.settings-section {
|
|
7923
7940
|
display: flex;
|
|
7924
7941
|
flex-direction: column;
|
|
7925
|
-
gap:
|
|
7942
|
+
gap: 8px;
|
|
7926
7943
|
}
|
|
7927
7944
|
|
|
7928
7945
|
.settings-toggle {
|
|
7929
7946
|
display: flex;
|
|
7930
|
-
gap:
|
|
7947
|
+
gap: 8px;
|
|
7931
7948
|
align-items: flex-start;
|
|
7932
|
-
padding:
|
|
7949
|
+
padding: 8px;
|
|
7933
7950
|
border-radius: 12px;
|
|
7934
|
-
background: rgba(255, 255, 255, 0.
|
|
7935
|
-
border: 1px solid
|
|
7951
|
+
background: rgba(255, 255, 255, 0.08);
|
|
7952
|
+
border: 1px solid var(--glass-border-weak);
|
|
7936
7953
|
cursor: pointer;
|
|
7937
7954
|
transition: border 0.2s ease, background 0.2s ease;
|
|
7938
7955
|
}
|
|
7939
7956
|
|
|
7940
7957
|
.settings-toggle:hover {
|
|
7941
|
-
border-color: rgba(
|
|
7958
|
+
border-color: rgba(10, 132, 255, 0.3);
|
|
7942
7959
|
}
|
|
7943
7960
|
|
|
7944
7961
|
.settings-toggle.disabled {
|
|
@@ -7970,16 +7987,16 @@ const styles = `
|
|
|
7970
7987
|
.settings-refresh-btn {
|
|
7971
7988
|
padding: 10px 0;
|
|
7972
7989
|
border-radius: 10px;
|
|
7973
|
-
border: 1px solid rgba(
|
|
7974
|
-
background: rgba(
|
|
7975
|
-
color:
|
|
7990
|
+
border: 1px solid rgba(10, 132, 255, 0.35);
|
|
7991
|
+
background: rgba(10, 132, 255, 0.18);
|
|
7992
|
+
color: var(--accent-strong);
|
|
7976
7993
|
font-weight: 600;
|
|
7977
7994
|
cursor: pointer;
|
|
7978
7995
|
transition: all 0.2s ease;
|
|
7979
7996
|
}
|
|
7980
7997
|
|
|
7981
7998
|
.settings-refresh-btn:hover:not(:disabled) {
|
|
7982
|
-
background: rgba(
|
|
7999
|
+
background: rgba(10, 132, 255, 0.28);
|
|
7983
8000
|
}
|
|
7984
8001
|
|
|
7985
8002
|
.settings-refresh-btn:disabled {
|
|
@@ -7989,40 +8006,34 @@ const styles = `
|
|
|
7989
8006
|
|
|
7990
8007
|
.settings-note {
|
|
7991
8008
|
font-size: 11px;
|
|
7992
|
-
|
|
8009
|
+
color: var(--text-tertiary);
|
|
7993
8010
|
line-height: 1.6;
|
|
7994
|
-
padding-bottom:
|
|
8011
|
+
padding-bottom: 6px;
|
|
7995
8012
|
}
|
|
7996
8013
|
|
|
7997
8014
|
.request-list {
|
|
7998
8015
|
display: flex;
|
|
7999
8016
|
flex-direction: column;
|
|
8000
|
-
gap:
|
|
8001
|
-
padding:
|
|
8017
|
+
gap: 10px;
|
|
8018
|
+
padding: 10px 12px 12px;
|
|
8002
8019
|
position: relative;
|
|
8003
8020
|
z-index: 2;
|
|
8004
8021
|
}
|
|
8005
8022
|
|
|
8006
8023
|
.request-item {
|
|
8007
|
-
/* 请求项毛玻璃效果加动态光效 */
|
|
8008
8024
|
position: relative;
|
|
8009
|
-
backdrop-filter: blur(
|
|
8010
|
-
-webkit-backdrop-filter: blur(
|
|
8011
|
-
|
|
8012
|
-
|
|
8013
|
-
|
|
8014
|
-
|
|
8015
|
-
border-radius: 16px;
|
|
8016
|
-
padding: 16px;
|
|
8025
|
+
backdrop-filter: blur(12px) saturate(150%);
|
|
8026
|
+
-webkit-backdrop-filter: blur(12px) saturate(150%);
|
|
8027
|
+
background: rgba(255, 255, 255, 0.1);
|
|
8028
|
+
border: 1px solid var(--glass-border);
|
|
8029
|
+
border-radius: 14px;
|
|
8030
|
+
padding: 12px;
|
|
8017
8031
|
cursor: default;
|
|
8018
8032
|
|
|
8019
|
-
|
|
8020
|
-
|
|
8021
|
-
0
|
|
8022
|
-
inset 0 1px 2px rgba(255, 255, 255, 0.15),
|
|
8023
|
-
inset 0 -1px 1px rgba(0, 0, 0, 0.05);
|
|
8033
|
+
box-shadow:
|
|
8034
|
+
0 8px 20px rgba(12, 16, 24, 0.12),
|
|
8035
|
+
inset 0 1px 0 rgba(255, 255, 255, 0.5);
|
|
8024
8036
|
|
|
8025
|
-
/* 流体动画和光效 */
|
|
8026
8037
|
transition: background 0.3s ease, box-shadow 0.3s ease, backdrop-filter 0.3s ease;
|
|
8027
8038
|
transform: translateZ(0);
|
|
8028
8039
|
animation: none;
|
|
@@ -8036,14 +8047,14 @@ const styles = `
|
|
|
8036
8047
|
border-radius: inherit;
|
|
8037
8048
|
background: radial-gradient(
|
|
8038
8049
|
circle at var(--mouse-x, 30%) var(--mouse-y, 30%),
|
|
8039
|
-
rgba(255, 255, 255, 0.
|
|
8040
|
-
rgba(255, 255, 255, 0.
|
|
8050
|
+
rgba(255, 255, 255, 0.06) 0%,
|
|
8051
|
+
rgba(255, 255, 255, 0.02) 35%,
|
|
8041
8052
|
transparent 70%
|
|
8042
8053
|
);
|
|
8043
|
-
opacity: 0;
|
|
8054
|
+
opacity: 0.12;
|
|
8044
8055
|
transition: opacity 0.4s ease;
|
|
8045
8056
|
pointer-events: none;
|
|
8046
|
-
mix-blend-mode:
|
|
8057
|
+
mix-blend-mode: screen;
|
|
8047
8058
|
z-index: 1;
|
|
8048
8059
|
}
|
|
8049
8060
|
|
|
@@ -8058,7 +8069,7 @@ const styles = `
|
|
|
8058
8069
|
border-radius: 16px 16px 0 0;
|
|
8059
8070
|
background: linear-gradient(
|
|
8060
8071
|
180deg,
|
|
8061
|
-
rgba(255, 255, 255, 0.
|
|
8072
|
+
rgba(255, 255, 255, 0.04) 0%,
|
|
8062
8073
|
transparent 100%
|
|
8063
8074
|
);
|
|
8064
8075
|
pointer-events: none;
|
|
@@ -8066,24 +8077,13 @@ const styles = `
|
|
|
8066
8077
|
}
|
|
8067
8078
|
|
|
8068
8079
|
.request-item:hover {
|
|
8069
|
-
backdrop-filter: blur(
|
|
8070
|
-
-webkit-backdrop-filter: blur(
|
|
8071
|
-
|
|
8072
|
-
/* 增强 hover 时的光效 - 移除会导致抖动的效果 */
|
|
8073
|
-
background:
|
|
8074
|
-
linear-gradient(
|
|
8075
|
-
135deg,
|
|
8076
|
-
rgba(255, 255, 255, 0.2),
|
|
8077
|
-
rgba(255, 255, 255, 0.12)
|
|
8078
|
-
);
|
|
8079
|
-
|
|
8080
|
-
/* 移除 transform 和 animation 避免抖动 */
|
|
8080
|
+
backdrop-filter: blur(16px) saturate(165%);
|
|
8081
|
+
-webkit-backdrop-filter: blur(16px) saturate(165%);
|
|
8082
|
+
background: rgba(255, 255, 255, 0.14);
|
|
8081
8083
|
transition: background 0.2s ease, box-shadow 0.2s ease, backdrop-filter 0.2s ease;
|
|
8082
|
-
|
|
8083
|
-
|
|
8084
|
-
0
|
|
8085
|
-
inset 0 2px 4px rgba(255, 255, 255, 0.25),
|
|
8086
|
-
inset 0 -2px 2px rgba(0, 0, 0, 0.08);
|
|
8084
|
+
box-shadow:
|
|
8085
|
+
0 10px 26px rgba(12, 16, 24, 0.16),
|
|
8086
|
+
inset 0 1px 0 rgba(255, 255, 255, 0.55);
|
|
8087
8087
|
}
|
|
8088
8088
|
|
|
8089
8089
|
/* 激活折射效果 */
|
|
@@ -8092,24 +8092,20 @@ const styles = `
|
|
|
8092
8092
|
}
|
|
8093
8093
|
|
|
8094
8094
|
.request-item.expanded {
|
|
8095
|
-
backdrop-filter: blur(18px)
|
|
8096
|
-
-webkit-backdrop-filter: blur(18px)
|
|
8097
|
-
background:
|
|
8098
|
-
|
|
8099
|
-
|
|
8100
|
-
rgba(
|
|
8101
|
-
|
|
8102
|
-
border-color: rgba(0, 122, 255, 0.2);
|
|
8103
|
-
box-shadow:
|
|
8104
|
-
0 8px 32px rgba(0, 0, 0, 0.15),
|
|
8105
|
-
inset 0 2px 4px rgba(255, 255, 255, 0.15);
|
|
8095
|
+
backdrop-filter: blur(18px) saturate(170%);
|
|
8096
|
+
-webkit-backdrop-filter: blur(18px) saturate(170%);
|
|
8097
|
+
background: rgba(255, 255, 255, 0.16);
|
|
8098
|
+
border-color: rgba(10, 132, 255, 0.25);
|
|
8099
|
+
box-shadow:
|
|
8100
|
+
0 12px 30px rgba(12, 16, 24, 0.18),
|
|
8101
|
+
inset 0 1px 0 rgba(255, 255, 255, 0.6);
|
|
8106
8102
|
}
|
|
8107
8103
|
|
|
8108
8104
|
.request-header {
|
|
8109
8105
|
display: flex;
|
|
8110
8106
|
justify-content: space-between;
|
|
8111
8107
|
align-items: center;
|
|
8112
|
-
margin-bottom:
|
|
8108
|
+
margin-bottom: 3px;
|
|
8113
8109
|
cursor: pointer;
|
|
8114
8110
|
}
|
|
8115
8111
|
|
|
@@ -8117,44 +8113,37 @@ const styles = `
|
|
|
8117
8113
|
/* 方法标签毛玻璃效果 */
|
|
8118
8114
|
backdrop-filter: blur(6px);
|
|
8119
8115
|
-webkit-backdrop-filter: blur(6px);
|
|
8120
|
-
padding:
|
|
8121
|
-
border-radius:
|
|
8116
|
+
padding: 3px 8px;
|
|
8117
|
+
border-radius: 9px;
|
|
8122
8118
|
font-weight: 600;
|
|
8123
8119
|
font-size: 10px;
|
|
8124
8120
|
text-transform: uppercase;
|
|
8125
8121
|
min-width: 45px;
|
|
8126
8122
|
text-align: center;
|
|
8127
|
-
border: 1px solid rgba(255, 255, 255, 0.
|
|
8128
|
-
box-shadow:
|
|
8129
|
-
0 2px 8px rgba(0, 0, 0, 0.1),
|
|
8130
|
-
inset 0 1px 0 rgba(255, 255, 255, 0.25);
|
|
8123
|
+
border: 1px solid rgba(255, 255, 255, 0.4);
|
|
8124
|
+
box-shadow: 0 2px 6px rgba(12, 16, 24, 0.12);
|
|
8131
8125
|
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
|
|
8132
8126
|
}
|
|
8133
8127
|
|
|
8134
8128
|
.method-get {
|
|
8135
|
-
background:
|
|
8136
|
-
color: #
|
|
8137
|
-
box-shadow: 0 0 15px rgba(76, 175, 80, 0.4);
|
|
8129
|
+
background: rgba(52, 199, 89, 0.18);
|
|
8130
|
+
color: #0b3b1c;
|
|
8138
8131
|
}
|
|
8139
8132
|
.method-post {
|
|
8140
|
-
background:
|
|
8141
|
-
color: #
|
|
8142
|
-
box-shadow: 0 0 15px rgba(33, 150, 243, 0.4);
|
|
8133
|
+
background: rgba(10, 132, 255, 0.18);
|
|
8134
|
+
color: #0b2a52;
|
|
8143
8135
|
}
|
|
8144
8136
|
.method-put {
|
|
8145
|
-
background:
|
|
8146
|
-
color: #
|
|
8147
|
-
box-shadow: 0 0 15px rgba(255, 152, 0, 0.4);
|
|
8137
|
+
background: rgba(255, 159, 10, 0.2);
|
|
8138
|
+
color: #5a3206;
|
|
8148
8139
|
}
|
|
8149
8140
|
.method-delete {
|
|
8150
|
-
background:
|
|
8151
|
-
color: #
|
|
8152
|
-
box-shadow: 0 0 15px rgba(244, 67, 54, 0.4);
|
|
8141
|
+
background: rgba(255, 59, 48, 0.18);
|
|
8142
|
+
color: #5a0c0c;
|
|
8153
8143
|
}
|
|
8154
8144
|
.method-patch {
|
|
8155
|
-
background:
|
|
8156
|
-
color: #
|
|
8157
|
-
box-shadow: 0 0 15px rgba(156, 39, 176, 0.4);
|
|
8145
|
+
background: rgba(191, 90, 242, 0.18);
|
|
8146
|
+
color: #3b154a;
|
|
8158
8147
|
}
|
|
8159
8148
|
|
|
8160
8149
|
.request-url {
|
|
@@ -8162,7 +8151,7 @@ const styles = `
|
|
|
8162
8151
|
margin: 0 8px;
|
|
8163
8152
|
word-break: break-all;
|
|
8164
8153
|
white-space: normal;
|
|
8165
|
-
color:
|
|
8154
|
+
color: var(--text-primary);
|
|
8166
8155
|
font-size: 11px;
|
|
8167
8156
|
line-height: 1.3;
|
|
8168
8157
|
}
|
|
@@ -8171,97 +8160,77 @@ const styles = `
|
|
|
8171
8160
|
/* 状态码标签毛玻璃效果 */
|
|
8172
8161
|
backdrop-filter: blur(6px);
|
|
8173
8162
|
-webkit-backdrop-filter: blur(6px);
|
|
8174
|
-
padding:
|
|
8175
|
-
border-radius:
|
|
8163
|
+
padding: 3px 8px;
|
|
8164
|
+
border-radius: 9px;
|
|
8176
8165
|
font-size: 10px;
|
|
8177
8166
|
font-weight: 600;
|
|
8178
8167
|
min-width: 40px;
|
|
8179
8168
|
text-align: center;
|
|
8180
|
-
border: 1px solid rgba(255, 255, 255, 0.
|
|
8181
|
-
box-shadow:
|
|
8182
|
-
0 2px 8px rgba(0, 0, 0, 0.1),
|
|
8183
|
-
inset 0 1px 0 rgba(255, 255, 255, 0.25);
|
|
8169
|
+
border: 1px solid rgba(255, 255, 255, 0.4);
|
|
8170
|
+
box-shadow: 0 2px 6px rgba(12, 16, 24, 0.12);
|
|
8184
8171
|
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
|
|
8185
8172
|
}
|
|
8186
8173
|
|
|
8187
8174
|
.status-2xx {
|
|
8188
|
-
background:
|
|
8189
|
-
color: #
|
|
8190
|
-
box-shadow: 0 3px 12px rgba(0, 0, 0, 0.2);
|
|
8175
|
+
background: rgba(52, 199, 89, 0.2);
|
|
8176
|
+
color: #0b3b1c;
|
|
8191
8177
|
}
|
|
8192
8178
|
.status-3xx {
|
|
8193
|
-
background:
|
|
8194
|
-
color: #
|
|
8195
|
-
box-shadow: 0 3px 12px rgba(0, 0, 0, 0.2);
|
|
8179
|
+
background: rgba(255, 159, 10, 0.2);
|
|
8180
|
+
color: #5a3206;
|
|
8196
8181
|
}
|
|
8197
8182
|
.status-4xx {
|
|
8198
|
-
background:
|
|
8199
|
-
color: #
|
|
8200
|
-
box-shadow: 0 3px 12px rgba(0, 0, 0, 0.2);
|
|
8183
|
+
background: rgba(255, 59, 48, 0.2);
|
|
8184
|
+
color: #5a0c0c;
|
|
8201
8185
|
}
|
|
8202
8186
|
.status-5xx {
|
|
8203
|
-
background:
|
|
8204
|
-
color: #
|
|
8205
|
-
box-shadow: 0 3px 12px rgba(0, 0, 0, 0.2);
|
|
8187
|
+
background: rgba(191, 90, 242, 0.2);
|
|
8188
|
+
color: #3b154a;
|
|
8206
8189
|
}
|
|
8207
8190
|
.status-error {
|
|
8208
|
-
background:
|
|
8209
|
-
color: #
|
|
8210
|
-
box-shadow: 0 3px 12px rgba(0, 0, 0, 0.2);
|
|
8191
|
+
background: rgba(255, 59, 48, 0.2);
|
|
8192
|
+
color: #5a0c0c;
|
|
8211
8193
|
}
|
|
8212
8194
|
|
|
8213
8195
|
.request-info {
|
|
8214
8196
|
display: flex;
|
|
8215
8197
|
justify-content: space-between;
|
|
8216
|
-
font-size:
|
|
8217
|
-
color:
|
|
8198
|
+
font-size: 9px;
|
|
8199
|
+
color: var(--text-secondary);
|
|
8218
8200
|
}
|
|
8219
8201
|
|
|
8220
8202
|
.request-details {
|
|
8221
|
-
margin-top:
|
|
8222
|
-
border-top: 1px solid rgba(
|
|
8223
|
-
padding-top:
|
|
8203
|
+
margin-top: 10px;
|
|
8204
|
+
border-top: 1px solid rgba(12, 16, 24, 0.12);
|
|
8205
|
+
padding-top: 10px;
|
|
8224
8206
|
display: none;
|
|
8225
8207
|
}
|
|
8226
8208
|
|
|
8227
|
-
/* 默认折叠headers */
|
|
8228
|
-
.request-details .detail-section.collapsible {
|
|
8229
|
-
/* 默认折叠状态 */
|
|
8230
|
-
}
|
|
8231
|
-
|
|
8232
|
-
.request-details .detail-section.collapsible:not(.expanded) .detail-content {
|
|
8233
|
-
display: none;
|
|
8234
|
-
}
|
|
8235
|
-
|
|
8236
|
-
.request-details .detail-section.collapsible:not(.expanded) .collapse-icon {
|
|
8237
|
-
transform: rotate(-90deg);
|
|
8238
|
-
}
|
|
8239
|
-
|
|
8240
8209
|
.request-item.expanded .request-details {
|
|
8241
8210
|
display: block;
|
|
8242
8211
|
}
|
|
8243
8212
|
|
|
8244
8213
|
.detail-section {
|
|
8245
|
-
margin-bottom:
|
|
8214
|
+
margin-bottom: 12px;
|
|
8246
8215
|
}
|
|
8247
8216
|
|
|
8248
8217
|
.detail-title {
|
|
8249
8218
|
font-weight: bold;
|
|
8250
|
-
color:
|
|
8251
|
-
margin-bottom:
|
|
8219
|
+
color: var(--accent-strong);
|
|
8220
|
+
margin-bottom: 6px;
|
|
8252
8221
|
font-size: 11px;
|
|
8253
8222
|
text-transform: uppercase;
|
|
8254
|
-
border-bottom: 1px solid rgba(
|
|
8255
|
-
padding-bottom:
|
|
8223
|
+
border-bottom: 1px solid rgba(12, 16, 24, 0.12);
|
|
8224
|
+
padding-bottom: 3px;
|
|
8256
8225
|
}
|
|
8257
8226
|
|
|
8258
8227
|
.detail-title.highlight {
|
|
8259
|
-
color: #
|
|
8228
|
+
color: #b07900;
|
|
8260
8229
|
font-size: 12px;
|
|
8261
|
-
background: rgba(255,
|
|
8230
|
+
background: rgba(255, 193, 7, 0.16);
|
|
8262
8231
|
padding: 6px 8px;
|
|
8263
8232
|
border-radius: 4px;
|
|
8264
|
-
border-bottom: 2px solid
|
|
8233
|
+
border-bottom: 2px solid rgba(255, 193, 7, 0.6);
|
|
8265
8234
|
}
|
|
8266
8235
|
|
|
8267
8236
|
.detail-title.clickable {
|
|
@@ -8273,7 +8242,7 @@ const styles = `
|
|
|
8273
8242
|
}
|
|
8274
8243
|
|
|
8275
8244
|
.detail-title.clickable:hover {
|
|
8276
|
-
background: rgba(
|
|
8245
|
+
background: rgba(10, 132, 255, 0.12);
|
|
8277
8246
|
}
|
|
8278
8247
|
|
|
8279
8248
|
.collapse-icon {
|
|
@@ -8294,27 +8263,24 @@ const styles = `
|
|
|
8294
8263
|
transform: rotate(-90deg);
|
|
8295
8264
|
}
|
|
8296
8265
|
|
|
8266
|
+
.detail-section.collapsible.collapsed .collapse-icon {
|
|
8267
|
+
transform: rotate(-90deg);
|
|
8268
|
+
}
|
|
8269
|
+
|
|
8297
8270
|
.detail-content {
|
|
8298
|
-
|
|
8299
|
-
backdrop-filter: blur(
|
|
8300
|
-
|
|
8301
|
-
|
|
8302
|
-
|
|
8303
|
-
rgba(255, 255, 255, 0.6),
|
|
8304
|
-
rgba(255, 255, 255, 0.4)
|
|
8305
|
-
);
|
|
8306
|
-
border: 1px solid rgba(60, 60, 67, 0.2);
|
|
8307
|
-
padding: 16px;
|
|
8271
|
+
backdrop-filter: blur(10px) saturate(140%);
|
|
8272
|
+
-webkit-backdrop-filter: blur(10px) saturate(140%);
|
|
8273
|
+
background: rgba(255, 255, 255, 0.12);
|
|
8274
|
+
border: 1px solid rgba(12, 16, 24, 0.12);
|
|
8275
|
+
padding: 12px;
|
|
8308
8276
|
border-radius: 12px;
|
|
8309
|
-
max-height:
|
|
8310
|
-
min-height:
|
|
8277
|
+
max-height: 320px;
|
|
8278
|
+
min-height: 220px;
|
|
8311
8279
|
overflow: auto;
|
|
8312
8280
|
user-select: text;
|
|
8313
8281
|
|
|
8314
8282
|
/* 内部阴影 */
|
|
8315
|
-
box-shadow:
|
|
8316
|
-
inset 0 2px 4px rgba(0, 0, 0, 0.05),
|
|
8317
|
-
inset 0 -1px 2px rgba(255, 255, 255, 0.15);
|
|
8283
|
+
box-shadow: inset 0 1px 2px rgba(12, 16, 24, 0.06);
|
|
8318
8284
|
|
|
8319
8285
|
/* 平滑滚动 */
|
|
8320
8286
|
scroll-behavior: smooth;
|
|
@@ -8322,10 +8288,10 @@ const styles = `
|
|
|
8322
8288
|
|
|
8323
8289
|
.json-content {
|
|
8324
8290
|
white-space: pre-wrap;
|
|
8325
|
-
font-family:
|
|
8291
|
+
font-family: "SF Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
|
|
8326
8292
|
font-size: 11px;
|
|
8327
8293
|
line-height: 1.4;
|
|
8328
|
-
color:
|
|
8294
|
+
color: var(--text-primary);
|
|
8329
8295
|
}
|
|
8330
8296
|
|
|
8331
8297
|
.headers-table {
|
|
@@ -8336,24 +8302,24 @@ const styles = `
|
|
|
8336
8302
|
|
|
8337
8303
|
.headers-table th,
|
|
8338
8304
|
.headers-table td {
|
|
8339
|
-
padding:
|
|
8305
|
+
padding: 3px 6px;
|
|
8340
8306
|
text-align: left;
|
|
8341
|
-
border-bottom: 1px solid rgba(
|
|
8307
|
+
border-bottom: 1px solid rgba(12, 16, 24, 0.12);
|
|
8342
8308
|
}
|
|
8343
8309
|
|
|
8344
8310
|
.headers-table th {
|
|
8345
|
-
background: rgba(255, 255, 255, 0.
|
|
8346
|
-
color:
|
|
8311
|
+
background: rgba(255, 255, 255, 0.08);
|
|
8312
|
+
color: var(--text-secondary);
|
|
8347
8313
|
font-weight: bold;
|
|
8348
8314
|
}
|
|
8349
8315
|
|
|
8350
8316
|
.headers-table td {
|
|
8351
|
-
color:
|
|
8317
|
+
color: var(--text-secondary);
|
|
8352
8318
|
}
|
|
8353
8319
|
|
|
8354
8320
|
.decrypted-badge {
|
|
8355
|
-
background:
|
|
8356
|
-
color: #
|
|
8321
|
+
background: rgba(52, 199, 89, 0.2);
|
|
8322
|
+
color: #0b3b1c;
|
|
8357
8323
|
padding: 2px 6px;
|
|
8358
8324
|
border-radius: 3px;
|
|
8359
8325
|
font-size: 9px;
|
|
@@ -8362,8 +8328,8 @@ const styles = `
|
|
|
8362
8328
|
}
|
|
8363
8329
|
|
|
8364
8330
|
.error-badge {
|
|
8365
|
-
background:
|
|
8366
|
-
color: #
|
|
8331
|
+
background: rgba(255, 59, 48, 0.2);
|
|
8332
|
+
color: #5a0c0c;
|
|
8367
8333
|
padding: 2px 6px;
|
|
8368
8334
|
border-radius: 3px;
|
|
8369
8335
|
font-size: 9px;
|
|
@@ -8372,34 +8338,31 @@ const styles = `
|
|
|
8372
8338
|
}
|
|
8373
8339
|
|
|
8374
8340
|
.share-btn {
|
|
8375
|
-
/* 分享按钮毛玻璃效果 */
|
|
8376
8341
|
backdrop-filter: blur(6px);
|
|
8377
8342
|
-webkit-backdrop-filter: blur(6px);
|
|
8378
|
-
background:
|
|
8379
|
-
color:
|
|
8380
|
-
border: 1px solid rgba(
|
|
8381
|
-
padding:
|
|
8343
|
+
background: rgba(10, 132, 255, 0.18);
|
|
8344
|
+
color: var(--accent-strong);
|
|
8345
|
+
border: 1px solid rgba(10, 132, 255, 0.35);
|
|
8346
|
+
padding: 5px 10px;
|
|
8382
8347
|
border-radius: 10px;
|
|
8383
8348
|
font-size: 10px;
|
|
8384
8349
|
font-weight: 500;
|
|
8385
|
-
margin-left:
|
|
8350
|
+
margin-left: 6px;
|
|
8386
8351
|
cursor: pointer;
|
|
8387
8352
|
white-space: nowrap;
|
|
8388
8353
|
|
|
8389
|
-
box-shadow:
|
|
8390
|
-
0 2px 8px rgba(
|
|
8391
|
-
inset 0 1px 0 rgba(255, 255, 255, 0.
|
|
8354
|
+
box-shadow:
|
|
8355
|
+
0 2px 8px rgba(10, 132, 255, 0.16),
|
|
8356
|
+
inset 0 1px 0 rgba(255, 255, 255, 0.25);
|
|
8392
8357
|
|
|
8393
8358
|
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
|
|
8394
8359
|
transform: translateZ(0);
|
|
8395
8360
|
}
|
|
8396
8361
|
|
|
8397
8362
|
.share-btn:hover {
|
|
8398
|
-
background:
|
|
8399
|
-
transform:
|
|
8400
|
-
box-shadow:
|
|
8401
|
-
0 4px 16px rgba(33, 150, 243, 0.4),
|
|
8402
|
-
inset 0 1px 0 rgba(255, 255, 255, 0.3);
|
|
8363
|
+
background: rgba(10, 132, 255, 0.28);
|
|
8364
|
+
transform: translateY(-1px);
|
|
8365
|
+
box-shadow: 0 6px 16px rgba(10, 132, 255, 0.2);
|
|
8403
8366
|
}
|
|
8404
8367
|
|
|
8405
8368
|
.share-btn:active {
|
|
@@ -8408,34 +8371,31 @@ const styles = `
|
|
|
8408
8371
|
}
|
|
8409
8372
|
|
|
8410
8373
|
.api-curl-btn {
|
|
8411
|
-
/* API Curl 按钮毛玻璃效果 */
|
|
8412
8374
|
backdrop-filter: blur(6px);
|
|
8413
8375
|
-webkit-backdrop-filter: blur(6px);
|
|
8414
|
-
background:
|
|
8415
|
-
color: #
|
|
8416
|
-
border: 1px solid rgba(
|
|
8417
|
-
padding:
|
|
8376
|
+
background: rgba(52, 199, 89, 0.18);
|
|
8377
|
+
color: #0b3b1c;
|
|
8378
|
+
border: 1px solid rgba(52, 199, 89, 0.35);
|
|
8379
|
+
padding: 5px 10px;
|
|
8418
8380
|
border-radius: 10px;
|
|
8419
8381
|
font-size: 10px;
|
|
8420
8382
|
font-weight: 500;
|
|
8421
|
-
margin-left:
|
|
8383
|
+
margin-left: 6px;
|
|
8422
8384
|
cursor: pointer;
|
|
8423
8385
|
white-space: nowrap;
|
|
8424
8386
|
|
|
8425
|
-
box-shadow:
|
|
8426
|
-
0 2px 8px rgba(
|
|
8427
|
-
inset 0 1px 0 rgba(255, 255, 255, 0.
|
|
8387
|
+
box-shadow:
|
|
8388
|
+
0 2px 8px rgba(52, 199, 89, 0.16),
|
|
8389
|
+
inset 0 1px 0 rgba(255, 255, 255, 0.25);
|
|
8428
8390
|
|
|
8429
8391
|
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
|
|
8430
8392
|
transform: translateZ(0);
|
|
8431
8393
|
}
|
|
8432
8394
|
|
|
8433
8395
|
.api-curl-btn:hover {
|
|
8434
|
-
background:
|
|
8435
|
-
transform:
|
|
8436
|
-
box-shadow:
|
|
8437
|
-
0 4px 16px rgba(76, 175, 80, 0.4),
|
|
8438
|
-
inset 0 1px 0 rgba(255, 255, 255, 0.3);
|
|
8396
|
+
background: rgba(52, 199, 89, 0.28);
|
|
8397
|
+
transform: translateY(-1px);
|
|
8398
|
+
box-shadow: 0 6px 16px rgba(52, 199, 89, 0.2);
|
|
8439
8399
|
}
|
|
8440
8400
|
|
|
8441
8401
|
.api-curl-btn:active {
|
|
@@ -8480,8 +8440,8 @@ const styles = `
|
|
|
8480
8440
|
|
|
8481
8441
|
.tools-section {
|
|
8482
8442
|
padding: 12px;
|
|
8483
|
-
background:
|
|
8484
|
-
border-bottom: 1px solid
|
|
8443
|
+
background: rgba(255, 255, 255, 0.65);
|
|
8444
|
+
border-bottom: 1px solid var(--glass-border-weak);
|
|
8485
8445
|
}
|
|
8486
8446
|
|
|
8487
8447
|
.tool-buttons {
|
|
@@ -8492,23 +8452,24 @@ const styles = `
|
|
|
8492
8452
|
|
|
8493
8453
|
.tool-btn {
|
|
8494
8454
|
padding: 6px 12px;
|
|
8495
|
-
background:
|
|
8496
|
-
color:
|
|
8497
|
-
border:
|
|
8498
|
-
border-radius:
|
|
8455
|
+
background: rgba(10, 132, 255, 0.18);
|
|
8456
|
+
color: var(--accent-strong);
|
|
8457
|
+
border: 1px solid rgba(10, 132, 255, 0.3);
|
|
8458
|
+
border-radius: 8px;
|
|
8499
8459
|
cursor: pointer;
|
|
8500
8460
|
font-size: 11px;
|
|
8501
8461
|
font-weight: bold;
|
|
8502
|
-
transition: background-color 0.2s;
|
|
8462
|
+
transition: background-color 0.2s, transform 0.2s ease;
|
|
8503
8463
|
}
|
|
8504
8464
|
|
|
8505
8465
|
.tool-btn:hover {
|
|
8506
|
-
background:
|
|
8466
|
+
background: rgba(10, 132, 255, 0.28);
|
|
8467
|
+
transform: translateY(-1px);
|
|
8507
8468
|
}
|
|
8508
8469
|
|
|
8509
8470
|
.tool-btn:disabled {
|
|
8510
|
-
background:
|
|
8511
|
-
color:
|
|
8471
|
+
background: rgba(12, 16, 24, 0.1);
|
|
8472
|
+
color: var(--text-tertiary);
|
|
8512
8473
|
cursor: not-allowed;
|
|
8513
8474
|
}
|
|
8514
8475
|
|
|
@@ -8562,10 +8523,10 @@ const styles = `
|
|
|
8562
8523
|
|
|
8563
8524
|
@keyframes liquid-glow {
|
|
8564
8525
|
0%, 100% {
|
|
8565
|
-
box-shadow: 0
|
|
8526
|
+
box-shadow: 0 8px 20px rgba(12, 16, 24, 0.12);
|
|
8566
8527
|
}
|
|
8567
8528
|
50% {
|
|
8568
|
-
box-shadow: 0
|
|
8529
|
+
box-shadow: 0 10px 26px rgba(12, 16, 24, 0.16);
|
|
8569
8530
|
}
|
|
8570
8531
|
}
|
|
8571
8532
|
|
|
@@ -8574,7 +8535,14 @@ const styles = `
|
|
|
8574
8535
|
}
|
|
8575
8536
|
|
|
8576
8537
|
.request-item.expanded {
|
|
8577
|
-
animation: liquid-glow
|
|
8538
|
+
animation: liquid-glow 0.9s ease-out 1;
|
|
8539
|
+
}
|
|
8540
|
+
|
|
8541
|
+
@media (prefers-reduced-motion: reduce) {
|
|
8542
|
+
.expanding,
|
|
8543
|
+
.request-item.expanded {
|
|
8544
|
+
animation: none;
|
|
8545
|
+
}
|
|
8578
8546
|
}
|
|
8579
8547
|
|
|
8580
8548
|
/* 移动端响应式 */
|
|
@@ -8583,12 +8551,11 @@ const styles = `
|
|
|
8583
8551
|
#network-debugger-panel.bottom-left,
|
|
8584
8552
|
#network-debugger-panel.top-right,
|
|
8585
8553
|
#network-debugger-panel.top-left {
|
|
8586
|
-
width: calc(100vw -
|
|
8587
|
-
left:
|
|
8554
|
+
width: calc(100vw - 32px - var(--safe-left) - var(--safe-right)) !important;
|
|
8555
|
+
left: calc(16px + var(--safe-left)) !important;
|
|
8588
8556
|
right: auto !important;
|
|
8589
|
-
|
|
8590
|
-
backdrop-filter: blur(
|
|
8591
|
-
-webkit-backdrop-filter: blur(15px) saturate(150%);
|
|
8557
|
+
backdrop-filter: blur(18px) saturate(150%);
|
|
8558
|
+
-webkit-backdrop-filter: blur(18px) saturate(150%);
|
|
8592
8559
|
}
|
|
8593
8560
|
|
|
8594
8561
|
.request-item {
|
|
@@ -16725,8 +16692,8 @@ var parseBackgroundColor = function(context, element, backgroundColorOverride) {
|
|
|
16725
16692
|
return element === ownerDocument.documentElement ? isTransparent(documentBackgroundColor) ? isTransparent(bodyBackgroundColor) ? defaultBackgroundColor : bodyBackgroundColor : documentBackgroundColor : defaultBackgroundColor;
|
|
16726
16693
|
};
|
|
16727
16694
|
const _LiquidEffects = class _LiquidEffects {
|
|
16728
|
-
static getAdvancedFragmentShader() {
|
|
16729
|
-
|
|
16695
|
+
static getAdvancedFragmentShader(options = {}) {
|
|
16696
|
+
const source = `#version 300 es
|
|
16730
16697
|
precision highp float;
|
|
16731
16698
|
|
|
16732
16699
|
in vec2 v_uv;
|
|
@@ -16750,6 +16717,7 @@ const _LiquidEffects = class _LiquidEffects {
|
|
|
16750
16717
|
uniform float u_cornerBoost;
|
|
16751
16718
|
uniform float u_rippleEffect;
|
|
16752
16719
|
uniform float u_tintOpacity;
|
|
16720
|
+
uniform float u_glassOpacity;
|
|
16753
16721
|
uniform float u_time;
|
|
16754
16722
|
|
|
16755
16723
|
out vec4 fragColor;
|
|
@@ -16918,8 +16886,8 @@ const _LiquidEffects = class _LiquidEffects {
|
|
|
16918
16886
|
vec3 accumulateMid = vec3(0.0);
|
|
16919
16887
|
vec3 accumulateBottom = vec3(0.0);
|
|
16920
16888
|
|
|
16921
|
-
int horizontalSamples = 20;
|
|
16922
|
-
int verticalSamples = 11; // -5..5
|
|
16889
|
+
const int horizontalSamples = 20;
|
|
16890
|
+
const int verticalSamples = 11; // -5..5
|
|
16923
16891
|
|
|
16924
16892
|
float topY = (viewportCenter.y - containerSize.y * 0.4) / u_textureSize.y;
|
|
16925
16893
|
float midY = viewportCenter.y / u_textureSize.y;
|
|
@@ -16976,9 +16944,14 @@ const _LiquidEffects = class _LiquidEffects {
|
|
|
16976
16944
|
}
|
|
16977
16945
|
|
|
16978
16946
|
float mask = 1.0 - smoothstep(-1.0, 1.0, maskDistance);
|
|
16979
|
-
|
|
16947
|
+
float opacity = clamp(u_glassOpacity, 0.02, 0.95);
|
|
16948
|
+
fragColor = vec4(color.rgb, mask * opacity);
|
|
16980
16949
|
}
|
|
16981
16950
|
`;
|
|
16951
|
+
if (options.webgl2 === false) {
|
|
16952
|
+
return source.replace("#version 300 es", "").replace("precision highp float;", "precision mediump float;").replace("in vec2 v_uv;", "varying vec2 v_uv;").replace("out vec4 fragColor;", "").replace(/\btexture\(/g, "texture2D(").replace(/\bfragColor\b/g, "gl_FragColor");
|
|
16953
|
+
}
|
|
16954
|
+
return source;
|
|
16982
16955
|
}
|
|
16983
16956
|
static getUniformConfig(config) {
|
|
16984
16957
|
return {
|
|
@@ -16992,6 +16965,7 @@ const _LiquidEffects = class _LiquidEffects {
|
|
|
16992
16965
|
u_cornerBoost: config.cornerBoost,
|
|
16993
16966
|
u_rippleEffect: config.rippleEffect,
|
|
16994
16967
|
u_tintOpacity: config.tintOpacity,
|
|
16968
|
+
u_glassOpacity: config.glassOpacity,
|
|
16995
16969
|
u_warp: config.warp ? 1 : 0
|
|
16996
16970
|
};
|
|
16997
16971
|
}
|
|
@@ -17039,8 +17013,10 @@ _LiquidEffects.defaultConfig = {
|
|
|
17039
17013
|
// 角落额外高光:营造 iOS 风格角点
|
|
17040
17014
|
rippleEffect: 0.1,
|
|
17041
17015
|
// 流动/波纹幅度:越大越活泼
|
|
17042
|
-
tintOpacity: 0.
|
|
17016
|
+
tintOpacity: 0.06,
|
|
17043
17017
|
// 色彩混入比例:越大越浑厚
|
|
17018
|
+
glassOpacity: 0.08,
|
|
17019
|
+
// 玻璃整体透明度:越小越通透
|
|
17044
17020
|
warp: false
|
|
17045
17021
|
// 是否启用中心扭曲
|
|
17046
17022
|
};
|
|
@@ -17056,7 +17032,8 @@ _LiquidEffects.presets = {
|
|
|
17056
17032
|
baseDistance: 0.12,
|
|
17057
17033
|
cornerBoost: 0.015,
|
|
17058
17034
|
rippleEffect: 0.05,
|
|
17059
|
-
tintOpacity: 0.
|
|
17035
|
+
tintOpacity: 0.05,
|
|
17036
|
+
glassOpacity: 0.06,
|
|
17060
17037
|
warp: false
|
|
17061
17038
|
},
|
|
17062
17039
|
normal: {
|
|
@@ -17069,7 +17046,8 @@ _LiquidEffects.presets = {
|
|
|
17069
17046
|
baseDistance: 0.1,
|
|
17070
17047
|
cornerBoost: 0.02,
|
|
17071
17048
|
rippleEffect: 0.1,
|
|
17072
|
-
tintOpacity: 0.
|
|
17049
|
+
tintOpacity: 0.06,
|
|
17050
|
+
glassOpacity: 0.08,
|
|
17073
17051
|
warp: false
|
|
17074
17052
|
},
|
|
17075
17053
|
dramatic: {
|
|
@@ -17082,7 +17060,8 @@ _LiquidEffects.presets = {
|
|
|
17082
17060
|
baseDistance: 0.08,
|
|
17083
17061
|
cornerBoost: 0.035,
|
|
17084
17062
|
rippleEffect: 0.18,
|
|
17085
|
-
tintOpacity: 0.
|
|
17063
|
+
tintOpacity: 0.1,
|
|
17064
|
+
glassOpacity: 0.12,
|
|
17086
17065
|
warp: true
|
|
17087
17066
|
},
|
|
17088
17067
|
psychedelic: {
|
|
@@ -17095,7 +17074,8 @@ _LiquidEffects.presets = {
|
|
|
17095
17074
|
baseDistance: 0.08,
|
|
17096
17075
|
cornerBoost: 0.05,
|
|
17097
17076
|
rippleEffect: 0.26,
|
|
17098
|
-
tintOpacity: 0.
|
|
17077
|
+
tintOpacity: 0.16,
|
|
17078
|
+
glassOpacity: 0.2,
|
|
17099
17079
|
warp: true
|
|
17100
17080
|
},
|
|
17101
17081
|
ios26: {
|
|
@@ -17109,13 +17089,15 @@ _LiquidEffects.presets = {
|
|
|
17109
17089
|
baseDistance: 0.09,
|
|
17110
17090
|
cornerBoost: 0.045,
|
|
17111
17091
|
rippleEffect: 0.22,
|
|
17112
|
-
tintOpacity: 0.
|
|
17092
|
+
tintOpacity: 0.08,
|
|
17093
|
+
glassOpacity: 0.1,
|
|
17113
17094
|
warp: true
|
|
17114
17095
|
}
|
|
17115
17096
|
};
|
|
17116
17097
|
let LiquidEffects = _LiquidEffects;
|
|
17117
17098
|
class LiquidGlassRenderer {
|
|
17118
17099
|
constructor(config) {
|
|
17100
|
+
this.isWebGL2 = false;
|
|
17119
17101
|
this.animationId = null;
|
|
17120
17102
|
this.program = null;
|
|
17121
17103
|
this.vertexBuffer = null;
|
|
@@ -17168,6 +17150,7 @@ class LiquidGlassRenderer {
|
|
|
17168
17150
|
if (!gl) {
|
|
17169
17151
|
throw new Error("Neither WebGL2 nor WebGL1 is supported");
|
|
17170
17152
|
}
|
|
17153
|
+
this.isWebGL2 = typeof WebGL2RenderingContext !== "undefined" && gl instanceof WebGL2RenderingContext;
|
|
17171
17154
|
this.gl = gl;
|
|
17172
17155
|
this.setupGL();
|
|
17173
17156
|
}
|
|
@@ -17194,7 +17177,7 @@ class LiquidGlassRenderer {
|
|
|
17194
17177
|
}
|
|
17195
17178
|
createShaderProgram() {
|
|
17196
17179
|
const { gl } = this;
|
|
17197
|
-
const vertexShaderSource = `#version 300 es
|
|
17180
|
+
const vertexShaderSource = this.isWebGL2 ? `#version 300 es
|
|
17198
17181
|
precision highp float;
|
|
17199
17182
|
in vec2 a_position;
|
|
17200
17183
|
out vec2 v_uv;
|
|
@@ -17204,12 +17187,22 @@ class LiquidGlassRenderer {
|
|
|
17204
17187
|
v_uv = uv;
|
|
17205
17188
|
gl_Position = vec4(a_position, 0.0, 1.0);
|
|
17206
17189
|
}
|
|
17190
|
+
` : `
|
|
17191
|
+
precision mediump float;
|
|
17192
|
+
attribute vec2 a_position;
|
|
17193
|
+
varying vec2 v_uv;
|
|
17194
|
+
void main() {
|
|
17195
|
+
vec2 uv = a_position * 0.5 + 0.5;
|
|
17196
|
+
uv.y = 1.0 - uv.y;
|
|
17197
|
+
v_uv = uv;
|
|
17198
|
+
gl_Position = vec4(a_position, 0.0, 1.0);
|
|
17199
|
+
}
|
|
17207
17200
|
`;
|
|
17208
|
-
let fragmentShaderSource = LiquidEffects.getAdvancedFragmentShader();
|
|
17201
|
+
let fragmentShaderSource = LiquidEffects.getAdvancedFragmentShader({ webgl2: this.isWebGL2 });
|
|
17209
17202
|
let fragmentShader = this.compileShader(gl.FRAGMENT_SHADER, fragmentShaderSource);
|
|
17210
17203
|
if (!fragmentShader) {
|
|
17211
17204
|
this.usingFallbackShader = true;
|
|
17212
|
-
fragmentShaderSource = this.getFallbackFragmentShader();
|
|
17205
|
+
fragmentShaderSource = this.getFallbackFragmentShader(this.isWebGL2);
|
|
17213
17206
|
fragmentShader = this.compileShader(gl.FRAGMENT_SHADER, fragmentShaderSource);
|
|
17214
17207
|
if (!fragmentShader) {
|
|
17215
17208
|
throw new Error("Failed to compile fallback liquid glass shader");
|
|
@@ -17248,7 +17241,8 @@ class LiquidGlassRenderer {
|
|
|
17248
17241
|
"u_baseDistance",
|
|
17249
17242
|
"u_cornerBoost",
|
|
17250
17243
|
"u_rippleEffect",
|
|
17251
|
-
"u_tintOpacity"
|
|
17244
|
+
"u_tintOpacity",
|
|
17245
|
+
"u_glassOpacity"
|
|
17252
17246
|
];
|
|
17253
17247
|
const fallbackUniforms = ["u_time", "u_background", "u_resolution"];
|
|
17254
17248
|
const uniformNames = this.usingFallbackShader ? fallbackUniforms : advancedUniforms;
|
|
@@ -17512,7 +17506,28 @@ class LiquidGlassRenderer {
|
|
|
17512
17506
|
return 0.016;
|
|
17513
17507
|
}
|
|
17514
17508
|
}
|
|
17515
|
-
getFallbackFragmentShader() {
|
|
17509
|
+
getFallbackFragmentShader(webgl2) {
|
|
17510
|
+
if (!webgl2) {
|
|
17511
|
+
return `
|
|
17512
|
+
precision mediump float;
|
|
17513
|
+
varying vec2 v_uv;
|
|
17514
|
+
uniform float u_time;
|
|
17515
|
+
uniform vec2 u_resolution;
|
|
17516
|
+
uniform sampler2D u_background;
|
|
17517
|
+
void main() {
|
|
17518
|
+
vec2 uv = v_uv;
|
|
17519
|
+
vec2 noise = vec2(
|
|
17520
|
+
sin(uv.y * 40.0 + u_time * 1.2),
|
|
17521
|
+
cos(uv.x * 40.0 + u_time * 1.1)
|
|
17522
|
+
) * 0.004;
|
|
17523
|
+
vec4 color = texture2D(u_background, clamp(uv + noise, 0.0, 1.0));
|
|
17524
|
+
float edge = smoothstep(0.0, 0.15, min(min(uv.x, 1.0 - uv.x), min(uv.y, 1.0 - uv.y)));
|
|
17525
|
+
float highlight = pow(1.0 - edge, 6.0);
|
|
17526
|
+
vec3 tint = mix(color.rgb, vec3(1.0), highlight * 0.4);
|
|
17527
|
+
gl_FragColor = vec4(tint, color.a * 0.92);
|
|
17528
|
+
}
|
|
17529
|
+
`;
|
|
17530
|
+
}
|
|
17516
17531
|
return `#version 300 es
|
|
17517
17532
|
precision highp float;
|
|
17518
17533
|
in vec2 v_uv;
|
|
@@ -17989,9 +18004,9 @@ class LiquidGlassScene {
|
|
|
17989
18004
|
this.backgroundCanvas.height = height;
|
|
17990
18005
|
this.backgroundCtx.clearRect(0, 0, width, height);
|
|
17991
18006
|
const gradient = this.backgroundCtx.createLinearGradient(0, 0, width, height);
|
|
17992
|
-
gradient.addColorStop(0, "rgba(255, 255, 255, 0.
|
|
17993
|
-
gradient.addColorStop(0.45, "rgba(236, 240, 255, 0.
|
|
17994
|
-
gradient.addColorStop(1, "rgba(210, 217, 245, 0.
|
|
18007
|
+
gradient.addColorStop(0, "rgba(255, 255, 255, 0.1)");
|
|
18008
|
+
gradient.addColorStop(0.45, "rgba(236, 240, 255, 0.06)");
|
|
18009
|
+
gradient.addColorStop(1, "rgba(210, 217, 245, 0.04)");
|
|
17995
18010
|
this.backgroundCtx.fillStyle = gradient;
|
|
17996
18011
|
this.backgroundCtx.fillRect(0, 0, width, height);
|
|
17997
18012
|
const imageData = this.backgroundCtx.getImageData(0, 0, width, height);
|
|
@@ -18249,27 +18264,27 @@ const _WebGLManager = class _WebGLManager {
|
|
|
18249
18264
|
style.textContent = `
|
|
18250
18265
|
.enhanced-css-glass {
|
|
18251
18266
|
/* 增强的 CSS 毛玻璃效果,模拟 WebGL */
|
|
18252
|
-
backdrop-filter: blur(40px) saturate(180%) brightness(1.
|
|
18253
|
-
-webkit-backdrop-filter: blur(40px) saturate(180%) brightness(1.
|
|
18267
|
+
backdrop-filter: blur(40px) saturate(180%) brightness(1.05) !important;
|
|
18268
|
+
-webkit-backdrop-filter: blur(40px) saturate(180%) brightness(1.05) !important;
|
|
18254
18269
|
|
|
18255
18270
|
/* 添加动态渐变背景 */
|
|
18256
18271
|
background:
|
|
18257
18272
|
radial-gradient(circle at var(--mouse-x, 50%) var(--mouse-y, 50%),
|
|
18258
|
-
rgba(255, 255, 255, 0.
|
|
18259
|
-
rgba(255, 255, 255, 0.
|
|
18260
|
-
rgba(255, 255, 255, 0.
|
|
18273
|
+
rgba(255, 255, 255, 0.1) 0%,
|
|
18274
|
+
rgba(255, 255, 255, 0.04) 40%,
|
|
18275
|
+
rgba(255, 255, 255, 0.02) 80%),
|
|
18261
18276
|
linear-gradient(135deg,
|
|
18262
|
-
rgba(255, 255, 255, 0.
|
|
18263
|
-
rgba(245, 245, 247, 0.
|
|
18277
|
+
rgba(255, 255, 255, 0.12),
|
|
18278
|
+
rgba(245, 245, 247, 0.05)) !important;
|
|
18264
18279
|
|
|
18265
18280
|
/* 动态边框 */
|
|
18266
|
-
border: 1px solid rgba(255, 255, 255, 0.
|
|
18281
|
+
border: 1px solid rgba(255, 255, 255, 0.1) !important;
|
|
18267
18282
|
|
|
18268
18283
|
/* 增强阴影 */
|
|
18269
18284
|
box-shadow:
|
|
18270
|
-
0 20px 50px rgba(31, 38, 135, 0.
|
|
18271
|
-
inset 0 2px 6px rgba(255, 255, 255, 0.
|
|
18272
|
-
inset 0 -2px 4px rgba(0, 0, 0, 0.
|
|
18285
|
+
0 20px 50px rgba(31, 38, 135, 0.12),
|
|
18286
|
+
inset 0 2px 6px rgba(255, 255, 255, 0.06),
|
|
18287
|
+
inset 0 -2px 4px rgba(0, 0, 0, 0.04) !important;
|
|
18273
18288
|
}
|
|
18274
18289
|
|
|
18275
18290
|
.enhanced-css-glass::before {
|
|
@@ -18279,8 +18294,8 @@ const _WebGLManager = class _WebGLManager {
|
|
|
18279
18294
|
border-radius: inherit;
|
|
18280
18295
|
background: radial-gradient(
|
|
18281
18296
|
circle at var(--mouse-x, 30%) var(--mouse-y, 30%),
|
|
18282
|
-
rgba(255, 255, 255, 0.
|
|
18283
|
-
rgba(255, 255, 255, 0.
|
|
18297
|
+
rgba(255, 255, 255, 0.08) 0%,
|
|
18298
|
+
rgba(255, 255, 255, 0.03) 50%,
|
|
18284
18299
|
transparent 100%
|
|
18285
18300
|
);
|
|
18286
18301
|
opacity: 0;
|
|
@@ -18400,8 +18415,10 @@ const _WebGLManager = class _WebGLManager {
|
|
|
18400
18415
|
static checkSupport() {
|
|
18401
18416
|
try {
|
|
18402
18417
|
const canvas = document.createElement("canvas");
|
|
18403
|
-
const
|
|
18404
|
-
return
|
|
18418
|
+
const gl2 = canvas.getContext("webgl2");
|
|
18419
|
+
if (gl2) return true;
|
|
18420
|
+
const gl1 = canvas.getContext("webgl");
|
|
18421
|
+
return !!gl1;
|
|
18405
18422
|
} catch {
|
|
18406
18423
|
return false;
|
|
18407
18424
|
}
|
|
@@ -18445,7 +18462,7 @@ const _DebugPanel = class _DebugPanel {
|
|
|
18445
18462
|
minimized: false,
|
|
18446
18463
|
isClosed: false,
|
|
18447
18464
|
webgl: {
|
|
18448
|
-
enabled:
|
|
18465
|
+
enabled: false,
|
|
18449
18466
|
quality: "medium",
|
|
18450
18467
|
preset: "normal",
|
|
18451
18468
|
applyToItems: false
|
|
@@ -18455,6 +18472,9 @@ const _DebugPanel = class _DebugPanel {
|
|
|
18455
18472
|
...config
|
|
18456
18473
|
// 再应用传入的配置(优先级最高)
|
|
18457
18474
|
};
|
|
18475
|
+
if (this.config.webgl) {
|
|
18476
|
+
this.config.webgl.enabled = false;
|
|
18477
|
+
}
|
|
18458
18478
|
if (this.config.webgl && this.config.webgl.applyToItems === void 0) {
|
|
18459
18479
|
this.config.webgl.applyToItems = false;
|
|
18460
18480
|
}
|
|
@@ -18497,7 +18517,7 @@ const _DebugPanel = class _DebugPanel {
|
|
|
18497
18517
|
this.container.style.pointerEvents = "auto";
|
|
18498
18518
|
this.container.innerHTML = `
|
|
18499
18519
|
<div class="debugger-header">
|
|
18500
|
-
<div class="debugger-title">🔓 PWTK 解密小工具 <span style="font-size: 10px; opacity: 0.7;">by Leo v${"1.3.
|
|
18520
|
+
<div class="debugger-title">🔓 PWTK 解密小工具 <span style="font-size: 10px; opacity: 0.7;">by Leo v${"1.3.8"}</span></div>
|
|
18501
18521
|
<div class="debugger-controls">
|
|
18502
18522
|
<button class="debugger-btn" data-action="clear" title="清空"><svg class="debugger-icon" viewBox="0 0 24 24"><path fill="currentColor" d="M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zM19 4h-3.5l-1-1h-5l-1 1H5v2h14V4z"/></svg></button>
|
|
18503
18523
|
<button class="debugger-btn" data-action="export" title="导出"><svg class="debugger-icon" viewBox="0 0 24 24"><path fill="currentColor" d="M19 9h-4V3H9v6H5l7 7 7-7zM5 18v2h14v-2H5z"/></svg></button>
|
|
@@ -18514,41 +18534,10 @@ const _DebugPanel = class _DebugPanel {
|
|
|
18514
18534
|
<div class="search-stats"></div>
|
|
18515
18535
|
</div>
|
|
18516
18536
|
<div class="debugger-content">
|
|
18517
|
-
<div class="debugger-tabs">
|
|
18518
|
-
<button class="debugger-tab active" data-tab="network">网络请求</button>
|
|
18519
|
-
<button class="debugger-tab" data-tab="settings">性能与外观</button>
|
|
18520
|
-
</div>
|
|
18521
18537
|
<div class="debugger-panel-content">
|
|
18522
18538
|
<div class="tab-content network-panel active" data-tab-content="network">
|
|
18523
18539
|
<div class="request-list"></div>
|
|
18524
18540
|
</div>
|
|
18525
|
-
<div class="tab-content performance-panel" data-tab-content="settings">
|
|
18526
|
-
<div class="settings-section" data-setting-group="enableWebGL">
|
|
18527
|
-
<label class="settings-toggle">
|
|
18528
|
-
<input type="checkbox" data-setting="enableWebGL" />
|
|
18529
|
-
<div class="settings-text">
|
|
18530
|
-
<div class="settings-title">启用液态玻璃效果</div>
|
|
18531
|
-
<div class="settings-desc">关闭后使用轻量级 CSS 背景,适合低性能设备</div>
|
|
18532
|
-
</div>
|
|
18533
|
-
</label>
|
|
18534
|
-
<label class="settings-toggle" data-setting-group="autoRefresh">
|
|
18535
|
-
<input type="checkbox" data-setting="autoRefresh" />
|
|
18536
|
-
<div class="settings-text">
|
|
18537
|
-
<div class="settings-title">自动刷新背景快照</div>
|
|
18538
|
-
<div class="settings-desc">监听页面变化自动重新截图,关闭后可通过下方按钮手动刷新</div>
|
|
18539
|
-
</div>
|
|
18540
|
-
</label>
|
|
18541
|
-
<label class="settings-toggle" data-setting-group="enableButtonAnimation">
|
|
18542
|
-
<input type="checkbox" data-setting="enableButtonAnimation" />
|
|
18543
|
-
<div class="settings-text">
|
|
18544
|
-
<div class="settings-title">浮动按钮动效</div>
|
|
18545
|
-
<div class="settings-desc">更新 WebGL 按钮的实时玻璃动效,关闭可降低 GPU 压力</div>
|
|
18546
|
-
</div>
|
|
18547
|
-
</label>
|
|
18548
|
-
</div>
|
|
18549
|
-
<button class="settings-refresh-btn" data-action="manual-refresh">手动刷新背景</button>
|
|
18550
|
-
<div class="settings-note">提示:当性能受限时可以关闭液态玻璃效果。随时可以重新开启,并手动刷新一次背景同步页面。</div>
|
|
18551
|
-
</div>
|
|
18552
18541
|
</div>
|
|
18553
18542
|
</div>
|
|
18554
18543
|
`;
|
|
@@ -19248,6 +19237,10 @@ Created by Leo (@leeguoo)`);
|
|
|
19248
19237
|
async createReopenButton() {
|
|
19249
19238
|
try {
|
|
19250
19239
|
this.removeReopenButton();
|
|
19240
|
+
if (!this.config.webgl?.enabled) {
|
|
19241
|
+
this.createFallbackButton();
|
|
19242
|
+
return;
|
|
19243
|
+
}
|
|
19251
19244
|
const timeout = new Promise(
|
|
19252
19245
|
(_, reject) => setTimeout(() => reject(new Error("Timeout waiting for liquid glass")), 3e3)
|
|
19253
19246
|
);
|
|
@@ -19303,17 +19296,8 @@ Created by Leo (@leeguoo)`);
|
|
|
19303
19296
|
glassButton.textElement.style.color = "#ffffff";
|
|
19304
19297
|
glassButton.textElement.style.textTransform = "none";
|
|
19305
19298
|
}
|
|
19306
|
-
if (glassButton.
|
|
19307
|
-
glassButton.
|
|
19308
|
-
glassButton.canvas.height = buttonHeight;
|
|
19309
|
-
glassButton.canvas.style.width = `${buttonWidth}px`;
|
|
19310
|
-
glassButton.canvas.style.height = `${buttonHeight}px`;
|
|
19311
|
-
glassButton.canvas.style.borderRadius = `${buttonHeight / 2}px`;
|
|
19312
|
-
}
|
|
19313
|
-
if (glassButton.width !== void 0) {
|
|
19314
|
-
;
|
|
19315
|
-
glassButton.width = buttonWidth;
|
|
19316
|
-
glassButton.height = buttonHeight;
|
|
19299
|
+
if (typeof glassButton.updateSizeFromDOM === "function") {
|
|
19300
|
+
glassButton.updateSizeFromDOM();
|
|
19317
19301
|
}
|
|
19318
19302
|
const pos = this.config.position || "bottom-right";
|
|
19319
19303
|
if (pos.includes("bottom")) {
|
|
@@ -19546,6 +19530,7 @@ Created by Leo (@leeguoo)`);
|
|
|
19546
19530
|
this.webglManager.destroy();
|
|
19547
19531
|
this.webglManager = null;
|
|
19548
19532
|
}
|
|
19533
|
+
this.container.classList.remove("webgl-active");
|
|
19549
19534
|
this.requestsCache = [];
|
|
19550
19535
|
this.filteredRequestsCache = [];
|
|
19551
19536
|
logger.debug("[PWTK] Panel destroyed and all resources cleaned up");
|
|
@@ -19670,15 +19655,18 @@ Created by Leo (@leeguoo)`);
|
|
|
19670
19655
|
const initialized = await this.webglManager.initialize(this.container);
|
|
19671
19656
|
if (initialized) {
|
|
19672
19657
|
this.webglManager.enableForElement(this.container, "main-panel");
|
|
19658
|
+
this.container.classList.add("webgl-active");
|
|
19673
19659
|
setTimeout(() => {
|
|
19674
19660
|
this.enableWebGLForRequestItems();
|
|
19675
19661
|
}, 500);
|
|
19676
19662
|
this.scheduleWebGLBackgroundUpdate(true);
|
|
19677
19663
|
logger.debug("✨ WebGL liquid glass effects initialized");
|
|
19678
19664
|
} else {
|
|
19665
|
+
this.container.classList.remove("webgl-active");
|
|
19679
19666
|
logger.debug("🔄 WebGL initialization failed, using CSS fallback");
|
|
19680
19667
|
}
|
|
19681
19668
|
} catch (error) {
|
|
19669
|
+
this.container.classList.remove("webgl-active");
|
|
19682
19670
|
logger.error("WebGL initialization error:", error);
|
|
19683
19671
|
}
|
|
19684
19672
|
}
|
|
@@ -19756,6 +19744,7 @@ Created by Leo (@leeguoo)`);
|
|
|
19756
19744
|
} else if (!enabled && this.webglManager) {
|
|
19757
19745
|
this.webglManager.destroy();
|
|
19758
19746
|
this.webglManager = null;
|
|
19747
|
+
this.container.classList.remove("webgl-active");
|
|
19759
19748
|
logger.debug("WebGL effects disabled");
|
|
19760
19749
|
}
|
|
19761
19750
|
}
|
|
@@ -19777,8 +19766,8 @@ if (typeof window !== "undefined") {
|
|
|
19777
19766
|
}
|
|
19778
19767
|
function loadLiquidGlass() {
|
|
19779
19768
|
return new Promise((resolve) => {
|
|
19780
|
-
import("./container-
|
|
19781
|
-
return import("./button-
|
|
19769
|
+
import("./container-D0255Dzc.mjs").then(() => {
|
|
19770
|
+
return import("./button-CboZyj7j.mjs");
|
|
19782
19771
|
}).then(() => {
|
|
19783
19772
|
resolve();
|
|
19784
19773
|
}).catch((error) => {
|
|
@@ -19918,7 +19907,7 @@ const _NetworkDebugger = class _NetworkDebugger {
|
|
|
19918
19907
|
}
|
|
19919
19908
|
async checkForUpdates() {
|
|
19920
19909
|
try {
|
|
19921
|
-
const currentVersion = "1.3.
|
|
19910
|
+
const currentVersion = "1.3.8";
|
|
19922
19911
|
logger.info(`[PWTK Update] Checking for updates... Current version: ${currentVersion}`);
|
|
19923
19912
|
const response = await fetch("https://registry.npmjs.org/@leeguoo/pwtk-network-debugger/latest");
|
|
19924
19913
|
const data = await response.json();
|
|
@@ -19938,7 +19927,7 @@ const _NetworkDebugger = class _NetworkDebugger {
|
|
|
19938
19927
|
logger.error("[PWTK Update] Failed to check for updates:", error);
|
|
19939
19928
|
return {
|
|
19940
19929
|
hasUpdate: false,
|
|
19941
|
-
currentVersion: "1.3.
|
|
19930
|
+
currentVersion: "1.3.8"
|
|
19942
19931
|
};
|
|
19943
19932
|
}
|
|
19944
19933
|
}
|