跳转到内容

MediaWiki:Gadget-Purgecache.js

来自萌娘共享
AnnAngela-dbot留言 | 贡献2025年7月24日 (四) 20:44的版本 (代码变动:103d1a56 - feat: rename (#594) by U:AnnAngela, co-authored-by: GH:github-actions[bot])

注意:在发布之后,您可能需要清除浏览器缓存才能看到所作出的更改的影响。

  • Firefox或Safari:按住Shift的同时单击刷新,或按Ctrl-F5Ctrl-R(Mac为⌘-R
  • Google Chrome:Ctrl-Shift-R(Mac为⌘-Shift-R
  • Edge:按住Ctrl的同时单击刷新,或按Ctrl-F5
/**
 * -------------------------------------------------------------------------
 * !!! DON'T MODIFY THIS PAGE MANUALLY, YOUR CHANGES WILL BE OVERWRITTEN !!!
 * -------------------------------------------------------------------------
 */
var _addText = '{{GHIACode|page=GHIA:MoegirlPediaInterfaceCodes/blob/master/src/gadgets/Purgecache/Gadget-Purgecache.js|user=[[U:AnnAngela]]|co-authors=GH:github-actions[bot]|longId=103d1a563ea4ccc8ff29fb55c9bcd88329a56eb5|shortId=103d1a56|summary=feat: rename (#594)|body=<nowiki>Co-authored-by: github-actions[bot] <41898282+github-actions[bot]📧users.noreply.github.com></nowiki>}}'; 

/* <pre> */

"use strict";
$(() => {
    if (!mw.config.get("wgIsArticle") || mw.config.get("wgPageName") === "Mainpage") {
        return;
    }
    const $purgeButton = (buttonText = wgULS("清除页面缓存", "清除頁面快取"), purgingText = wgULS("正在清除缓存", "正在清除快取"), succesText = wgULS("清除缓存成功!", "清除快取成功!"), failText = wgULS("清除缓存失败,点击可重试", "清除快取失敗,點選可重試", null, null, "清除快取失敗,點擊可重試")) => {
        const $statusNode = $('<span class="n-button__content" />').text(buttonText);
        const $containerNode = $('<a class="n-button purgecache" />').append($statusNode);
        let runningStatus = false;
        $containerNode.on("click", async () => {
            if (runningStatus) {
                return;
            }
            $statusNode.text(`${purgingText} 0/2`);
            $statusNode.prepend('<img src="https://img.moegirl.org.cn/common/d/d1/Windows_10_loading.gif" style="height: 1em; margin-top: -.25em;">');
            runningStatus = true;
            const api = new mw.Api(), opt = {
                action: "purge",
                format: "json",
                forcelinkupdate: true,
                titles: mw.config.get("wgPageName"),
            };
            try {
                await api.post(opt);
                $statusNode.text(`${purgingText} 1/2`);
                $statusNode.prepend('<img src="https://img.moegirl.org.cn/common/d/d1/Windows_10_loading.gif" style="height: 1em; margin-top: -.25em;">');
                await new Promise((res) => {
                    setTimeout(res, 300);
                });
                await api.post(opt);
                $statusNode.text(succesText);
                setTimeout(location.reload.bind(location), 1000);
            }
            catch {
                $statusNode.text(failText);
                runningStatus = false;
                setTimeout(() => {
                    if (!runningStatus) {
                        $statusNode.text(buttonText);
                    }
                }, 5000);
            }
        });
        return $containerNode;
    };
    switch (mw.config.get("skin")) {
        case "vector":
            $("#p-personal ul").append($('<li id="pt-purge" />').append($purgeButton()));
            break;
        case "moeskin":
        default:
            $("#moe-article-header-top .right-block.flex").prepend($('<div class="flex" id="p-purge-cache"></div>').append($purgeButton().append('<div aria-hidden="true" class="n-base-wave"></div>', '<div aria-hidden="true" class="n-button__border"></div>', '<div aria-hidden="true" class="n-button__state-border"></div>')));
            $("#mobile-page-actions .mobile-edit-button").append($purgeButton(wgULS("清除缓存", "清除快取"), wgULS("正在清除", "正在清除"), wgULS("清除成功!", "清除成功!"), wgULS("清除失败,点击可重试", "清除失敗,點選可重試", null, null, "清除失敗,點擊可重試"))
                .append('<div aria-hidden="true" class="n-base-wave"></div>'));
    }
}); 

/* </pre> */