Greasy Fork is available in English.

Привет,Друг!

кто знает,кто знает.

Fra og med 18.04.2021. Se Den nyeste version.

// ==UserScript==
// @name         Привет,Друг!
// @namespace    Devour
// @version      __(oДo)~`
// @description  кто знает,кто знает.
// @author       Devour
// @match        https://edusys.wvpn.hrbeu.edu.cn/jsxsd/kscj/cjcx_list
// @match        http://edusys.hrbeu.edu.cn/jsxsd/kscj/cjcx_list
// @grant        none
// @require      https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js
// ==/UserScript==
(function () {
    'use strict';
    var GradeList = document.getElementById("dataList");
    var GradeAvg = 0, CourseGradeSum = 0, CreditSum = 0;
    var GeneralEducationCredit = 0, PCCategory_1 = 0, PCCategory_2 = 0, PCCategory_3 = 0, PCCategory_4 = 0;
    var PC_A_Credit = 0, PC_B_Credit = 0, PC_C_Credit = 0, PC_D_Credit = 0, PC_E_Credit = 0;
    var PC_F_Credit = 0, PC_G_Credit = 0;
    var ElectiveCourseCredit = 0;
    var Correction = 0;

    function PC_Credit_Calc(CourseType, Credit) {
        switch (CourseType) {
            case "中外历史与文化": PC_A_Credit += Credit; break;
            case "语言与文学": PC_B_Credit += Credit; break;
            case "哲学人生与社会科学": PC_C_Credit += Credit; break;
            case "艺术修养与审美": PC_D_Credit += Credit; break;
            case "自然科学与人类文明": PC_E_Credit += Credit; break;
            case "国防文化与船海史话": PC_F_Credit += Credit; break;
            case "中华传统文化": PC_G_Credit += Credit; break;
            case "新生研讨类": PCCategory_2 += Credit; break;
            case "专业拓展类": PCCategory_3 += Credit; break;
            case "创新创业类": PCCategory_4 += Credit; break;
        }
    }
    if (GradeList.rows.length > 1 && GradeList.rows[1].cells[0].innerHTML != "未查询到数据") {
        for (var i = 1; i < GradeList.rows.length; i++) {
            var Course = GradeList.rows[i];
            var Grade, Credit;
            if (Course.cells[4].getElementsByTagName("a")[0] == undefined) Grade = Course.cells[4].innerHTML;
            else Grade = Course.cells[4].getElementsByTagName("a")[0].innerHTML;
            Credit = parseFloat(Course.cells[5].innerHTML);

            if (Grade == "---" || Course.cells[8].innerHTML == "自主考试") {
                continue;
            }

            if (Course.cells[9].innerHTML == "公选" && Grade != "不及格") {
                PC_Credit_Calc(Course.cells[10].innerHTML, Credit);
            }

            if (Course.cells[9].innerHTML != "必修" && Grade != "不及格" && Course.cells[9].innerHTML != "公选") {
                ElectiveCourseCredit += Credit;
            }

            if (Course.cells[9].innerHTML != "必修" && Grade == "不及格") {
                continue;
            }

            if (Course.cells[8].innerText == "补考") {
                continue;
            }

            switch (Grade) {
                case "优秀": Grade = 95; break;
                case "良好": Grade = 85; break;
                case "中等": Grade = 75; break;
                case "及格": Grade = 65; break;
                case "不及格": Grade = 30; break;
            }

            if (Grade < 60) {
                Correction = -0.3;
            }

            CourseGradeSum += Grade * Credit;
            CreditSum += Credit;
        }
        PCCategory_1 = PC_A_Credit + PC_B_Credit + PC_C_Credit + PC_D_Credit + PC_E_Credit + PC_F_Credit + PC_G_Credit;
        GeneralEducationCredit = PCCategory_1 + PCCategory_2 + PCCategory_3 + PCCategory_4;
        GradeAvg = CourseGradeSum / CreditSum + Correction;
        GradeAvg = GradeAvg.toFixed(2);
    }

    var divOB = "<div id='StudentInfo' ";
    divOB += "style='left: 10px;";
    divOB += "bottom: 10px;";
    divOB += "background: #00CCFF;";
    divOB += "overflow: hidden;";
    divOB += "z-index: 9999;";
    divOB += "position: fixed;";
    divOB += "padding:5px;";
    divOB += "text-align:center;";
    divOB += "width: 300px;";
    divOB += "height: 360px;";
    divOB += "border-bottom-left-radius: 4px;";
    divOB += "border-bottom-right-radius: 4px;";
    divOB += "border-top-left-radius: 4px;";
    divOB += "border-top-right-radius: 4px;";
    divOB += "'> </div>";

    $("body").append(divOB);
    var Graph = document.getElementById("StudentInfo");

    var Name_Id = document.createElement("p");
    Name_Id.innerHTML = document.getElementById("Top1_divLoginName").innerHTML;
    Name_Id.style.fontSize = "150%";
    Graph.appendChild(Name_Id);

    var Grade_Avg = document.createElement("p");
    Grade_Avg.innerHTML = "平均分:<strong style='color:red'>" + GradeAvg.toString() + "</strong>";
    Grade_Avg.style.fontSize = "150%";
    Graph.appendChild(Grade_Avg);

    var ECC = document.createElement("p");
    ECC.innerHTML = "专业选修课已修:" + ElectiveCourseCredit.toString() + "分";
    ECC.style.fontSize = "150%";
    Graph.appendChild(ECC);

    var GEC = document.createElement("p");
    GEC.innerHTML = "通识教育选修课程已修:" + GeneralEducationCredit.toString() + "分<br>其中:";
    GEC.style.fontSize = "150%";
    Graph.appendChild(GEC);

    var GEC_D = document.createElement("p");
    GEC_D.innerHTML += "新生研讨类已修:" + PCCategory_2.toString() + "分";
    GEC_D.innerHTML += "<br>专业拓展类已修:" + PCCategory_3.toString() + "分";
    GEC_D.innerHTML += "<br>创新创业类已修:" + PCCategory_4.toString() + "分";
    GEC_D.innerHTML += "<br>文化素质教育类已修:" + PCCategory_1.toString() + "分<br>其中:";
    GEC_D.style.fontSize = "120%";
    Graph.appendChild(GEC_D);

    var GEC_D_A = document.createElement("ol");
    GEC_D_A.innerHTML += "<li>中外文明与历史:" + PC_A_Credit.toString() + "分</li>";
    GEC_D_A.innerHTML += "<li>语言与文学:" + PC_B_Credit.toString() + "分</li>";
    GEC_D_A.innerHTML += "<li>哲学人生与社会科学:" + PC_C_Credit.toString() + "分</li>";
    GEC_D_A.innerHTML += "<li>艺术修养与审美:" + PC_D_Credit.toString() + "分</li>";
    GEC_D_A.innerHTML += "<li>自然科学与人类文明:" + PC_E_Credit.toString() + "分</li>";
    GEC_D_A.innerHTML += "<li>国防文化与船海史话:" + PC_F_Credit.toString() + "分</li>";
    GEC_D_A.innerHTML += "<li>中华优秀传统文化:" + PC_G_Credit.toString() + "分</li>";
    GEC_D_A.style.fontSize = "100";
    Graph.appendChild(GEC_D_A);
})();