IOIHW UserName Mapper

想看到编号下的真实姓名?这个将会满足你!

当前为 2019-11-11 提交的版本,查看 最新版本

您需要先安装一个扩展,例如 篡改猴Greasemonkey暴力猴,之后才能安装此脚本。

You will need to install an extension such as Tampermonkey to install this script.

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴Userscripts ,之后才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。

您需要先安装用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name         IOIHW UserName Mapper
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  想看到编号下的真实姓名?这个将会满足你!
// @author       iotang
// @match        https://ioihw.duck-ac.cn/*
// @grant        GM_setValue
// @grant        GM_getValue
// ==/UserScript==

"use strict";

function getMapper()
{
    var temp = GM_getValue("mapper");

    if(temp === undefined)
    {
        GM_setValue("mapper", {"ioi2020_01": "周雨扬", "ioi2020_02": "张哲宇", "ioi2020_03": "任清宇", "ioi2020_04": "叶卓睿", "ioi2020_05": "李佳衡", "ioi2020_06": "马耀华", "ioi2020_07": "徐翊轩", "ioi2020_08": "罗煜翔", "ioi2020_09": "周楷文", "ioi2020_10": "周任飞", "ioi2020_11": "蒋明润", "ioi2020_12": "姜迅驰", "ioi2020_13": "袁无为", "ioi2020_14": "林凯风", "ioi2020_15": "虞皓翔", "ioi2020_16": "方汤骐", "ioi2020_17": "高子翼", "ioi2020_18": "张好风", "ioi2020_19": "卞浏予", "ioi2020_20": "李骥", "ioi2020_21": "郑钧天", "ioi2020_22": "陈立言", "ioi2020_23": "屠学畅", "ioi2020_24": "曾致远", "ioi2020_25": "陈枫", "ioi2020_26": "周镇东", "ioi2020_27": "甄子豪", "ioi2020_28": "房励行", "ioi2020_29": "周书予", "ioi2020_30": "林立", "ioi2020_31": "王展鹏", "ioi2020_32": "孙诺舟", "ioi2020_33": "曹天佑", "ioi2020_34": "陈峻宇", "ioi2020_35": "党星宇", "ioi2020_36": "潘骏跃", "ioi2020_37": "陈孙立", "ioi2020_38": "魏精", "ioi2020_39": "吴清月", "ioi2020_40": "蒋凌宇", "ioi2020_41": "何文阳", "ioi2020_42": "王慧", "ioi2020_43": "袁桢淏", "ioi2020_44": "李白天", "ioi2020_45": "李天晓", "ioi2020_46": "左骏驰", "ioi2020_47": "陈宇", "ioi2020_48": "安博施", "ioi2020_49": "刘肖", "ioi2020_50": "时中", "ioi2020_51": "钱易", "ioi2020_52": "张隽恺", "ioi2020_53": " 林昊翰", "ioi2020_54": "戴江齐", "ioi2020_55": "代晨昕", "ioi2020_56": "黄子宽", "ioi2020_57": "周欣", "ioi2020_58": "邱天异", "ioi2020_59": "丁晓漫", "ioi2020_60": "张博为", "ioi2020_61": "徐哲安", "ioi2020_62": "高麟翔", "ioi2020_63": "徐源", "ioi2020_64": "邓晗", "ioi2020_65": "蒋轩林", "ioi2020_66": "钟雨薇", "ioi2020_67": "顾奕成", "ioi2020_68": " 谌星宇", "ioi2020_69": "陆宏", "ioi2020_70": "刘宇豪"});
        temp = GM_getValue("mapper");
    }

    return temp;
}

function getHashie(who)
{
    var temp = getMapper();

    if(temp[who] == undefined)
    {
        return who;
    }

    return temp[who];
}

function setHashie(who, val)
{
    var temp = getMapper();
    temp[who] = val;
    GM_setValue("mapper", temp);
}

function cleanUp()
{
	var users = document.getElementsByClassName("uoj-username");
    var honor = document.getElementsByClassName("uoj-honor");
    var i;

    for(i = 0; i < users.length; i++)
    {
        users[i].innerHTML = getHashie(users[i].innerHTML);
    }
    for(i = 0; i < honor.length; i++)
    {
        honor[i].innerHTML = getHashie(honor[i].innerHTML);
    }
}

function comfirmHashie()
{
    var who = prompt("输入源 ID");
    if(who === null || who === undefined || who.length <= 0)return;

    var val = prompt("输入对应名字");
    if(val === null || val === undefined || val.length <= 0)
    {
        val = undefined;
    }

    setHashie(who,val);
    cleanUp();
}


var uojContent = document.getElementsByClassName("uoj-content")[0];

var buttonHashie = document.createElement("button");
buttonHashie.style = "background: rgb(212,255,212); border: none;";
buttonHashie.name = "hashieUser";
buttonHashie.id = "hashieUser";
buttonHashie.innerHTML = "添加规则";
buttonHashie.onclick = function(){comfirmHashie();};

uojContent.appendChild(buttonHashie);

cleanUp();