@next-core/runtime 1.69.3 → 1.69.4

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.
@@ -167,7 +167,7 @@ class DebugManager {
167
167
  if (this.debugMode) {
168
168
  // eslint-disable-next-line no-console
169
169
  console.log(`🔧 调试模式已开启(${this.debugType === "persistent" ? "持久模式" : "会话模式"})`);
170
- } else {
170
+ } else if (process.env.NODE_ENV !== "test") {
171
171
  // eslint-disable-next-line no-console
172
172
  console.log("💡 提示:使用 window.debugConsole.help() 查看使用说明");
173
173
  }
@@ -1 +1 @@
1
- {"version":3,"file":"debugManager.js","names":["DebugManager","instance","debugMode","debugType","getInstance","constructor","initDebugMode","setupWindowAPI","urlParams","URLSearchParams","window","location","search","debugFromUrl","get","activateSessionDebug","persistentDebug","localStorage","getItem","console","log","sessionDebug","sessionStorage","setItem","debugConsole","enable","enablePersistent","disable","removeItem","toggle","togglePersistent","status","description","getStatusDescription","help","isDebugMode","getDebugType","shouldLog","method","debugManager","exports"],"sources":["../../../src/internal/debugManager.ts"],"sourcesContent":["class DebugManager {\n private static instance: DebugManager;\n private debugMode = false;\n private debugType: \"session\" | \"persistent\" | \"none\" = \"none\";\n\n static getInstance(): DebugManager {\n if (!DebugManager.instance) {\n DebugManager.instance = new DebugManager();\n }\n return DebugManager.instance;\n }\n\n constructor() {\n this.initDebugMode();\n this.setupWindowAPI();\n }\n\n private initDebugMode(): void {\n // 1. 首先检查URL参数\n const urlParams = new URLSearchParams(window.location.search);\n const debugFromUrl = urlParams.get(\"__debugConsole__\");\n\n if (debugFromUrl === \"true\") {\n this.activateSessionDebug();\n return;\n }\n\n // 2. 检查localStorage(内部人员长期调试)\n const persistentDebug = localStorage.getItem(\"debugConsole\");\n if (persistentDebug === \"true\") {\n this.debugMode = true;\n this.debugType = \"persistent\";\n // eslint-disable-next-line no-console\n console.log(\"🔧 调试模式已开启(持久模式 - 内部调试)\");\n return;\n }\n\n // 3. 检查sessionStorage(客户临时调试)\n const sessionDebug = sessionStorage.getItem(\"debugConsole\");\n if (sessionDebug === \"true\") {\n this.debugMode = true;\n this.debugType = \"session\";\n // eslint-disable-next-line no-console\n console.log(\"🔧 调试模式已开启(会话模式 - 关闭标签页后失效)\");\n return;\n }\n\n // 4. 检查日志级别设置\n }\n\n private activateSessionDebug(): void {\n this.debugMode = true;\n this.debugType = \"session\";\n sessionStorage.setItem(\"debugConsole\", \"true\");\n // eslint-disable-next-line no-console\n console.log(\"🔧 调试模式已通过URL参数激活(会话模式)\");\n }\n\n private setupWindowAPI(): void {\n (window as any).debugConsole = {\n // 开启会话调试模式(客户现场使用)\n enable: () => {\n this.debugMode = true;\n this.debugType = \"session\";\n sessionStorage.setItem(\"debugConsole\", \"true\");\n // eslint-disable-next-line no-console\n console.log(\"🔧 调试模式已开启(会话模式 - 关闭标签页后失效)\");\n return this.debugMode;\n },\n\n // 开启持久调试模式(内部人员使用)\n enablePersistent: () => {\n this.debugMode = true;\n this.debugType = \"persistent\";\n localStorage.setItem(\"debugConsole\", \"true\");\n // eslint-disable-next-line no-console\n console.log(\"🔧 调试模式已开启(持久模式 - 内部调试)\");\n return this.debugMode;\n },\n\n // 关闭调试模式\n disable: () => {\n this.debugMode = false;\n this.debugType = \"none\";\n sessionStorage.removeItem(\"debugConsole\");\n localStorage.removeItem(\"debugConsole\");\n // eslint-disable-next-line no-console\n console.log(\"🔧 调试模式已关闭\");\n return this.debugMode;\n },\n\n // 切换调试模式\n toggle: () => {\n if (this.debugMode) {\n this.debugMode = false;\n this.debugType = \"none\";\n sessionStorage.removeItem(\"debugConsole\");\n localStorage.removeItem(\"debugConsole\");\n // eslint-disable-next-line no-console\n console.log(\"🔧 调试模式已关闭\");\n } else {\n this.debugMode = true;\n this.debugType = \"session\";\n sessionStorage.setItem(\"debugConsole\", \"true\");\n // eslint-disable-next-line no-console\n console.log(\"🔧 调试模式已开启(会话模式 - 关闭标签页后失效)\");\n }\n return this.debugMode;\n },\n\n // 切换持久调试模式\n togglePersistent: () => {\n if (this.debugMode && this.debugType === \"persistent\") {\n this.debugMode = false;\n this.debugType = \"none\";\n sessionStorage.removeItem(\"debugConsole\");\n localStorage.removeItem(\"debugConsole\");\n // eslint-disable-next-line no-console\n console.log(\"🔧 调试模式已关闭\");\n } else {\n this.debugMode = true;\n this.debugType = \"persistent\";\n localStorage.setItem(\"debugConsole\", \"true\");\n // eslint-disable-next-line no-console\n console.log(\"🔧 调试模式已开启(持久模式 - 内部调试)\");\n }\n return this.debugMode;\n },\n\n // 获取当前状态\n status: () => {\n const status = {\n debugMode: this.debugMode,\n debugType: this.debugType,\n description: this.getStatusDescription(),\n };\n // eslint-disable-next-line no-console\n console.log(\"🔧 调试状态:\", status);\n return status;\n },\n // 帮助信息\n help: () => {\n // eslint-disable-next-line no-console\n console.log(`\n🔧 混合调试控制台使用说明:\n\n👥 生产环境使用(临时调试):\n window.debugConsole.enable() - 开启会话调试(关闭标签页后失效)\n window.debugConsole.disable() - 关闭调试模式\n window.debugConsole.toggle() - 切换会话调试模式\n\n👨‍💻 开发人员使用(长期调试):\n window.debugConsole.enablePersistent() - 开启持久调试(长期有效)\n window.debugConsole.togglePersistent() - 切换持久调试模式\n window.debugConsole.disable() - 关闭调试模式\n\n🔍 其他功能:\n window.debugConsole.status() - 查看当前状态\n window.debugConsole.help() - 显示此帮助信息\n\n🌐 URL参数:\n ?__debugConsole__=true - 通过URL激活会话调试模式\n\n📝 说明:\n - 会话模式:刷新页面后仍然有效,关闭标签页后失效\n - 持久模式:长期有效,除非手动关闭\n `);\n },\n };\n\n // 显示初始状态\n if (this.debugMode) {\n // eslint-disable-next-line no-console\n console.log(\n `🔧 调试模式已开启(${\n this.debugType === \"persistent\" ? \"持久模式\" : \"会话模式\"\n })`\n );\n } else {\n // eslint-disable-next-line no-console\n console.log(\"💡 提示:使用 window.debugConsole.help() 查看使用说明\");\n }\n }\n\n private getStatusDescription(): string {\n if (!this.debugMode) {\n return \"调试模式已关闭\";\n }\n\n switch (this.debugType) {\n case \"persistent\":\n return \"持久模式 - 内部调试(长期有效)\";\n case \"session\":\n return \"会话模式 - 临时调试(关闭标签页后失效)\";\n default:\n return \"未知模式\";\n }\n }\n\n isDebugMode(): boolean {\n return this.debugMode;\n }\n\n getDebugType(): \"session\" | \"persistent\" | \"none\" {\n return this.debugType;\n }\n\n shouldLog(method: \"log\" | \"error\" | \"warn\" | \"info\"): boolean {\n return method === \"error\" ? true : this.debugMode;\n }\n}\n\nexport const debugManager = DebugManager.getInstance();\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"debugManager.js","names":["DebugManager","instance","debugMode","debugType","getInstance","constructor","initDebugMode","setupWindowAPI","urlParams","URLSearchParams","window","location","search","debugFromUrl","get","activateSessionDebug","persistentDebug","localStorage","getItem","console","log","sessionDebug","sessionStorage","setItem","debugConsole","enable","enablePersistent","disable","removeItem","toggle","togglePersistent","status","description","getStatusDescription","help","process","env","NODE_ENV","isDebugMode","getDebugType","shouldLog","method","debugManager","exports"],"sources":["../../../src/internal/debugManager.ts"],"sourcesContent":["class DebugManager {\n private static instance: DebugManager;\n private debugMode = false;\n private debugType: \"session\" | \"persistent\" | \"none\" = \"none\";\n\n static getInstance(): DebugManager {\n if (!DebugManager.instance) {\n DebugManager.instance = new DebugManager();\n }\n return DebugManager.instance;\n }\n\n constructor() {\n this.initDebugMode();\n this.setupWindowAPI();\n }\n\n private initDebugMode(): void {\n // 1. 首先检查URL参数\n const urlParams = new URLSearchParams(window.location.search);\n const debugFromUrl = urlParams.get(\"__debugConsole__\");\n\n if (debugFromUrl === \"true\") {\n this.activateSessionDebug();\n return;\n }\n\n // 2. 检查localStorage(内部人员长期调试)\n const persistentDebug = localStorage.getItem(\"debugConsole\");\n if (persistentDebug === \"true\") {\n this.debugMode = true;\n this.debugType = \"persistent\";\n // eslint-disable-next-line no-console\n console.log(\"🔧 调试模式已开启(持久模式 - 内部调试)\");\n return;\n }\n\n // 3. 检查sessionStorage(客户临时调试)\n const sessionDebug = sessionStorage.getItem(\"debugConsole\");\n if (sessionDebug === \"true\") {\n this.debugMode = true;\n this.debugType = \"session\";\n // eslint-disable-next-line no-console\n console.log(\"🔧 调试模式已开启(会话模式 - 关闭标签页后失效)\");\n return;\n }\n\n // 4. 检查日志级别设置\n }\n\n private activateSessionDebug(): void {\n this.debugMode = true;\n this.debugType = \"session\";\n sessionStorage.setItem(\"debugConsole\", \"true\");\n // eslint-disable-next-line no-console\n console.log(\"🔧 调试模式已通过URL参数激活(会话模式)\");\n }\n\n private setupWindowAPI(): void {\n (window as any).debugConsole = {\n // 开启会话调试模式(客户现场使用)\n enable: () => {\n this.debugMode = true;\n this.debugType = \"session\";\n sessionStorage.setItem(\"debugConsole\", \"true\");\n // eslint-disable-next-line no-console\n console.log(\"🔧 调试模式已开启(会话模式 - 关闭标签页后失效)\");\n return this.debugMode;\n },\n\n // 开启持久调试模式(内部人员使用)\n enablePersistent: () => {\n this.debugMode = true;\n this.debugType = \"persistent\";\n localStorage.setItem(\"debugConsole\", \"true\");\n // eslint-disable-next-line no-console\n console.log(\"🔧 调试模式已开启(持久模式 - 内部调试)\");\n return this.debugMode;\n },\n\n // 关闭调试模式\n disable: () => {\n this.debugMode = false;\n this.debugType = \"none\";\n sessionStorage.removeItem(\"debugConsole\");\n localStorage.removeItem(\"debugConsole\");\n // eslint-disable-next-line no-console\n console.log(\"🔧 调试模式已关闭\");\n return this.debugMode;\n },\n\n // 切换调试模式\n toggle: () => {\n if (this.debugMode) {\n this.debugMode = false;\n this.debugType = \"none\";\n sessionStorage.removeItem(\"debugConsole\");\n localStorage.removeItem(\"debugConsole\");\n // eslint-disable-next-line no-console\n console.log(\"🔧 调试模式已关闭\");\n } else {\n this.debugMode = true;\n this.debugType = \"session\";\n sessionStorage.setItem(\"debugConsole\", \"true\");\n // eslint-disable-next-line no-console\n console.log(\"🔧 调试模式已开启(会话模式 - 关闭标签页后失效)\");\n }\n return this.debugMode;\n },\n\n // 切换持久调试模式\n togglePersistent: () => {\n if (this.debugMode && this.debugType === \"persistent\") {\n this.debugMode = false;\n this.debugType = \"none\";\n sessionStorage.removeItem(\"debugConsole\");\n localStorage.removeItem(\"debugConsole\");\n // eslint-disable-next-line no-console\n console.log(\"🔧 调试模式已关闭\");\n } else {\n this.debugMode = true;\n this.debugType = \"persistent\";\n localStorage.setItem(\"debugConsole\", \"true\");\n // eslint-disable-next-line no-console\n console.log(\"🔧 调试模式已开启(持久模式 - 内部调试)\");\n }\n return this.debugMode;\n },\n\n // 获取当前状态\n status: () => {\n const status = {\n debugMode: this.debugMode,\n debugType: this.debugType,\n description: this.getStatusDescription(),\n };\n // eslint-disable-next-line no-console\n console.log(\"🔧 调试状态:\", status);\n return status;\n },\n // 帮助信息\n help: () => {\n // eslint-disable-next-line no-console\n console.log(`\n🔧 混合调试控制台使用说明:\n\n👥 生产环境使用(临时调试):\n window.debugConsole.enable() - 开启会话调试(关闭标签页后失效)\n window.debugConsole.disable() - 关闭调试模式\n window.debugConsole.toggle() - 切换会话调试模式\n\n👨‍💻 开发人员使用(长期调试):\n window.debugConsole.enablePersistent() - 开启持久调试(长期有效)\n window.debugConsole.togglePersistent() - 切换持久调试模式\n window.debugConsole.disable() - 关闭调试模式\n\n🔍 其他功能:\n window.debugConsole.status() - 查看当前状态\n window.debugConsole.help() - 显示此帮助信息\n\n🌐 URL参数:\n ?__debugConsole__=true - 通过URL激活会话调试模式\n\n📝 说明:\n - 会话模式:刷新页面后仍然有效,关闭标签页后失效\n - 持久模式:长期有效,除非手动关闭\n `);\n },\n };\n\n // 显示初始状态\n if (this.debugMode) {\n // eslint-disable-next-line no-console\n console.log(\n `🔧 调试模式已开启(${\n this.debugType === \"persistent\" ? \"持久模式\" : \"会话模式\"\n })`\n );\n } else if (process.env.NODE_ENV !== \"test\") {\n // eslint-disable-next-line no-console\n console.log(\"💡 提示:使用 window.debugConsole.help() 查看使用说明\");\n }\n }\n\n private getStatusDescription(): string {\n if (!this.debugMode) {\n return \"调试模式已关闭\";\n }\n\n switch (this.debugType) {\n case \"persistent\":\n return \"持久模式 - 内部调试(长期有效)\";\n case \"session\":\n return \"会话模式 - 临时调试(关闭标签页后失效)\";\n default:\n return \"未知模式\";\n }\n }\n\n isDebugMode(): boolean {\n return this.debugMode;\n }\n\n getDebugType(): \"session\" | \"persistent\" | \"none\" {\n return this.debugType;\n }\n\n shouldLog(method: \"log\" | \"error\" | \"warn\" | \"info\"): boolean {\n return method === \"error\" ? true : this.debugMode;\n }\n}\n\nexport const debugManager = DebugManager.getInstance();\n"],"mappings":"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","ignoreList":[]}
@@ -161,7 +161,7 @@ class DebugManager {
161
161
  if (this.debugMode) {
162
162
  // eslint-disable-next-line no-console
163
163
  console.log(`🔧 调试模式已开启(${this.debugType === "persistent" ? "持久模式" : "会话模式"})`);
164
- } else {
164
+ } else if (process.env.NODE_ENV !== "test") {
165
165
  // eslint-disable-next-line no-console
166
166
  console.log("💡 提示:使用 window.debugConsole.help() 查看使用说明");
167
167
  }
@@ -1 +1 @@
1
- {"version":3,"file":"debugManager.js","names":["DebugManager","getInstance","instance","constructor","_defineProperty","initDebugMode","setupWindowAPI","urlParams","URLSearchParams","window","location","search","debugFromUrl","get","activateSessionDebug","persistentDebug","localStorage","getItem","debugMode","debugType","console","log","sessionDebug","sessionStorage","setItem","debugConsole","enable","enablePersistent","disable","removeItem","toggle","togglePersistent","status","description","getStatusDescription","help","isDebugMode","getDebugType","shouldLog","method","debugManager"],"sources":["../../../src/internal/debugManager.ts"],"sourcesContent":["class DebugManager {\n private static instance: DebugManager;\n private debugMode = false;\n private debugType: \"session\" | \"persistent\" | \"none\" = \"none\";\n\n static getInstance(): DebugManager {\n if (!DebugManager.instance) {\n DebugManager.instance = new DebugManager();\n }\n return DebugManager.instance;\n }\n\n constructor() {\n this.initDebugMode();\n this.setupWindowAPI();\n }\n\n private initDebugMode(): void {\n // 1. 首先检查URL参数\n const urlParams = new URLSearchParams(window.location.search);\n const debugFromUrl = urlParams.get(\"__debugConsole__\");\n\n if (debugFromUrl === \"true\") {\n this.activateSessionDebug();\n return;\n }\n\n // 2. 检查localStorage(内部人员长期调试)\n const persistentDebug = localStorage.getItem(\"debugConsole\");\n if (persistentDebug === \"true\") {\n this.debugMode = true;\n this.debugType = \"persistent\";\n // eslint-disable-next-line no-console\n console.log(\"🔧 调试模式已开启(持久模式 - 内部调试)\");\n return;\n }\n\n // 3. 检查sessionStorage(客户临时调试)\n const sessionDebug = sessionStorage.getItem(\"debugConsole\");\n if (sessionDebug === \"true\") {\n this.debugMode = true;\n this.debugType = \"session\";\n // eslint-disable-next-line no-console\n console.log(\"🔧 调试模式已开启(会话模式 - 关闭标签页后失效)\");\n return;\n }\n\n // 4. 检查日志级别设置\n }\n\n private activateSessionDebug(): void {\n this.debugMode = true;\n this.debugType = \"session\";\n sessionStorage.setItem(\"debugConsole\", \"true\");\n // eslint-disable-next-line no-console\n console.log(\"🔧 调试模式已通过URL参数激活(会话模式)\");\n }\n\n private setupWindowAPI(): void {\n (window as any).debugConsole = {\n // 开启会话调试模式(客户现场使用)\n enable: () => {\n this.debugMode = true;\n this.debugType = \"session\";\n sessionStorage.setItem(\"debugConsole\", \"true\");\n // eslint-disable-next-line no-console\n console.log(\"🔧 调试模式已开启(会话模式 - 关闭标签页后失效)\");\n return this.debugMode;\n },\n\n // 开启持久调试模式(内部人员使用)\n enablePersistent: () => {\n this.debugMode = true;\n this.debugType = \"persistent\";\n localStorage.setItem(\"debugConsole\", \"true\");\n // eslint-disable-next-line no-console\n console.log(\"🔧 调试模式已开启(持久模式 - 内部调试)\");\n return this.debugMode;\n },\n\n // 关闭调试模式\n disable: () => {\n this.debugMode = false;\n this.debugType = \"none\";\n sessionStorage.removeItem(\"debugConsole\");\n localStorage.removeItem(\"debugConsole\");\n // eslint-disable-next-line no-console\n console.log(\"🔧 调试模式已关闭\");\n return this.debugMode;\n },\n\n // 切换调试模式\n toggle: () => {\n if (this.debugMode) {\n this.debugMode = false;\n this.debugType = \"none\";\n sessionStorage.removeItem(\"debugConsole\");\n localStorage.removeItem(\"debugConsole\");\n // eslint-disable-next-line no-console\n console.log(\"🔧 调试模式已关闭\");\n } else {\n this.debugMode = true;\n this.debugType = \"session\";\n sessionStorage.setItem(\"debugConsole\", \"true\");\n // eslint-disable-next-line no-console\n console.log(\"🔧 调试模式已开启(会话模式 - 关闭标签页后失效)\");\n }\n return this.debugMode;\n },\n\n // 切换持久调试模式\n togglePersistent: () => {\n if (this.debugMode && this.debugType === \"persistent\") {\n this.debugMode = false;\n this.debugType = \"none\";\n sessionStorage.removeItem(\"debugConsole\");\n localStorage.removeItem(\"debugConsole\");\n // eslint-disable-next-line no-console\n console.log(\"🔧 调试模式已关闭\");\n } else {\n this.debugMode = true;\n this.debugType = \"persistent\";\n localStorage.setItem(\"debugConsole\", \"true\");\n // eslint-disable-next-line no-console\n console.log(\"🔧 调试模式已开启(持久模式 - 内部调试)\");\n }\n return this.debugMode;\n },\n\n // 获取当前状态\n status: () => {\n const status = {\n debugMode: this.debugMode,\n debugType: this.debugType,\n description: this.getStatusDescription(),\n };\n // eslint-disable-next-line no-console\n console.log(\"🔧 调试状态:\", status);\n return status;\n },\n // 帮助信息\n help: () => {\n // eslint-disable-next-line no-console\n console.log(`\n🔧 混合调试控制台使用说明:\n\n👥 生产环境使用(临时调试):\n window.debugConsole.enable() - 开启会话调试(关闭标签页后失效)\n window.debugConsole.disable() - 关闭调试模式\n window.debugConsole.toggle() - 切换会话调试模式\n\n👨‍💻 开发人员使用(长期调试):\n window.debugConsole.enablePersistent() - 开启持久调试(长期有效)\n window.debugConsole.togglePersistent() - 切换持久调试模式\n window.debugConsole.disable() - 关闭调试模式\n\n🔍 其他功能:\n window.debugConsole.status() - 查看当前状态\n window.debugConsole.help() - 显示此帮助信息\n\n🌐 URL参数:\n ?__debugConsole__=true - 通过URL激活会话调试模式\n\n📝 说明:\n - 会话模式:刷新页面后仍然有效,关闭标签页后失效\n - 持久模式:长期有效,除非手动关闭\n `);\n },\n };\n\n // 显示初始状态\n if (this.debugMode) {\n // eslint-disable-next-line no-console\n console.log(\n `🔧 调试模式已开启(${\n this.debugType === \"persistent\" ? \"持久模式\" : \"会话模式\"\n })`\n );\n } else {\n // eslint-disable-next-line no-console\n console.log(\"💡 提示:使用 window.debugConsole.help() 查看使用说明\");\n }\n }\n\n private getStatusDescription(): string {\n if (!this.debugMode) {\n return \"调试模式已关闭\";\n }\n\n switch (this.debugType) {\n case \"persistent\":\n return \"持久模式 - 内部调试(长期有效)\";\n case \"session\":\n return \"会话模式 - 临时调试(关闭标签页后失效)\";\n default:\n return \"未知模式\";\n }\n }\n\n isDebugMode(): boolean {\n return this.debugMode;\n }\n\n getDebugType(): \"session\" | \"persistent\" | \"none\" {\n return this.debugType;\n }\n\n shouldLog(method: \"log\" | \"error\" | \"warn\" | \"info\"): boolean {\n return method === \"error\" ? true : this.debugMode;\n }\n}\n\nexport const debugManager = DebugManager.getInstance();\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"debugManager.js","names":["DebugManager","getInstance","instance","constructor","_defineProperty","initDebugMode","setupWindowAPI","urlParams","URLSearchParams","window","location","search","debugFromUrl","get","activateSessionDebug","persistentDebug","localStorage","getItem","debugMode","debugType","console","log","sessionDebug","sessionStorage","setItem","debugConsole","enable","enablePersistent","disable","removeItem","toggle","togglePersistent","status","description","getStatusDescription","help","process","env","NODE_ENV","isDebugMode","getDebugType","shouldLog","method","debugManager"],"sources":["../../../src/internal/debugManager.ts"],"sourcesContent":["class DebugManager {\n private static instance: DebugManager;\n private debugMode = false;\n private debugType: \"session\" | \"persistent\" | \"none\" = \"none\";\n\n static getInstance(): DebugManager {\n if (!DebugManager.instance) {\n DebugManager.instance = new DebugManager();\n }\n return DebugManager.instance;\n }\n\n constructor() {\n this.initDebugMode();\n this.setupWindowAPI();\n }\n\n private initDebugMode(): void {\n // 1. 首先检查URL参数\n const urlParams = new URLSearchParams(window.location.search);\n const debugFromUrl = urlParams.get(\"__debugConsole__\");\n\n if (debugFromUrl === \"true\") {\n this.activateSessionDebug();\n return;\n }\n\n // 2. 检查localStorage(内部人员长期调试)\n const persistentDebug = localStorage.getItem(\"debugConsole\");\n if (persistentDebug === \"true\") {\n this.debugMode = true;\n this.debugType = \"persistent\";\n // eslint-disable-next-line no-console\n console.log(\"🔧 调试模式已开启(持久模式 - 内部调试)\");\n return;\n }\n\n // 3. 检查sessionStorage(客户临时调试)\n const sessionDebug = sessionStorage.getItem(\"debugConsole\");\n if (sessionDebug === \"true\") {\n this.debugMode = true;\n this.debugType = \"session\";\n // eslint-disable-next-line no-console\n console.log(\"🔧 调试模式已开启(会话模式 - 关闭标签页后失效)\");\n return;\n }\n\n // 4. 检查日志级别设置\n }\n\n private activateSessionDebug(): void {\n this.debugMode = true;\n this.debugType = \"session\";\n sessionStorage.setItem(\"debugConsole\", \"true\");\n // eslint-disable-next-line no-console\n console.log(\"🔧 调试模式已通过URL参数激活(会话模式)\");\n }\n\n private setupWindowAPI(): void {\n (window as any).debugConsole = {\n // 开启会话调试模式(客户现场使用)\n enable: () => {\n this.debugMode = true;\n this.debugType = \"session\";\n sessionStorage.setItem(\"debugConsole\", \"true\");\n // eslint-disable-next-line no-console\n console.log(\"🔧 调试模式已开启(会话模式 - 关闭标签页后失效)\");\n return this.debugMode;\n },\n\n // 开启持久调试模式(内部人员使用)\n enablePersistent: () => {\n this.debugMode = true;\n this.debugType = \"persistent\";\n localStorage.setItem(\"debugConsole\", \"true\");\n // eslint-disable-next-line no-console\n console.log(\"🔧 调试模式已开启(持久模式 - 内部调试)\");\n return this.debugMode;\n },\n\n // 关闭调试模式\n disable: () => {\n this.debugMode = false;\n this.debugType = \"none\";\n sessionStorage.removeItem(\"debugConsole\");\n localStorage.removeItem(\"debugConsole\");\n // eslint-disable-next-line no-console\n console.log(\"🔧 调试模式已关闭\");\n return this.debugMode;\n },\n\n // 切换调试模式\n toggle: () => {\n if (this.debugMode) {\n this.debugMode = false;\n this.debugType = \"none\";\n sessionStorage.removeItem(\"debugConsole\");\n localStorage.removeItem(\"debugConsole\");\n // eslint-disable-next-line no-console\n console.log(\"🔧 调试模式已关闭\");\n } else {\n this.debugMode = true;\n this.debugType = \"session\";\n sessionStorage.setItem(\"debugConsole\", \"true\");\n // eslint-disable-next-line no-console\n console.log(\"🔧 调试模式已开启(会话模式 - 关闭标签页后失效)\");\n }\n return this.debugMode;\n },\n\n // 切换持久调试模式\n togglePersistent: () => {\n if (this.debugMode && this.debugType === \"persistent\") {\n this.debugMode = false;\n this.debugType = \"none\";\n sessionStorage.removeItem(\"debugConsole\");\n localStorage.removeItem(\"debugConsole\");\n // eslint-disable-next-line no-console\n console.log(\"🔧 调试模式已关闭\");\n } else {\n this.debugMode = true;\n this.debugType = \"persistent\";\n localStorage.setItem(\"debugConsole\", \"true\");\n // eslint-disable-next-line no-console\n console.log(\"🔧 调试模式已开启(持久模式 - 内部调试)\");\n }\n return this.debugMode;\n },\n\n // 获取当前状态\n status: () => {\n const status = {\n debugMode: this.debugMode,\n debugType: this.debugType,\n description: this.getStatusDescription(),\n };\n // eslint-disable-next-line no-console\n console.log(\"🔧 调试状态:\", status);\n return status;\n },\n // 帮助信息\n help: () => {\n // eslint-disable-next-line no-console\n console.log(`\n🔧 混合调试控制台使用说明:\n\n👥 生产环境使用(临时调试):\n window.debugConsole.enable() - 开启会话调试(关闭标签页后失效)\n window.debugConsole.disable() - 关闭调试模式\n window.debugConsole.toggle() - 切换会话调试模式\n\n👨‍💻 开发人员使用(长期调试):\n window.debugConsole.enablePersistent() - 开启持久调试(长期有效)\n window.debugConsole.togglePersistent() - 切换持久调试模式\n window.debugConsole.disable() - 关闭调试模式\n\n🔍 其他功能:\n window.debugConsole.status() - 查看当前状态\n window.debugConsole.help() - 显示此帮助信息\n\n🌐 URL参数:\n ?__debugConsole__=true - 通过URL激活会话调试模式\n\n📝 说明:\n - 会话模式:刷新页面后仍然有效,关闭标签页后失效\n - 持久模式:长期有效,除非手动关闭\n `);\n },\n };\n\n // 显示初始状态\n if (this.debugMode) {\n // eslint-disable-next-line no-console\n console.log(\n `🔧 调试模式已开启(${\n this.debugType === \"persistent\" ? \"持久模式\" : \"会话模式\"\n })`\n );\n } else if (process.env.NODE_ENV !== \"test\") {\n // eslint-disable-next-line no-console\n console.log(\"💡 提示:使用 window.debugConsole.help() 查看使用说明\");\n }\n }\n\n private getStatusDescription(): string {\n if (!this.debugMode) {\n return \"调试模式已关闭\";\n }\n\n switch (this.debugType) {\n case \"persistent\":\n return \"持久模式 - 内部调试(长期有效)\";\n case \"session\":\n return \"会话模式 - 临时调试(关闭标签页后失效)\";\n default:\n return \"未知模式\";\n }\n }\n\n isDebugMode(): boolean {\n return this.debugMode;\n }\n\n getDebugType(): \"session\" | \"persistent\" | \"none\" {\n return this.debugType;\n }\n\n shouldLog(method: \"log\" | \"error\" | \"warn\" | \"info\"): boolean {\n return method === \"error\" ? true : this.debugMode;\n }\n}\n\nexport const debugManager = DebugManager.getInstance();\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@next-core/runtime",
3
- "version": "1.69.3",
3
+ "version": "1.69.4",
4
4
  "homepage": "https://github.com/easyops-cn/next-core/tree/v3/packages/runtime",
5
5
  "license": "GPL-3.0",
6
6
  "repository": {
@@ -67,5 +67,5 @@
67
67
  "@next-core/build-next-libs": "^1.0.25",
68
68
  "@next-core/test-next": "^2.0.1"
69
69
  },
70
- "gitHead": "26373dd7adc3ddfb9e221bda84f8218032be2fde"
70
+ "gitHead": "1bd10b55137c9b695f52e8fc73fe847a98f06ed6"
71
71
  }