![刷新 刷新](/images/thumb/b/b0/OOjs_UI_icon_reload-progressive.svg/55px-OOjs_UI_icon_reload-progressive.svg.png)
请注意:更新本页面后,您可能需要清除浏览器缓存才能看到所作变更的影响。
Google Chrome、Microsoft Edge、Mozilla Firefox、Safari:按住⇧ Shift,同时单击“刷新”。
Google Chrome、Microsoft Edge、Mozilla Firefox、Safari:按住⇧ Shift,同时单击“刷新”。
警告:如果您是根据讨论页、电子邮件或其他通信工具的留言要求来这里操作的,请务必保持警惕。相关留言要求您添加到本页面的内容里可能包含了盗取用户账号的恶意功能,如果您将其插入了您的自定义界面设置(即本页面),可能为您带来严重的风险!
如果您无法确定相关操作是否安全,请前往有兽茶谈询问相关事宜。
如果您无法确定相关操作是否安全,请前往有兽茶谈询问相关事宜。
警告:用户可能引用来自其他网站的脚本或样式,相关内容可能不以CC BY-SA 4.0许可;使用或改编此页面内容前,请确认相关内容的著作权许可协议!
var LIBdictionary = {
"steward": {
id: "2",
aimgsrc: "https://youshou.wiki/images/a/a4/%E6%A1%A3%E6%A1%88%E7%90%86%E4%BA%8B%E5%91%98%E6%9D%83%E9%99%90%E6%A0%87%E8%AF%86.svg",
src: "https://youshou.wiki/wiki/%E6%9C%89%E5%85%BD%E6%A1%A3%E6%A1%88%E9%A6%86:%E6%A1%A3%E6%A1%88%E7%90%86%E4%BA%8B%E5%9B%A2%E9%98%9F"
},
"sysop": {
id: "3",
aimgsrc: "https://youshou.wiki/images/3/3e/%E7%AE%A1%E7%90%86%E5%91%98%E6%9D%83%E9%99%90%E6%A0%87%E8%AF%86.svg",
src: "https://youshou.wiki/wiki/%E6%9C%89%E5%85%BD%E6%A1%A3%E6%A1%88%E9%A6%86:%E7%AE%A1%E7%90%86%E5%91%98"
},
"templateeditor": {
id: "4",
aimgsrc: "https://youshou.wiki/images/4/47/%E6%A8%A1%E6%9D%BF%E7%BC%96%E8%BE%91%E5%91%98%E6%9D%83%E9%99%90%E6%A0%87%E8%AF%86.svg",
src: "https://youshou.wiki/wiki/%E6%9C%89%E5%85%BD%E6%A1%A3%E6%A1%88%E9%A6%86:%E6%A8%A1%E6%9D%BF%E7%BC%96%E8%BE%91%E5%91%98"
},
"interface-admin": {
id: "5",
aimgsrc: "https://youshou.wiki/images/e/ea/%E7%95%8C%E9%9D%A2%E7%AE%A1%E7%90%86%E5%91%98%E6%9D%83%E9%99%90%E6%A0%87%E8%AF%86.svg",
src: "https://youshou.wiki/wiki/%E6%9C%89%E5%85%BD%E6%A1%A3%E6%A1%88%E9%A6%86:%E7%95%8C%E9%9D%A2%E7%AE%A1%E7%90%86%E5%91%98"
},
"patroller": {
id: "6",
aimgsrc: "https://youshou.wiki/images/6/67/%E5%B7%A1%E6%9F%A5%E5%91%98%E6%9D%83%E9%99%90%E6%A0%87%E8%AF%86.svg",
src: "https://youshou.wiki/wiki/%E6%9C%89%E5%85%BD%E6%A1%A3%E6%A1%88%E9%A6%86:%E5%B7%A1%E6%9F%A5%E6%9D%A1%E4%BE%8B#%E5%B7%A1%E6%9F%A5%E5%91%98"
},
"suppress": {
id: "7",
aimgsrc: "https://youshou.wiki/images/3/3d/%E7%9B%91%E7%9D%A3%E5%91%98%E6%9D%83%E9%99%90%E6%A0%87%E8%AF%86.svg",
src: "https://youshou.wiki/wiki/%E6%9C%89%E5%85%BD%E6%A1%A3%E6%A1%88%E9%A6%86:%E7%9B%91%E7%9D%A3%E6%9D%A1%E4%BE%8B#%E7%9B%91%E7%9D%A3%E5%91%98"
},
"bot": {
id: "8",
aimgsrc: "https://youshou.wiki/images/f/f0/%E6%9C%BA%E5%99%A8%E4%BA%BA%E6%9D%83%E9%99%90%E6%A0%87%E8%AF%86.svg",
src: "https://youshou.wiki/wiki/%E6%9C%89%E5%85%BD%E6%A1%A3%E6%A1%88%E9%A6%86:%E6%9C%BA%E5%99%A8%E4%BA%BA"
},
"autopatrolled": {
id: "9",
aimgsrc: "https://youshou.wiki/images/1/1e/%E4%BC%98%E8%B4%A8%E7%BC%96%E8%BE%91%E8%80%85%E6%9D%83%E9%99%90%E6%A0%87%E8%AF%86.svg",
src: "https://youshou.wiki/wiki/%E6%9C%89%E5%85%BD%E6%A1%A3%E6%A1%88%E9%A6%86:%E4%BC%98%E8%B4%A8%E7%BC%96%E8%BE%91%E8%80%85"
},
"massmessage-sender": {
id: "10",
aimgsrc: "https://youshou.wiki/images/c/cd/大量消息发送者权限标识.svg",
src: "https://youshou.wiki/wiki/有兽档案馆:大量消息发送者"
},
"autoconfirmed": {
id: "11",
aimgsrc: "https://youshou.wiki/images/4/49/确认用户权限标识.svg",
src: "https://youshou.wiki/wiki/有兽档案馆:用户权限#自动确认用户"
}
};
//! src/USerQX/cs.ts
$(function() {
let WikiURLName = window.location.pathname;
let matchResult = /^\/wiki\/User:[^\/]*$/.test(WikiURLName);
if (!matchResult) {
return;
}
let userNameMatch = (WikiURLName.match(/User:(.*)$/) || [])[1];
let UserMessage = "".concat(mw.config.get("wgServer"), "/api.php?action=query&list=users&usprop=groups&format=json&ususers=").concat(userNameMatch);
function createVirtualLinkImg(href, aimgsrc) {
return {
tag: "a",
props: {
href,
style: "display: inline-block;"
},
children: [{
tag: "img",
props: {
src: aimgsrc,
style: "width: 39px; margin: 0 3px;"
}
}]
};
}
function renderVirtualDOM(virtualDOM, container) {
if (!(container instanceof jQuery)) {
container = $(container);
}
function createRealNode(virtualNode) {
const {
tag,
props,
children
} = virtualNode;
const realNode = $("<" + tag + ">");
Object.keys(props).forEach((propName) => {
realNode.attr(propName, String(props[propName]));
});
if (children) {
children.forEach((childVirtualNode) => {
const childRealNode = createRealNode(childVirtualNode);
realNode.append(childRealNode);
});
}
return realNode;
}
const realNodes = virtualDOM.map((virtualNode) => createRealNode(virtualNode));
realNodes.forEach((node) => {
container.append(node);
});
}
function ArrayDataSort(dataArray) {
dataArray.sort((a, b) => a.id - b.id);
if (dataArray.length > 3) {
return dataArray.slice(0, 3);
}
return dataArray;
}
function fetchUserData() {
return new Promise((resolve, reject) => {
if (!UserMessage) {
return reject(new Error("UserMessage is not defined"));
}
$.get(UserMessage, function(data) {
const userData = data.query.users[0].groups;
resolve(userData);
}, "json").fail(reject);
});
}
let retryCount = 0;
function fetchUserDataWithRetry() {
return fetchUserData().catch((error) => {
retryCount++;
if (retryCount <= 3) {
console.warn("请求失败,正在进行第".concat(retryCount, "次重试..."));
return fetchUserDataWithRetry();
} else {
console.error("请求失败,已达到最大重试次数:", error);
throw error;
}
});
}
fetchUserDataWithRetry().then((UserData) => {
if (!UserData || !Array.isArray(UserData)) {
console.error("谢特", UserData);
return;
}
let matchedGroups = UserData.filter((group) => LIBdictionary.hasOwnProperty(group)).map((group) => LIBdictionary[group]);
let firstThreeItems = ArrayDataSort(matchedGroups);
const virtualDOM = firstThreeItems.map((imgData) => imgData !== null && imgData !== void 0 && imgData.src && imgData !== null && imgData !== void 0 && imgData.aimgsrc ? createVirtualLinkImg(imgData.src, imgData.aimgsrc) : null);
let dommountpoint = $("#content header.mw-body-header .page-heading .mw-indicators");
renderVirtualDOM(virtualDOM, dommountpoint);
}).catch((error) => {
console.error("最终请求失败,不再重试:", error);
});
});