MediaWiki:Mainpage.js:修订间差异

MediaWiki界面页面
无编辑摘要
无编辑摘要
第65行: 第65行:
if ($('body.page-首页').length) {
if ($('body.page-首页').length) {
var newDiv = $('<div>', {
var newDiv = $('<div>', {
'class': 'header-image',
'class': 'banner-image',
'html': '<div class="header-image></div>'
'html': '<div class="banner-image></div>'
});
});
$('#content').before(newDiv);
$('#content').before(newDiv);
}
}
   /* Sakana */
   addCssFile("https://api.hydcraft.cn/h2wiki/assets/sakana.min.css");
importScript( 'MediaWiki:Sakana.js' );


    /* 字体动画 */
    /* 字体动画 */

2024年3月8日 (五) 17:41的版本

$(function() {
    /* 获取服务器人数信息 */
    function getServerStatus() {
        if ($("#live-player-status").length > 0) {
			$("#live-info-start").css("display" , "none");
			$("#live-info-stop").css("display" , "none");
        	
            $.getJSON("https://api.hydcraft.cn/query/NitrogenStatus.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);

    var interval = setInterval(function() {
        if (typeof sakanaLoaded !== 'undefined' && sakanaLoaded) {
            clearInterval(interval);
            animate();
        }
    }, 100);

    /* 获取海报 */
	if ($('body.page-首页').length) {
		var newDiv = $('<div>', {
			'class': 'banner-image',
			'html': '<div class="banner-image></div>'
		});
		$('#content').before(newDiv);
	}

    /* 字体动画 */
    function animate() {
        return new Promise(resolve => {
            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');
	                    resolve(); // 动画执行完成后,调用 resolve() 以解析 Promise
	                    return;
                    }
                    input();
                }, Math.random() * 600);
            }
        
            input();
        });
    }
    animate();
}());
为了让您的浏览体验更加高效、方便和个性化,遵照《中华人民共和国网络安全法》和《信息安全技术个人信息安全规范》,我们需要您允许本站使用Cookies。在某些情况下,Cookies是使网站正常运行的必要条件。