init
This commit is contained in:
50
src/debug.js
Normal file
50
src/debug.js
Normal file
@@ -0,0 +1,50 @@
|
||||
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);
|
||||
},
|
||||
});
|
||||
};
|
||||
Reference in New Issue
Block a user