MediaWiki: Common.js: различия между версиями

Материал из Vanilla Station
Перейти к: навигация, поиск
мНет описания правки
мНет описания правки
Строка 1: Строка 1:
/* Размещённый здесь код JavaScript будет загружаться пользователям при обращении к каждой странице */
const currentURL = window.location.href;
 
const serversStatus = [
  {
    name: "vanilla",
    connect: "http://147.45.108.112:1212/status"
  }
];
 
function getServersInfo(connect, callback) {
  const xhr = new XMLHttpRequest();
  xhr.open('GET', connect, true);
  xhr.onload = function() {
    if (xhr.status >= 200 && xhr.status < 300) {
      const data = JSON.parse(xhr.responseText);
      callback(null, data);
    } else {
      callback('Ошибка при выполнении запроса: ' + xhr.status, null);
    }
  };
  xhr.onerror = function() {
    callback('Ошибка при выполнении запроса', null);
  };
  xhr.send();
}
 
function shangeServersInfo(serverObj, serverName) {
console.log(serverObj, serverName);
if (currentURL.includes("Kerisar")) {
      const serverStatusFrame = document.getElementById(serverName);
     
      serverStatusFrame.querySelector(".serverInfoRoundSet").textContent = "#" + serverObj.round;
      if (serverObj.status === 0) {
      serverStatusFrame.querySelector(".serverStatusSet").textContent = "Лобби";
      }
      if (serverObj.status === 1) {
      serverStatusFrame.querySelector(".serverStatusSet").textContent = "Раунд идёт";
      }
      if (serverObj.status === 2) {
      serverStatusFrame.querySelector(".serverStatusSet").textContent = "Завершение";
      }
      serverStatusFrame.querySelector(".serverMapSet").textContent = serverObj.map;
      serverStatusFrame.querySelector(".serverTimeSet").textContent = serverObj.time;
      serverStatusFrame.querySelector(".serverPlayersSet").textContent = serverObj.players;
      serverStatusFrame.querySelector(".serverPresetSet").textContent = serverObj.preset;
    }
}
 
function standartServersInfo(connect, name) {
getServersInfo(connect, function(error, data) {
    if (error) {
      console.error(error); // Обработка ошибок
    } else {
      const serverInfo = {
      name: data.name,
        round: data.round_id,
        status: data.run_level,
        map: data.map,
        time: new Date(data.round_start_time).toLocaleString(),
        players: data.players,
        preset: data.preset
      };
      shangeServersInfo(serverInfo, name);
    }
  });
}
 
 
function standartServersInfoAll() {
for (var i = 0; i < serversStatus.length; i++) {
standartServersInfo(serversStatus[i].connect, serversStatus[i].name);
}
}

Версия от 13:39, 14 августа 2024

const currentURL = window.location.href;

const serversStatus = [
  {
    name: "vanilla",
    connect: "http://147.45.108.112:1212/status"
  }
];

function getServersInfo(connect, callback) {
  const xhr = new XMLHttpRequest();
  xhr.open('GET', connect, true);
  xhr.onload = function() {
    if (xhr.status >= 200 && xhr.status < 300) {
      const data = JSON.parse(xhr.responseText);
      callback(null, data);
    } else {
      callback('Ошибка при выполнении запроса: ' + xhr.status, null);
    }
  };
  xhr.onerror = function() {
    callback('Ошибка при выполнении запроса', null);
  };
  xhr.send();
}

function shangeServersInfo(serverObj, serverName) {
	console.log(serverObj, serverName);
	
	if (currentURL.includes("Kerisar")) {
      	const serverStatusFrame = document.getElementById(serverName);
      	
      	serverStatusFrame.querySelector(".serverInfoRoundSet").textContent = "#" + serverObj.round;
      	if (serverObj.status === 0) {
      		serverStatusFrame.querySelector(".serverStatusSet").textContent = "Лобби";
      	}
      	if (serverObj.status === 1) {
      		serverStatusFrame.querySelector(".serverStatusSet").textContent = "Раунд идёт";
      	}
      	if (serverObj.status === 2) {
      		serverStatusFrame.querySelector(".serverStatusSet").textContent = "Завершение";
      	}
      	serverStatusFrame.querySelector(".serverMapSet").textContent = serverObj.map;
      	serverStatusFrame.querySelector(".serverTimeSet").textContent = serverObj.time;
      	serverStatusFrame.querySelector(".serverPlayersSet").textContent = serverObj.players;
      	serverStatusFrame.querySelector(".serverPresetSet").textContent = serverObj.preset;
    }
}

function standartServersInfo(connect, name) {
getServersInfo(connect, function(error, data) {
    if (error) {
      console.error(error); // Обработка ошибок
    } else {
      const serverInfo = {
      	name: data.name,
        round: data.round_id,
        status: data.run_level,
        map: data.map,
        time: new Date(data.round_start_time).toLocaleString(),
        players: data.players,
        preset: data.preset
      };
      	shangeServersInfo(serverInfo, name);
    }
  });
}


function standartServersInfoAll() {
	for (var i = 0; i < serversStatus.length; i++) {
		standartServersInfo(serversStatus[i].connect, serversStatus[i].name);
	}
}