| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103 |
- // 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秒后继续重试
- }
- }
- let sshdStatusTimer = null;
- function getSshdStatus() {
- fetch("/api/sshd/status")
- .then(r => {
- if (!r.ok) {
- throw new Error("HTTP " + r.status);
- }
- return r.json();
- })
- .then(data => {
- document.getElementById("sshd-status").textContent = data.status || "--";
- })
- .catch(e => {
- console.error("sshd status failed:", e);
- document.getElementById("sshd-status").textContent = "--";
- });
- }
- function startSshdStatusRefresh() {
- if (sshdStatusTimer) {
- return;
- }
- getSshdStatus();
- sshdStatusTimer = setInterval(() => {
- getSshdStatus();
- }, 5000);
- }
- function stopSshdStatusRefresh() {
- if (sshdStatusTimer) {
- clearInterval(sshdStatusTimer);
- sshdStatusTimer = null;
- }
- }
- function loadIMEI() {
- fetchIMEI();
- }
- loadIMEI();
- startSshdStatusRefresh();
|