@leeguoo/pwtk-network-debugger 1.2.49-beta.7 → 1.2.49-beta.9

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/index.esm.js CHANGED
@@ -6616,7 +6616,7 @@ let Logger$1 = class Logger {
6616
6616
  this.buffer = [];
6617
6617
  this.maxBufferSize = 100;
6618
6618
  this.enableBrowserConsole = false;
6619
- this.logLevel = "debug";
6619
+ this.logLevel = "error";
6620
6620
  }
6621
6621
  configure(config) {
6622
6622
  if (config.enableBrowserConsole !== void 0) {
@@ -6797,13 +6797,13 @@ function decrypt(encryptedData, keyStr) {
6797
6797
  return encryptedData;
6798
6798
  }
6799
6799
  class NetworkInterceptor {
6800
- // 5分钟缓存
6800
+ // 1分钟缓存
6801
6801
  constructor() {
6802
6802
  this.requests = /* @__PURE__ */ new Map();
6803
6803
  this.listeners = [];
6804
6804
  this.decryptConfig = { enabled: false };
6805
6805
  this.keyCache = /* @__PURE__ */ new Map();
6806
- this.KEY_CACHE_TTL = 5 * 60 * 1e3;
6806
+ this.KEY_CACHE_TTL = 1 * 60 * 1e3;
6807
6807
  window.__originalFetch = window.fetch;
6808
6808
  this.interceptXHR();
6809
6809
  this.interceptFetch();
@@ -17053,7 +17053,6 @@ class LiquidGlassRenderer {
17053
17053
  let fragmentShaderSource = LiquidEffects.getAdvancedFragmentShader();
17054
17054
  let fragmentShader = this.compileShader(gl.FRAGMENT_SHADER, fragmentShaderSource);
17055
17055
  if (!fragmentShader) {
17056
- console.warn("[PWTK WebGL] Advanced shader compile failed, using fallback shader.");
17057
17056
  this.usingFallbackShader = true;
17058
17057
  fragmentShaderSource = this.getFallbackFragmentShader();
17059
17058
  fragmentShader = this.compileShader(gl.FRAGMENT_SHADER, fragmentShaderSource);
@@ -17108,7 +17107,6 @@ class LiquidGlassRenderer {
17108
17107
  this.gl.shaderSource(shader, source);
17109
17108
  this.gl.compileShader(shader);
17110
17109
  if (!this.gl.getShaderParameter(shader, this.gl.COMPILE_STATUS)) {
17111
- console.error("Shader compilation error:", this.gl.getShaderInfoLog(shader));
17112
17110
  this.gl.deleteShader(shader);
17113
17111
  return null;
17114
17112
  }
@@ -17427,7 +17425,6 @@ class LiquidGlassScene {
17427
17425
  try {
17428
17426
  renderer = new LiquidGlassRenderer(config);
17429
17427
  } catch (error) {
17430
- console.warn("[PWTK WebGL] WebGL not supported, falling back to CSS effects:", error);
17431
17428
  element.removeChild(canvas);
17432
17429
  throw error;
17433
17430
  }
@@ -17449,7 +17446,6 @@ class LiquidGlassScene {
17449
17446
  renderer.setUniformProvider(() => this.getDynamicUniforms(layer));
17450
17447
  this.applyPlaceholderBackground(layer);
17451
17448
  this.refreshLayerBackground(layer).catch((err) => {
17452
- console.warn("[PWTK WebGL] Initial background capture failed:", err);
17453
17449
  });
17454
17450
  return layer;
17455
17451
  }
@@ -17507,7 +17503,6 @@ class LiquidGlassScene {
17507
17503
  updateBackgrounds(forceSnapshot = false) {
17508
17504
  this.layers.forEach((layer) => {
17509
17505
  this.refreshLayerBackground(layer, forceSnapshot).catch((err) => {
17510
- console.warn("[PWTK WebGL] Background refresh failed:", err);
17511
17506
  });
17512
17507
  });
17513
17508
  }
@@ -17639,7 +17634,6 @@ class LiquidGlassScene {
17639
17634
  this.snapshotScale = scale;
17640
17635
  this.snapshotNeedsUpdate = false;
17641
17636
  }).catch((error) => {
17642
- console.warn("[PWTK WebGL] html2canvas capture failed:", error);
17643
17637
  this.snapshotCanvas = null;
17644
17638
  }).finally(() => {
17645
17639
  this.capturePromise = null;
@@ -17682,14 +17676,8 @@ const _WebGLManager = class _WebGLManager {
17682
17676
  const canvas = document.createElement("canvas");
17683
17677
  const gl = canvas.getContext("webgl2", { failIfMajorPerformanceCaveat: true });
17684
17678
  this.isSupported = !!gl;
17685
- if (this.isSupported) {
17686
- console.log("🎨 WebGL2 supported - Liquid Glass effects enabled");
17687
- } else {
17688
- console.log("⚠️ WebGL2 not supported - falling back to CSS effects");
17689
- }
17690
17679
  return this.isSupported;
17691
17680
  } catch (error) {
17692
- console.warn("WebGL support check failed:", error);
17693
17681
  this.isSupported = false;
17694
17682
  return false;
17695
17683
  }
@@ -17709,10 +17697,8 @@ const _WebGLManager = class _WebGLManager {
17709
17697
  throw new Error("WebGL context creation failed");
17710
17698
  }
17711
17699
  this.isInitialized = true;
17712
- console.log("✨ Liquid Glass WebGL effects initialized successfully");
17713
17700
  return true;
17714
17701
  } catch (error) {
17715
- console.warn("WebGL initialization failed:", error);
17716
17702
  if (this.config.autoFallback) {
17717
17703
  this.enableCSSFallback(container);
17718
17704
  }
@@ -17720,7 +17706,6 @@ const _WebGLManager = class _WebGLManager {
17720
17706
  }
17721
17707
  }
17722
17708
  enableCSSFallback(container) {
17723
- console.log("🔄 Enabling CSS fallback for liquid glass effects");
17724
17709
  container.classList.add("webgl-fallback", "enhanced-css-glass");
17725
17710
  this.injectEnhancedCSS();
17726
17711
  }
@@ -17796,12 +17781,10 @@ const _WebGLManager = class _WebGLManager {
17796
17781
  }
17797
17782
  enableForElement(element, layerId) {
17798
17783
  if (!this.isInitialized || !this.scene) {
17799
- console.warn("WebGL manager not initialized");
17800
17784
  return false;
17801
17785
  }
17802
17786
  try {
17803
17787
  if (!this.scene) {
17804
- console.warn("WebGL scene not ready");
17805
17788
  return false;
17806
17789
  }
17807
17790
  if (this.scene.getLayer(layerId)) {
@@ -17813,10 +17796,8 @@ const _WebGLManager = class _WebGLManager {
17813
17796
  preset: this.config.preset
17814
17797
  });
17815
17798
  this.scene.startAnimation();
17816
- console.log(`✨ WebGL liquid glass enabled for element: ${layerId}`);
17817
17799
  return true;
17818
17800
  } catch (error) {
17819
- console.warn(`Failed to enable WebGL for element ${layerId}:`, error);
17820
17801
  if (this.config.autoFallback) {
17821
17802
  element.classList.add("enhanced-css-glass");
17822
17803
  this.addMouseTrackingToElement(element);
@@ -17836,25 +17817,21 @@ const _WebGLManager = class _WebGLManager {
17836
17817
  disableForElement(layerId) {
17837
17818
  if (!this.scene) return;
17838
17819
  this.scene.removeLayer(layerId);
17839
- console.log(`🔄 WebGL liquid glass disabled for element: ${layerId}`);
17840
17820
  }
17841
17821
  setQuality(quality) {
17842
17822
  this.config.quality = quality;
17843
17823
  if (this.scene) {
17844
17824
  this.scene.setQuality(quality);
17845
- console.log(`🎛️ WebGL quality set to: ${quality}`);
17846
17825
  }
17847
17826
  }
17848
17827
  setPreset(preset) {
17849
17828
  this.config.preset = preset;
17850
- console.log(`🎨 WebGL preset set to: ${preset}`);
17851
17829
  if (this.scene) {
17852
17830
  this.updateEffectPresets();
17853
17831
  }
17854
17832
  }
17855
17833
  updateEffectPresets() {
17856
- const presetConfig = LiquidEffects.presets[this.config.preset];
17857
- console.log("🔄 Updating effect presets:", presetConfig);
17834
+ LiquidEffects.presets[this.config.preset];
17858
17835
  if (this.scene) {
17859
17836
  this.scene.setPreset(this.config.preset);
17860
17837
  }
@@ -17881,7 +17858,6 @@ const _WebGLManager = class _WebGLManager {
17881
17858
  if (cssElement) {
17882
17859
  cssElement.remove();
17883
17860
  }
17884
- console.log("🧹 WebGL manager destroyed");
17885
17861
  }
17886
17862
  // 静态工具方法
17887
17863
  static checkSupport() {
@@ -17918,6 +17894,8 @@ const _DebugPanel = class _DebugPanel {
17918
17894
  this.webglManager = null;
17919
17895
  this.reopenButton = null;
17920
17896
  this.webglBackgroundUpdateTimer = null;
17897
+ this.boundHandlers = /* @__PURE__ */ new Map();
17898
+ this.eventListeners = [];
17921
17899
  this.interceptor = interceptor;
17922
17900
  const savedConfig = this.loadConfig();
17923
17901
  this.config = {
@@ -17978,7 +17956,7 @@ const _DebugPanel = class _DebugPanel {
17978
17956
  this.container.style.pointerEvents = "auto";
17979
17957
  this.container.innerHTML = `
17980
17958
  <div class="debugger-header">
17981
- <div class="debugger-title">🔓 PWTK 解密小工具 <span style="font-size: 10px; opacity: 0.7;">by Leo v${"1.2.49-beta.7"}</span></div>
17959
+ <div class="debugger-title">🔓 PWTK 解密小工具 <span style="font-size: 10px; opacity: 0.7;">by Leo v${"1.2.49-beta.9"}</span></div>
17982
17960
  <div class="debugger-controls">
17983
17961
  <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>
17984
17962
  <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>
@@ -18075,9 +18053,12 @@ const _DebugPanel = class _DebugPanel {
18075
18053
  this.startResize(e2, direction2);
18076
18054
  });
18077
18055
  });
18078
- document.addEventListener("mousemove", this.handleMouseMove.bind(this));
18079
- document.addEventListener("mouseup", this.handleMouseUp.bind(this));
18080
- window.addEventListener("resize", this.handleWindowResize.bind(this));
18056
+ const boundMouseMove = this.handleMouseMove.bind(this);
18057
+ const boundMouseUp = this.handleMouseUp.bind(this);
18058
+ const boundWindowResize = this.handleWindowResize.bind(this);
18059
+ this.addEventListener(document, "mousemove", boundMouseMove);
18060
+ this.addEventListener(document, "mouseup", boundMouseUp);
18061
+ this.addEventListener(window, "resize", boundWindowResize);
18081
18062
  }
18082
18063
  startListening() {
18083
18064
  this.interceptor.addListener((request) => {
@@ -18580,7 +18561,7 @@ Created by Leo (@leeguoo)`);
18580
18561
  this.config.isClosed = true;
18581
18562
  this.saveConfig();
18582
18563
  this.createReopenButton().catch((error) => {
18583
- console.error("[PWTK] Failed to create reopen button:", error);
18564
+ logger.error("[PWTK] Failed to create reopen button:", error);
18584
18565
  this.createFallbackButton();
18585
18566
  });
18586
18567
  }
@@ -18594,11 +18575,11 @@ Created by Leo (@leeguoo)`);
18594
18575
  if (typeof window !== "undefined" && window.Button) {
18595
18576
  this.createGlassButton();
18596
18577
  } else {
18597
- console.warn("[PWTK] Button class not available, using fallback");
18578
+ logger.debug("[PWTK] Button class not available, using fallback");
18598
18579
  this.createFallbackButton();
18599
18580
  }
18600
18581
  } catch (error) {
18601
- console.warn("[PWTK] Error creating glass button, using fallback:", error);
18582
+ logger.debug("[PWTK] Error creating glass button, using fallback:", error);
18602
18583
  this.createFallbackButton();
18603
18584
  }
18604
18585
  }
@@ -18665,7 +18646,7 @@ Created by Leo (@leeguoo)`);
18665
18646
  this.reopenButton = glassButton;
18666
18647
  logger.debug("[PWTK] Glass button created successfully");
18667
18648
  } catch (error) {
18668
- console.error("[PWTK] Failed to create glass button:", error);
18649
+ logger.error("[PWTK] Failed to create glass button:", error);
18669
18650
  this.createFallbackButton();
18670
18651
  }
18671
18652
  }
@@ -18710,7 +18691,7 @@ Created by Leo (@leeguoo)`);
18710
18691
  document.body.appendChild(btn);
18711
18692
  logger.debug("[PWTK] Fallback button created successfully");
18712
18693
  } catch (error) {
18713
- console.error("[PWTK] Failed to create fallback button:", error);
18694
+ logger.error("[PWTK] Failed to create fallback button:", error);
18714
18695
  }
18715
18696
  }
18716
18697
  addDragFunctionality(element) {
@@ -18776,16 +18757,54 @@ Created by Leo (@leeguoo)`);
18776
18757
  logger.debug("[PWTK] Reopen button reference cleared");
18777
18758
  }
18778
18759
  } catch (error) {
18779
- console.error("[PWTK] Error removing reopen button:", error);
18760
+ logger.error("[PWTK] Error removing reopen button:", error);
18761
+ }
18762
+ }
18763
+ /**
18764
+ * 添加可清理的事件监听器
18765
+ */
18766
+ addEventListener(element, event, handler) {
18767
+ element.addEventListener(event, handler);
18768
+ this.eventListeners.push({ element, event, handler });
18769
+ }
18770
+ /**
18771
+ * 清理所有事件监听器
18772
+ */
18773
+ removeAllEventListeners() {
18774
+ this.eventListeners.forEach(({ element, event, handler }) => {
18775
+ try {
18776
+ element.removeEventListener(event, handler);
18777
+ } catch (error) {
18778
+ logger.error("Failed to remove event listener:", error);
18779
+ }
18780
+ });
18781
+ this.eventListeners = [];
18782
+ }
18783
+ /**
18784
+ * 清理所有定时器
18785
+ */
18786
+ clearAllTimers() {
18787
+ if (this.resizeTimeout) {
18788
+ clearTimeout(this.resizeTimeout);
18789
+ this.resizeTimeout = null;
18790
+ }
18791
+ if (this.webglBackgroundUpdateTimer) {
18792
+ clearInterval(this.webglBackgroundUpdateTimer);
18793
+ this.webglBackgroundUpdateTimer = null;
18780
18794
  }
18781
18795
  }
18782
18796
  destroy() {
18797
+ this.removeAllEventListeners();
18798
+ this.clearAllTimers();
18783
18799
  this.hostElement.remove();
18784
18800
  this.removeReopenButton();
18785
18801
  if (this.webglManager) {
18786
18802
  this.webglManager.destroy();
18787
18803
  this.webglManager = null;
18788
18804
  }
18805
+ this.requestsCache = [];
18806
+ this.filteredRequestsCache = [];
18807
+ logger.debug("[PWTK] Panel destroyed and all resources cleaned up");
18789
18808
  }
18790
18809
  /**
18791
18810
  * 日志输出方法 - 供 logger 调用
@@ -19011,19 +19030,15 @@ _DebugPanel.STORAGE_KEY = "pwtk-debugger-config";
19011
19030
  let DebugPanel = _DebugPanel;
19012
19031
  if (typeof window !== "undefined") {
19013
19032
  window.html2canvas = html2canvas;
19014
- console.log("[PWTK] html2canvas loaded and set to window");
19015
19033
  }
19016
19034
  function loadLiquidGlass() {
19017
19035
  return new Promise((resolve) => {
19018
19036
  import("./container-DZOQFeJd.mjs").then(() => {
19019
- console.log("[PWTK] Container loaded");
19020
19037
  return import("./button-DfB5OFDC.mjs");
19021
19038
  }).then(() => {
19022
- console.log("[PWTK] Button loaded");
19023
- console.log("[PWTK] Liquid glass components loaded successfully");
19024
19039
  resolve();
19025
19040
  }).catch((error) => {
19026
- console.error("[PWTK] Failed to load liquid glass components:", error);
19041
+ logger.error("[PWTK] Failed to load liquid glass components:", error);
19027
19042
  resolve();
19028
19043
  });
19029
19044
  });
@@ -19097,7 +19112,7 @@ class NetworkDebugger {
19097
19112
  this.initialized = true;
19098
19113
  logger.consoleDirect(`
19099
19114
  ╔════════════════════════════════════════╗
19100
- ║ 🔓 PWTK 解密小工具 v${"1.2.49-beta.7"} ║
19115
+ ║ 🔓 PWTK 解密小工具 v${"1.2.49-beta.9"} ║
19101
19116
  ║ Created by Leo (@leeguoo) ║
19102
19117
  ║ 技术支持: 请联系 Leo ║
19103
19118
  ║ 分享服务: curl.bwg.leeguoo.com ║
@@ -19158,7 +19173,7 @@ class NetworkDebugger {
19158
19173
  }
19159
19174
  async checkForUpdates() {
19160
19175
  try {
19161
- const currentVersion = "1.2.49-beta.7";
19176
+ const currentVersion = "1.2.49-beta.9";
19162
19177
  logger.info(`[PWTK Update] Checking for updates... Current version: ${currentVersion}`);
19163
19178
  const response = await fetch("https://registry.npmjs.org/@leeguoo/pwtk-network-debugger/latest");
19164
19179
  const data = await response.json();
@@ -19178,7 +19193,7 @@ class NetworkDebugger {
19178
19193
  logger.error("[PWTK Update] Failed to check for updates:", error);
19179
19194
  return {
19180
19195
  hasUpdate: false,
19181
- currentVersion: "1.2.49-beta.7"
19196
+ currentVersion: "1.2.49-beta.9"
19182
19197
  };
19183
19198
  }
19184
19199
  }