// ==UserScript==
// @name XJTU_Ehall_Fuck
// @namespace http://tampermonkey.net/
// @version 1.1.9
// @description Fuck xjtu_jwc
// @author xjtu_jwc_fucker
// @match http://ehall.xjtu.edu.cn/new/thirdAppIndexShell.html
// @icon none
// @grant none
// @license MIT
// ==/UserScript==
(function () {
"use strict";
setTimeout(() => {
let vec = [];
let t1 = document.createElement("input");
t1.setAttribute("id", "queryKCH");
t1.placeholder = "输入课程号";
let t2 = document.createElement("input");
t2.setAttribute("id", "queryMODE");
t2.setAttribute("style", "min-width:18em;");
t2.placeholder = "输入1或2,1是班级分布,2是课程分布";
let t3 = document.createElement("p");
t3.setAttribute("id", "fenbu");
t3.innerHTML = "人数:最高分:平均分:最低分:优秀:良好:中等:及格:不及格:";
let b = document.createElement("button");
b.innerHTML = "查询分布";
b.addEventListener("click", () => {
let KCH,
JXBID = "fuck",
TJLX,
XNXQDM;
if (document.querySelector("#queryMODE").value === "1") {
TJLX = "01";
} else if (document.querySelector("#queryMODE").value === "2") {
TJLX = "02";
} else {
alert("mode输入不规范");
return;
}
KCH = document.querySelector("#queryKCH").value;
vec.forEach((e) => {
if (e.KCH === KCH) {
JXBID = e.JXBID;
XNXQDM = e.XNXQDM;
}
});
if (JXBID === "fuck") {
alert("课程号输入不规范");
return;
}
if (TJLX === "02") {
JXBID = "*";
}
let tmp = document.getElementById("fenbu");
tmp.innerHTML = "";
let tmp_body =
"JXBID=" +
JXBID +
"&KCH=" +
KCH +
"&TJLX=" +
TJLX +
"&XNXQDM=" +
XNXQDM +
"&*order=+DJDM";
fetch(
"http://ehall.xjtu.edu.cn/jwapp/sys/cjcx/modules/cjcx/jxbcjfbcx.do",
{
headers: {
"User-Agent": navigator.userAgent,
Accept: "application/json, text/javascript, */*; q=0.01",
"Accept-Language": "en-US,en;q=0.5",
"Content-Type": "application/x-www-form-urlencoded; charset=UTF-8",
"X-Requested-With": "XMLHttpRequest",
},
body: tmp_body,
method: "POST",
mode: "cors",
}
).then((r) =>
r
.json()
.then((s) => {
console.log(s);
s = s.datas.jxbcjfbcx.rows;
s.sort((a, b) => (a.DJDM < b.DJDM ? -1 : 1));
s.forEach((fbk) => {
tmp.innerHTML +=
fbk.DJDM_DISPLAY + ":" + (fbk.DJSL || "null") + ";";
});
tmp.innerHTML +="</br>";
console.log(s);
})
.then(
fetch(
"http://ehall.xjtu.edu.cn/jwapp/sys/cjcx/modules/cjcx/jxbcjtjcx.do",
{
headers: {
"User-Agent": navigator.userAgent,
Accept: "application/json, text/javascript, */*; q=0.01",
"Accept-Language": "en-US,en;q=0.5",
"Content-Type":
"application/x-www-form-urlencoded; charset=UTF-8",
"X-Requested-With": "XMLHttpRequest",
},
body: tmp_body,
method: "POST",
mode: "cors",
}
).then((rr) =>
rr
.json()
.then((ss) => {
console.log(ss);
ss = ss.datas.jxbcjtjcx.rows;
ss = ss[0];
console.log(ss);
tmp.innerHTML +=
"最高分:" +
(ss.ZGF || "null") +
";平均分:" +
(ss.PJF || "null") +
";最低分:" +
(ss.ZDF || "null") +
";</br>";
})
.then(
fetch(
"http://ehall.xjtu.edu.cn/jwapp/sys/cjcx/modules/cjcx/jxbxspmcx.do",
{
credentials: "include",
headers: {
"User-Agent": navigator.userAgent,
Accept:
"application/json, text/javascript, */*; q=0.01",
"Accept-Language": "en-US,en;q=0.5",
"Content-Type":
"application/x-www-form-urlencoded; charset=UTF-8",
"X-Requested-With": "XMLHttpRequest",
},
body: tmp_body,
method: "POST",
mode: "cors",
}
).then((r3) =>
r3.json().then((s3) => {
console.log(s3);
s3 = s3.datas.jxbxspmcx.rows;
s3 = s3[0];
tmp.innerHTML +=
"总人数:" +
(s3.ZRS || "null") +
";排名:" +
(s3.PM || "null") +
";";
})
)
)
)
)
);
});
document.body.appendChild(t1);
document.body.appendChild(t2);
document.body.appendChild(b);
document.body.appendChild(t3);
let n = document.createElement("div");
n.style = "background-color: pink;";
document.body.appendChild(n);
n = document.body.lastChild;
n.innerHTML +=
'<h2>欢迎关注<a href="https://space.bilibili.com/488836173">鹿鸣</a>  <a href="https://space.bilibili.com/672353429">贝拉kira</a></h2></br>';
let XH = null;
let XQ = prompt("请输入学期,否则默认为2021-2022-2") || "2021-2022-2";
function getCJ_List() {
fetch(
"http://ehall.xjtu.edu.cn/jwapp/sys/cjcx/modules/cjcx/jddzpjcxcj.do",
{
credentials: "include",
headers: {
"User-Agent": navigator.userAgent,
Accept: "application/json, text/javascript, */*; q=0.01",
"Accept-Language": "en-US,en;q=0.5",
"Content-Type": "application/x-www-form-urlencoded; charset=UTF-8",
"X-Requested-With": "XMLHttpRequest",
},
body:
"querySetting=%5B%7B%22name%22%3A%22XNXQDM%22%2C%22value%22%3A%22" +
XQ +
"%22%2C%22linkOpt%22%3A%22and%22%2C%22builder%22%3A%22m_value_equal%22%7D%2C%7B%22name%22%3A%22XH%22%2C%22value%22%3A%22" +
XH +
"%22%2C%22linkOpt%22%3A%22and%22%2C%22builder%22%3A%22m_value_equal%22%7D%2C%7B%22name%22%3A%22SFYX%22%2C%22caption%22%3A%22%E6%98%AF%E5%90%A6%E6%9C%89%E6%95%88%22%2C%22linkOpt%22%3A%22AND%22%2C%22builderList%22%3A%22cbl_m_List%22%2C%22builder%22%3A%22m_value_equal%22%2C%22value%22%3A%221%22%2C%22value_display%22%3A%22%E6%98%AF%22%7D%5D&*order=KCH%2CKXH&pageSize=100&pageNumber=1",
method: "POST",
mode: "cors",
}
).then((r) =>
r.json().then((r) => {
console.log(r);
let d = r.datas.jddzpjcxcj.rows;
d.forEach((e) => {
n.innerHTML +=
"<p>" +
"课程:" +
e.KCM +
"; 课程号:" +
e.KCH +
"; 加权成绩:" +
(e.ZCJ || "null") +
"; 绩点:" +
e.XFJD +
"; 期中成绩:" +
(e.QZCJ || "null") +
"; 期末成绩:" +
(e.QMCJ || "null") +
"; 平时成绩:" +
(e.PSCJ || "null") +
"; 过程考核1:" +
(e.QTCJ1 || "null") +
"; 过程考核2:" +
(e.QTCJ2 || "null") +
"; 过程考核3:" +
(e.QTCJ3 || "null") +
"; 过程考核4:" +
(e.QTCJ4 || "null") +
"; 过程考核5:" +
(e.QTCJ5 || "null") +
"; 过程考核6:" +
(e.QTCJ6 || "null") +
"; 过程考核7:" +
(e.QTCJ7 || "null") +
"; 过程考核8:" +
(e.QTCJ8 || "null") +
"; 过程考核9:" +
(e.QTCJ9 || "null") +
"; 过程考核10:" +
(e.QTCJ10 || "null") +
"</p>" +
"<br/>";
vec.push({
KCH: e.KCH,
XNXQDM: e.XNXQDM,
JXBID: e.JXBID,
});
});
})
);
}
let waitTime = 0;
let waitID = setInterval(() => {
if (localStorage.ampUserId && localStorage.ampUserId.length === 10) {
XH = localStorage.ampUserId;
} else if (waitTime > 2200) {
XH = prompt("请输入学号:");
}
if (XH) {
getCJ_List();
clearInterval(waitID);
}
waitTime += 200;
}, 200);
}, 6000);
})();