refactor: updated status.html to use loadconfig

This commit is contained in:
2025-12-20 04:02:27 +03:00
parent e8daad1a52
commit 869bc60b60

View File

@@ -11,11 +11,11 @@
<h1>Проверка сервера</h1> <h1>Проверка сервера</h1>
<div id="status" class="status checking"> <div id="status" class="status checking">
Проверяем подключение... Загружаем конфигурацию...
</div> </div>
<div id="info" class="info"> <div id="info" class="info">
Адрес: <span id="url" class="url">http://localhost:3000</span><br> Адрес: <span id="url" class="url"></span><br>
Время ответа: <span id="time"></span> Время ответа: <span id="time"></span>
</div> </div>
@@ -24,23 +24,46 @@
</div> </div>
<script> <script>
// Простая функция проверки сервера let backendUrl = 'http://localhost:3000'; // значение по умолчанию
// Функция загрузки конфигурации
async function loadConfig() {
try {
const response = await fetch('/config.json');
if (!response.ok) {
throw new Error(`HTTP ${response.status}`);
}
const config = await response.json();
backendUrl = config.backendUrl;
console.log('Backend URL загружен:', backendUrl);
} catch (error) {
console.warn('Ошибка загрузки конфигурации, используем fallback:', error);
backendUrl = 'http://localhost:3000'; // fallback
}
}
// Функция проверки сервера
async function checkServer() { async function checkServer() {
const statusElement = document.getElementById('status'); const statusElement = document.getElementById('status');
const timeElement = document.getElementById('time'); const timeElement = document.getElementById('time');
const urlElement = document.getElementById('url'); const urlElement = document.getElementById('url');
const errorElement = document.getElementById('error'); const errorElement = document.getElementById('error');
const errorMessageElement = document.getElementById('error-message'); const errorMessageElement = document.getElementById('error-message');
const serverUrl = 'http://localhost:3000';
// Обновляем отображаемый URL
urlElement.textContent = backendUrl;
try { try {
statusElement.textContent = 'Проверяем подключение...';
statusElement.className = 'status checking';
// Пытаемся подключиться к серверу // Пытаемся подключиться к серверу
const startTime = new Date(); const startTime = performance.now();
const response = await fetch(serverUrl); const response = await fetch(backendUrl);
const endTime = new Date(); const endTime = performance.now();
// Вычисляем время ответа // Вычисляем время ответа
const responseTime = endTime - startTime; const responseTime = Math.round(endTime - startTime);
if (response.ok) { if (response.ok) {
// Сервер доступен // Сервер доступен
@@ -73,8 +96,23 @@
} }
} }
// Запускаем проверку при загрузке страницы // Основная функция инициализации
window.onload = checkServer; async function initialize() {
const statusElement = document.getElementById('status');
try {
statusElement.textContent = 'Загружаем конфигурацию...';
await loadConfig();
await checkServer();
} catch (error) {
console.error('Ошибка инициализации:', error);
statusElement.textContent = '❌ Ошибка инициализации';
statusElement.className = 'status offline';
}
}
// Запускаем инициализацию при загрузке страницы
window.onload = initialize;
</script> </script>
</body> </body>
</html> </html>