diff --git a/f/web-kboss/src/main.js b/f/web-kboss/src/main.js index 5eadf49..7cab792 100644 --- a/f/web-kboss/src/main.js +++ b/f/web-kboss/src/main.js @@ -92,184 +92,184 @@ Vue.use(HappyScroll) // ==================== 防 F12 和右键检查功能开始 ==================== // 只在生产环境启用防调试功能 -if (process.env.NODE_ENV === 'production') { - // 禁止右键菜单 - document.addEventListener('contextmenu', function(e) { - e.preventDefault(); - return false; - }); +// if (process.env.NODE_ENV === 'production') { +// // 禁止右键菜单 +// document.addEventListener('contextmenu', function(e) { +// e.preventDefault(); +// return false; +// }); - // 禁止F12和开发者工具快捷键 - document.addEventListener('keydown', function(e) { - // 禁止F12 - if (e.key === 'F12') { - e.preventDefault(); - return false; - } +// // 禁止F12和开发者工具快捷键 +// document.addEventListener('keydown', function(e) { +// // 禁止F12 +// if (e.key === 'F12') { +// e.preventDefault(); +// return false; +// } - // 禁止Ctrl+Shift+I (Chrome, Edge) - if (e.ctrlKey && e.shiftKey && e.key === 'I') { - e.preventDefault(); - return false; - } +// // 禁止Ctrl+Shift+I (Chrome, Edge) +// if (e.ctrlKey && e.shiftKey && e.key === 'I') { +// e.preventDefault(); +// return false; +// } - // 禁止Ctrl+Shift+J (Chrome) - if (e.ctrlKey && e.shiftKey && e.key === 'J') { - e.preventDefault(); - return false; - } +// // 禁止Ctrl+Shift+J (Chrome) +// if (e.ctrlKey && e.shiftKey && e.key === 'J') { +// e.preventDefault(); +// return false; +// } - // 禁止Ctrl+U (查看源代码) - if (e.ctrlKey && e.key === 'u') { - e.preventDefault(); - return false; - } +// // 禁止Ctrl+U (查看源代码) +// if (e.ctrlKey && e.key === 'u') { +// e.preventDefault(); +// return false; +// } - // 禁止Ctrl+Shift+C (开发者工具检查元素) - if (e.ctrlKey && e.shiftKey && e.key === 'C') { - e.preventDefault(); - return false; - } +// // 禁止Ctrl+Shift+C (开发者工具检查元素) +// if (e.ctrlKey && e.shiftKey && e.key === 'C') { +// e.preventDefault(); +// return false; +// } - // 禁止Ctrl+Shift+J (Firefox) - if (e.ctrlKey && e.shiftKey && e.key === 'K') { - e.preventDefault(); - return false; - } - }); +// // 禁止Ctrl+Shift+J (Firefox) +// if (e.ctrlKey && e.shiftKey && e.key === 'K') { +// e.preventDefault(); +// return false; +// } +// }); - // 更准确的开发者工具检测 - let isDevToolsOpened = false; +// // 更准确的开发者工具检测 +// let isDevToolsOpened = false; - // 方法1: 检查开发者工具宽度 - function checkDevToolsByWidth() { - const threshold = 160; // 开发者工具通常至少160px宽 - const widthThreshold = window.outerWidth - window.innerWidth > threshold; - const heightThreshold = window.outerHeight - window.innerHeight > threshold; +// // 方法1: 检查开发者工具宽度 +// function checkDevToolsByWidth() { +// const threshold = 160; // 开发者工具通常至少160px宽 +// const widthThreshold = window.outerWidth - window.innerWidth > threshold; +// const heightThreshold = window.outerHeight - window.innerHeight > threshold; - return widthThreshold || heightThreshold; - } +// return widthThreshold || heightThreshold; +// } - // 方法2: 检查debugger执行时间(更宽松的阈值) - function checkDevToolsByDebugger() { - return new Promise((resolve) => { - const start = performance.now(); - debugger; - const end = performance.now(); - // 使用更宽松的阈值,避免误报 - resolve(end - start > 200); - }); - } +// // 方法2: 检查debugger执行时间(更宽松的阈值) +// function checkDevToolsByDebugger() { +// return new Promise((resolve) => { +// const start = performance.now(); +// debugger; +// const end = performance.now(); +// // 使用更宽松的阈值,避免误报 +// resolve(end - start > 200); +// }); +// } - // 方法3: 检查控制台是否打开 - function checkDevToolsByConsole() { - const element = new Image(); - Object.defineProperty(element, 'id', { - get: function() { - isDevToolsOpened = true; - } - }); +// // 方法3: 检查控制台是否打开 +// function checkDevToolsByConsole() { +// const element = new Image(); +// Object.defineProperty(element, 'id', { +// get: function() { +// isDevToolsOpened = true; +// } +// }); - console.log(element); - console.clear(); // 清除测试日志 - } +// console.log(element); +// console.clear(); // 清除测试日志 +// } - // 方法4: 检查Eruda等移动端调试工具 - function checkMobileDevTools() { - return !!(window.eruda || window.__eruda || window.vConsole); - } +// // 方法4: 检查Eruda等移动端调试工具 +// function checkMobileDevTools() { +// return !!(window.eruda || window.__eruda || window.vConsole); +// } - // 处理检测到调试器的情况 - function handleDebuggerDetected() { - if (!isDevToolsOpened) { - isDevToolsOpened = true; +// // 处理检测到调试器的情况 +// function handleDebuggerDetected() { +// if (!isDevToolsOpened) { +// isDevToolsOpened = true; - // 可以选择以下一种或多种处理方式 - // 1. 显示警告信息(推荐) - alert('检测到开发者工具已打开,为了系统安全,请关闭开发者工具。'); +// // 可以选择以下一种或多种处理方式 +// // 1. 显示警告信息(推荐) +// alert('检测到开发者工具已打开,为了系统安全,请关闭开发者工具。'); - // 2. 跳转到关于页面或其他安全页面 - // window.location.href = '/about'; +// // 2. 跳转到关于页面或其他安全页面 +// // window.location.href = '/about'; - // 3. 清空敏感数据 - // sessionStorage.clear(); - // localStorage.clear(); +// // 3. 清空敏感数据 +// // sessionStorage.clear(); +// // localStorage.clear(); - // 4. 关闭窗口(慎用) - // window.close(); +// // 4. 关闭窗口(慎用) +// // window.close(); - // 5. 禁用页面交互 - // document.body.innerHTML = '

请关闭开发者工具后刷新页面

'; - } - } +// // 5. 禁用页面交互 +// // document.body.innerHTML = '

请关闭开发者工具后刷新页面

'; +// } +// } - // 定期检查(使用更宽松的间隔) - const checkInterval = setInterval(async function() { - // 如果已经检测到开发工具打开,停止检查 - if (isDevToolsOpened) { - clearInterval(checkInterval); - return; - } +// // 定期检查(使用更宽松的间隔) +// const checkInterval = setInterval(async function() { +// // 如果已经检测到开发工具打开,停止检查 +// if (isDevToolsOpened) { +// clearInterval(checkInterval); +// return; +// } - // 检查移动端调试工具 - if (checkMobileDevTools()) { - handleDebuggerDetected(); - return; - } +// // 检查移动端调试工具 +// if (checkMobileDevTools()) { +// handleDebuggerDetected(); +// return; +// } - // 检查窗口大小 - if (checkDevToolsByWidth()) { - handleDebuggerDetected(); - return; - } +// // 检查窗口大小 +// if (checkDevToolsByWidth()) { +// handleDebuggerDetected(); +// return; +// } - // 检查debugger(异步) - const isDebugging = await checkDevToolsByDebugger(); - if (isDebugging) { - handleDebuggerDetected(); - return; - } +// // 检查debugger(异步) +// const isDebugging = await checkDevToolsByDebugger(); +// if (isDebugging) { +// handleDebuggerDetected(); +// return; +// } - // 偶尔检查控制台(不要太频繁) - if (Math.random() < 0.1) { // 10%的概率检查 - checkDevToolsByConsole(); - } - }, 2000); // 每2秒检查一次,减少性能影响 +// // 偶尔检查控制台(不要太频繁) +// if (Math.random() < 0.1) { // 10%的概率检查 +// checkDevToolsByConsole(); +// } +// }, 2000); // 每2秒检查一次,减少性能影响 - // 监听窗口大小变化(添加去抖) - let resizeTimer; - window.addEventListener('resize', function() { - clearTimeout(resizeTimer); - resizeTimer = setTimeout(function() { - if (checkDevToolsByWidth() && !isDevToolsOpened) { - handleDebuggerDetected(); - } - }, 500); - }); +// // 监听窗口大小变化(添加去抖) +// let resizeTimer; +// window.addEventListener('resize', function() { +// clearTimeout(resizeTimer); +// resizeTimer = setTimeout(function() { +// if (checkDevToolsByWidth() && !isDevToolsOpened) { +// handleDebuggerDetected(); +// } +// }, 500); +// }); - // 禁用控制台输出(可选,根据需求开启) - // 注意:这会影响你自己的console.log调试,建议只在生产环境使用 - if (typeof console !== 'undefined') { - const noop = () => {}; - const methods = ['log', 'debug', 'info', 'warn', 'error', 'table', 'dir', 'trace']; - methods.forEach(method => { - console[method] = noop; - }); +// // 禁用控制台输出(可选,根据需求开启) +// // 注意:这会影响你自己的console.log调试,建议只在生产环境使用 +// if (typeof console !== 'undefined') { +// const noop = () => {}; +// const methods = ['log', 'debug', 'info', 'warn', 'error', 'table', 'dir', 'trace']; +// methods.forEach(method => { +// console[method] = noop; +// }); - // 防止重写console被绕过 - Object.defineProperty(window, 'console', { - get: function() { - return { - log: noop, debug: noop, info: noop, warn: noop, error: noop, - table: noop, dir: noop, trace: noop - }; - }, - set: function() {} - }); - } +// // 防止重写console被绕过 +// Object.defineProperty(window, 'console', { +// get: function() { +// return { +// log: noop, debug: noop, info: noop, warn: noop, error: noop, +// table: noop, dir: noop, trace: noop +// }; +// }, +// set: function() {} +// }); +// } - console.log('防调试保护已启用'); -} +// console.log('防调试保护已启用'); +// } // ==================== 防 F12 和右键检查功能结束 ==================== Vue.use(Element, { diff --git a/f/web-kboss/src/views/product/mainPage/index.vue b/f/web-kboss/src/views/product/mainPage/index.vue index 6258254..130f0a9 100644 --- a/f/web-kboss/src/views/product/mainPage/index.vue +++ b/f/web-kboss/src/views/product/mainPage/index.vue @@ -64,8 +64,7 @@

手机号: {{ userInfo.mobile }}

邮箱: {{ userInfo.email }}

- - + ·
账户余额
@@ -84,7 +83,7 @@ v-for="(item, index) in todoList" :key="index" class="todo-item" - @click="handleTodoClick(item.name)" + @click="handleTodoClick(item.name)" > {{ item.name }} {{ item.count }}