修复时间错误的问题

This commit is contained in:
CN-JS-HuiBai
2026-04-07 17:30:43 +08:00
parent 52665bbd95
commit 05b00ccb65

View File

@@ -103,7 +103,7 @@
.two-col {
display: grid;
grid-template-columns: 1.15fr 0.85fr;
grid-template-columns: 1fr;
gap: 18px;
}
@@ -269,18 +269,12 @@
</div>
</article>
<article class="card panel">
<div class="panel-head">
<div class="panel-title">Active Sessions</div>
<div class="badge" id="session-badge">Checking</div>
</div>
<div class="list" id="session-list"></div>
</section>
<div class="actions">
<button class="btn" id="reload-btn" type="button">Reload</button>
<button class="btn secondary" id="home-btn" type="button">Back Home</button>
</div>
</article>
</section>
</div>
<script>
@@ -388,7 +382,28 @@
function formatTime(timestamp) {
if (!timestamp) return '-';
const date = new Date(timestamp * 1000);
let date = null;
if (typeof timestamp === 'number') {
date = new Date(timestamp > 9999999999 ? timestamp : timestamp * 1000);
} else if (typeof timestamp === 'string') {
const trimmed = timestamp.trim();
if (!trimmed) return '-';
if (/^\d+$/.test(trimmed)) {
const numeric = Number(trimmed);
date = new Date(numeric > 9999999999 ? numeric : numeric * 1000);
} else {
date = new Date(trimmed);
}
} else {
date = new Date(timestamp);
}
if (!(date instanceof Date) || Number.isNaN(date.getTime())) {
return '-';
}
const pad = function (value) { return String(value).padStart(2, '0'); };
return date.getFullYear() + '-' + pad(date.getMonth() + 1) + '-' + pad(date.getDate()) + ' ' + pad(date.getHours()) + ':' + pad(date.getMinutes()) + ':' + pad(date.getSeconds());
}
@@ -425,9 +440,7 @@
document.getElementById('plan-name').textContent = '-';
document.getElementById('traffic-note').textContent = '-';
document.getElementById('refresh-badge').textContent = 'Auto Refresh';
document.getElementById('session-badge').textContent = 'Checking';
document.getElementById('ip-list').innerHTML = '<div class="empty">No online IP detected currently.</div>';
document.getElementById('session-list').innerHTML = '<div class="empty">No active session entries available.</div>';
}
async function getJson(url, authorization) {
@@ -462,7 +475,6 @@
document.getElementById('online-count').textContent = String(summary.user ? summary.user.online_count : 0);
document.getElementById('last-online').textContent = formatTime(summary.user ? summary.user.last_online_at : null);
document.getElementById('refresh-badge').textContent = 'Refresh every ' + ((summary.meta && summary.meta.refresh_interval_seconds) || 30) + 's';
document.getElementById('session-badge').textContent = summary.meta && summary.meta.show_active_sessions ? 'Enabled' : 'Disabled';
const ipList = document.getElementById('ip-list');
ipList.innerHTML = '';
@@ -480,32 +492,6 @@
ipList.appendChild(row);
});
}
const sessionList = document.getElementById('session-list');
sessionList.innerHTML = '';
const sessions = Array.isArray(summary.active_sessions) ? summary.active_sessions : [];
if (!sessions.length) {
const empty = document.createElement('div');
empty.className = 'empty';
empty.textContent = summary.meta && summary.meta.show_active_sessions
? 'No active session entries available.'
: 'Session display is disabled by plugin config.';
sessionList.appendChild(empty);
} else {
sessions.forEach(function (session) {
const row = document.createElement('div');
row.className = 'row';
row.innerHTML =
'<div class=\"row-title\">' + (session.device || 'Unknown Session') + '</div>' +
'<div class=\"row-meta\">' +
'Session ID: ' + session.id + '<br>' +
'Last Used: ' + formatTime(session.last_used_at) + '<br>' +
'Created: ' + formatTime(session.created_at) + '<br>' +
'Expires: ' + formatTime(session.expires_at) +
'</div>';
sessionList.appendChild(row);
});
}
}
async function loadPageData() {