56 lines
2.5 KiB
HTML
56 lines
2.5 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="zh-CN">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>AI Agent System</title>
|
|
<link rel="stylesheet" href="/static/style.css">
|
|
<link rel="stylesheet" href="/static/easter-eggs/flood.css">
|
|
<link rel="stylesheet" href="/static/easter-eggs/snake.css">
|
|
</head>
|
|
<body>
|
|
<div id="app"></div>
|
|
<script>
|
|
// 全局复制代码块函数
|
|
function copyCodeBlock(blockId) {
|
|
const codeElement = document.querySelector(`[data-code-id="${blockId}"]`);
|
|
if (!codeElement) return;
|
|
const button = document.querySelector(`[data-code="${blockId}"]`);
|
|
if (button && button.classList.contains('copied')) return;
|
|
const codeContent = codeElement?.dataset?.originalCode || codeElement?.textContent || '';
|
|
if (!button) {
|
|
navigator.clipboard.writeText(codeContent).catch((err) => console.error('复制失败:', err));
|
|
return;
|
|
}
|
|
if (!button.dataset.originalLabel) {
|
|
button.dataset.originalLabel = button.getAttribute('aria-label') || '复制代码';
|
|
}
|
|
navigator.clipboard.writeText(codeContent).then(() => {
|
|
button.classList.add('copied');
|
|
button.setAttribute('aria-label', '已复制');
|
|
setTimeout(() => {
|
|
button.classList.remove('copied');
|
|
button.setAttribute('aria-label', button.dataset.originalLabel);
|
|
}, 2000);
|
|
}).catch((err) => {
|
|
console.error('复制失败:', err);
|
|
button.classList.remove('copied');
|
|
button.setAttribute('aria-label', button.dataset.originalLabel || '复制代码');
|
|
});
|
|
}
|
|
document.addEventListener('click', function(e) {
|
|
const target = e.target;
|
|
if (target && target.classList && target.classList.contains('copy-code-btn')) {
|
|
const blockId = target.getAttribute('data-code');
|
|
if (blockId) copyCodeBlock(blockId);
|
|
}
|
|
});
|
|
</script>
|
|
<script src="/static/easter-eggs/registry.js"></script>
|
|
<script src="/static/easter-eggs/flood.js"></script>
|
|
<script src="/static/easter-eggs/snake.js"></script>
|
|
<script src="/static/security.js"></script>
|
|
<script type="module" src="/static/dist/assets/main.js"></script>
|
|
</body>
|
|
</html>
|