Files
tms-erp-web/src/debug.js
2026-07-08 18:00:33 +08:00

51 lines
1.3 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import DisableDevtool from 'disable-devtool';
import { ElMessageBox } from 'element-plus';
/**
* 安全警告的HTML模板, 使用Tailwind CSS样式
*/
const SECURITY_WARNING_TEMPLATE = `
<div class='flex flex-col items-center gap-4 p-2'>
<div class='text-red-500 dark:text-red-400'>
<i class='el-icon-warning text-2xl'></i>
</div>
<div class='text-center'>
<p class='text-base font-medium text-gray-900 dark:text-gray-100'>
不合规操作系统将在5秒后自动关闭退出
</p>
<p class='mt-2 text-sm text-gray-600 dark:text-gray-400'>
如您频繁此类操作,系统将记录上报。
</p>
</div>
</div>`;
/**
* Element Plus 消息框配置选项
*/
const ALERT_OPTIONS = {
type: 'error',
showClose: false,
center: true,
closeOnClickModal: false,
closeOnPressEscape: false,
dangerouslyUseHTMLString: true,
};
export default () => {
if (import.meta.env.VITE_APP_DEBUG_SWITCH === 'false') return;
const debugKey = import.meta.env.VITE_APP_DEBUG_KEY;
let flag = false;
DisableDevtool({
md5: DisableDevtool.md5(debugKey),
disableMenu: false,
ondevtoolopen: (type, next) => {
if (!flag) ElMessageBox.alert(SECURITY_WARNING_TEMPLATE, '安全警告', ALERT_OPTIONS);
flag = true;
setTimeout(() => {
next();
}, 5000);
},
});
};