MediaWiki:Mainpage.js:修订间差异

MediaWiki界面页面
无编辑摘要
无编辑摘要
第2行: 第2行:
    /* Player */
    /* Player */
    function getServerStatus() {
    function getServerStatus() {
     $("#live-info-start").css("display" , "none");
     $("#live-info-stop").css("display" , "none");
      if ($("#live-player-status").length > 0) {
      if ($("#live-player-status").length > 0) {
        $.getJSON("https://mcapi.us/server/status?ip=helium.hydcraft.cn&port=25565", function(data) {
        $.getJSON("https://api.hydcraft.cn/query/HeliumStatus.php", function(data) {
        if (data.online == true) {
        if (data.code == 200) {
          $("#live-info-start").css("display" , "block");
          if (data.status == 3) {
         var curPlayers = data.players.now;
           $("#live-info-start").css("display" , "block");
         var maxPlayers = data.players.max;
           var curPlayers = data.players.now;
         var width = curPlayers / maxPlayers;
           var maxPlayers = data.players.max;
           var width = curPlayers / maxPlayers;


         var statusText = curPlayers + " / " + maxPlayers;
           var statusText = curPlayers + " / " + maxPlayers;
        
         if (curPlayers > maxPlayers)
           $("#live-player-curmax").css("display" , "block");
         else if (curPlayers == maxPlayers)
           $("#live-player-max").css("display" , "block");
         else if (curPlayers < maxPlayers)
           $("#live-player-normal").css("display" , "block");
         else if (curPlayers == maxPlayers / 2)
           $("#live-player-center").css("display" , "block");


         if (curPlayers <= maxPlayers / 2)
           $("#live-player-progress").css("background-color" , "#096dd9");
         else if(curPlayers > maxPlayers / 2 && curPlayers <= maxPlayers * 0.9)
           $("#live-player-progress").css("background-color" , "#ff7440");
         else if(curPlayers > maxPlayers * 0.9)
           $("#live-player-progress").css("background-color" , "#a52a2a");
         else
            $("#live-player-progress").css("background-color" , "#096dd9");
            $("#live-player-progress").css("background-color" , "#096dd9");


         $("#live-player-status").html(statusText + " (" + (width * 100).toFixed(1) + "%)");
           $("#live-player-status").html(statusText + " (" + (width * 100).toFixed(1) + "%)");
         $("#live-player-progress").width(width * 100 + '%'); 
           $("#live-player-progress").width(width * 100 + '%'); 
         } else if (data.status == 2) {
           $("#live-info-stop").css("display" , "block");
           var statusText = "服务器启动中";
           $("#live-player-status").html(statusText);
           $("#live-player-progress").width(0 + '%');
         } else if (data.status == 1) {
           $("#live-info-stop").css("display" , "block");
           var statusText = "服务器关闭中";
           $("#live-player-status").html(statusText);
           $("#live-player-progress").width(0 + '%');
         } else if (data.status == 0) {
           $("#live-info-stop").css("display" , "block");
           var statusText = "服务器未启动";
           $("#live-player-status").html(statusText);
           $("#live-player-progress").width(0 + '%');
         }
        } else {
        } else {
          $("#live-info-stop").css("display" , "block");
          $("#live-info-stop").css("display" , "block");
          var statusText = "服务器 未启动";
          var statusText = "API 无法连接 服务器";
          $("#live-player-status").html(statusText);
          $("#live-player-status").html(statusText);
          $("#live-player-progress").width(0 + '%'); 
          $("#live-player-progress").width(0 + '%'); 
第41行: 第45行:


        .fail(function (xhr) {
        .fail(function (xhr) {
       if (xhr.status == 502) {
          $("#live-player-status").html("无法获取服务器信息");
          $("#live-player-status").html("无法获取服务器信息 。");
       } else {
         $("#live-player-status").html("无法获取服务器信息,错误值:" + xhr.status + "。");
          $("#live-player-progress").width(100 + '%'); 
          $("#live-player-progress").width(100 + '%'); 
          $("#live-player-progress").css("background-color" , "#ff0000"); 
          $("#live-player-progress").css("background-color" , "#ff0000"); 
       }
        });
        });
      }
      }

2023年7月19日 (三) 14:20的版本

$(function() {
    /* Player */
    function getServerStatus() {
        $("#live-info-start").css("display" , "none");
        $("#live-info-stop").css("display" , "none");

        if ($("#live-player-status").length > 0) {
            $.getJSON("https://api.hydcraft.cn/query/HeliumStatus.php", function(data) {
            if (data.code == 200) {
                if (data.status == 3) {
                    $("#live-info-start").css("display" , "block");
                    var curPlayers = data.players.now;
                    var maxPlayers = data.players.max;
                    var width = curPlayers / maxPlayers;

                    var statusText = curPlayers + " / " + maxPlayers;

                    $("#live-player-progress").css("background-color" , "#096dd9");

                    $("#live-player-status").html(statusText + " (" + (width * 100).toFixed(1) + "%)");
                    $("#live-player-progress").width(width * 100 + '%'); 
                } else if (data.status == 2) {
                    $("#live-info-stop").css("display" , "block");
                    var statusText = "服务器启动中";
                    $("#live-player-status").html(statusText);
                    $("#live-player-progress").width(0 + '%'); 
                } else if (data.status == 1) {
                    $("#live-info-stop").css("display" , "block");
                    var statusText = "服务器关闭中";
                    $("#live-player-status").html(statusText);
                    $("#live-player-progress").width(0 + '%'); 
                } else if (data.status == 0) {
                    $("#live-info-stop").css("display" , "block");
                    var statusText = "服务器未启动";
                    $("#live-player-status").html(statusText);
                    $("#live-player-progress").width(0 + '%'); 
                }
            } else {
                $("#live-info-stop").css("display" , "block");
                var statusText = "API 无法连接服务器";
                $("#live-player-status").html(statusText);
                $("#live-player-progress").width(0 + '%'); 
            }
            })

            .fail(function (xhr) {
                $("#live-player-status").html("无法获取服务器信息");
                $("#live-player-progress").width(100 + '%'); 
                $("#live-player-progress").css("background-color" , "#ff0000"); 
            });
        }
    }

    getServerStatus();
    setInterval(getServerStatus, 60000);

    /* Poster */
    var page = document.querySelector("body");
    if (page.classList.contains('page-首页')) {
        var mwBody = document.getElementById('content');
        var newDiv = document.createElement('div');
        newDiv.setAttribute('class', 'header-image');
        newDiv.innerHTML = '<div class="header-image" style="background-image: linear-gradient(to top, var(--color-surface-0), transparent 150%), url(https://h2-wiki-1254268741.cos.accelerate.myqcloud.com/wiki-poster.png);background-size: cover;background-position: top;height: 36vh;margin-bottom: -28vh;"></div>';
        mwBody.parentNode.insertBefore(newDiv, mwBody);
    }

    /* Animate */
    let textBox = $('#title');
    let ani_index = 0;
    let str = 'Welcome to HydCraft Wiki! :D';
    let len = str.length;

    function input() {
        textBox.html(str.substr(0, ani_index) + '<span class="animate">|</span>');
        setTimeout(function() {
            ani_index++;
            if(ani_index === len + 1) {
                $('.animate').addClass('on');
                return;
            }
            input();
        }, Math.random() * 600)
    }

    input();
}());
为了让您的浏览体验更加高效、方便和个性化,遵照《中华人民共和国网络安全法》和《信息安全技术个人信息安全规范》,我们需要您允许本站使用Cookies。在某些情况下,Cookies是使网站正常运行的必要条件。