修复服务器重启时端口被占用和数据保存问题

This commit is contained in:
Alex Yang
2025-11-28 19:38:21 +08:00
parent 16bc615a52
commit 24b8cf19aa
20 changed files with 820873 additions and 109 deletions

View File

@@ -8,7 +8,6 @@ function setupNavigation() {
document.getElementById('dashboard-content'),
document.getElementById('shield-content'),
document.getElementById('hosts-content'),
document.getElementById('blacklists-content'),
document.getElementById('query-content'),
document.getElementById('config-content')
];
@@ -16,30 +15,15 @@ function setupNavigation() {
menuItems.forEach((item, index) => {
item.addEventListener('click', (e) => {
e.preventDefault();
// 允许浏览器自动更新地址栏中的hash不阻止默认行为
// 更新活跃状态
menuItems.forEach(menuItem => {
menuItem.classList.remove('sidebar-item-active');
});
item.classList.add('sidebar-item-active');
// 隐藏所有内容部分
contentSections.forEach(section => {
section.classList.add('hidden');
});
// 显示对应内容部分
const target = item.getAttribute('href').substring(1);
const activeContent = document.getElementById(`${target}-content`);
if (activeContent) {
activeContent.classList.remove('hidden');
// 移动端点击菜单项后自动关闭侧边栏
if (window.innerWidth < 768) {
closeSidebar();
}
// 更新页面标题
pageTitle.textContent = item.querySelector('span').textContent;
// 页面特定初始化
// 页面特定初始化 - 保留这部分逻辑因为它不会与hashchange事件处理逻辑冲突
const target = item.getAttribute('href').substring(1);
if (target === 'shield' && typeof initShieldPage === 'function') {
initShieldPage();
} else if (target === 'hosts' && typeof initHostsPage === 'function') {