diff --git a/src/layout/components/Header/components/system-settings/index.vue b/src/layout/components/Header/components/system-settings/index.vue index 234b8aa..5c814f8 100644 --- a/src/layout/components/Header/components/system-settings/index.vue +++ b/src/layout/components/Header/components/system-settings/index.vue @@ -116,7 +116,7 @@ const tabsChange = (e: Boolean) => { } }; -// 监听debug开关 +// 监听debug开关; const debugControl = new DebugControl(); watch( () => debugPrevention.value, diff --git a/src/layout/components/Main/index.vue b/src/layout/components/Main/index.vue index acd41b4..c98eec7 100644 --- a/src/layout/components/Main/index.vue +++ b/src/layout/components/Main/index.vue @@ -1,52 +1,51 @@ - - - - - + + + + + diff --git a/src/utils/debug-prevention.ts b/src/utils/debug-prevention.ts index e3b3da1..a2445c4 100644 --- a/src/utils/debug-prevention.ts +++ b/src/utils/debug-prevention.ts @@ -64,18 +64,19 @@ class RightMouseControl { * 使用debugger关键字阻止打开控制台 */ class DebugProtector { - private isActive = false; + private isActive = false; // 是否开启防调试 + private code = "d" + "e" + "b" + "u" + "g" + "g" + "e" + "r"; // 规避静态扫描 start() { if (this.isActive) return; - this.isActive = true; - this.asyncCheck(); + this.isActive = true; // 开启防调试 + this.asyncCheck(); // 异步检查 } private asyncCheck() { if (!this.isActive) return; - - debugger; + // 使用eval执行代码 + eval(this.code); // 异步调度避免栈溢出 setTimeout(() => { @@ -95,25 +96,22 @@ class DebugProtector { * 3、使用debugger关键字阻止打开控制台 */ class DebugControl { - private keydown = new KeydownControl(); - private rightMouse = new RightMouseControl(); - private protector = new DebugProtector(); + private modules: any[] = []; + constructor() { + this.modules.push(new KeydownControl(), new RightMouseControl(), new DebugProtector()); + } /** * 开启防调试 */ start() { - this.keydown.start(); - this.rightMouse.start(); - this.protector.start(); + this.modules.forEach(m => m.start?.()); } /** * 关闭防调试 */ stop() { - this.keydown.stop(); - this.rightMouse.stop(); - this.protector.stop(); + this.modules.forEach(m => m.stop?.()); } }