// DOM 加载完成后执行,启动入口:初始化菜单、默认页面加载 document.addEventListener("DOMContentLoaded", () => { const items = document.querySelectorAll(".menu-item"); function setActive(name) { items.forEach(i => { i.classList.toggle("active", i.dataset.page === name); }); } function bindMenu() { items.forEach(item => { item.addEventListener("click", () => { const page = item.dataset.page; setActive(page); loadPage(page); }); }); } bindMenu(); setActive("page1"); loadPage("page1"); }); function logout() { window.location.href = "/api/auth/logout"; } function setIMEI(imei) { const el = document.getElementById("imei-value"); if (el) { el.textContent = imei; } } async function fetchIMEI() { try { const res = await fetch("/api/device/imei"); if (!res.ok) { throw new Error("http error"); } const imei = await res.text(); if (!imei || imei.trim() === "") { throw new Error("empty imei"); } setIMEI(imei.trim()); return; } catch (e) { console.log("get imei failed, retrying..."); setTimeout(fetchIMEI, 3000); // 3秒后继续重试 } } function loadIMEI() { fetchIMEI(); } loadIMEI();