您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
f*ck mooc homework and AutoRate Course
- // ==UserScript==
- // @name One_Key_MOOC_HOMEWORK
- // @version 1.0.04
- // @match *://www.icourse163.org/learn/*
- // @match *://www.icourse163.org/spoc/learn/*
- // @author caigoul & Caiji-bai
- // @grant MIT
- // @description f*ck mooc homework and AutoRate Course
- // @namespace https://gf.qytechs.cn/users/301293
- // ==/UserScript==
- console.log(
- `
- ██████ ██░ ██ ▒█████ █ █░ ███▄ ▄███▓▓█████
- ▒██ ▒ ▓██░ ██▒▒██▒ ██▒▓█░ █ ░█░▓██▒▀█▀ ██▒▓█ ▀
- ░ ▓██▄ ▒██▀▀██░▒██░ ██▒▒█░ █ ░█ ▓██ ▓██░▒███
- ▒ ██▒░▓█ ░██ ▒██ ██░░█░ █ ░█ ▒██ ▒██ ▒▓█ ▄
- ▒██████▒▒░▓█▒░██▓░ ████▓▒░░░██▒██▓ ▒██▒ ░██▒░▒████▒
- ▒ ▒▓▒ ▒ ░ ▒ ░░▒░▒░ ▒░▒░▒░ ░ ▓░▒ ▒ ░ ▒░ ░ ░░░ ▒░ ░
- ░ ░▒ ░ ░ ▒ ░▒░ ░ ░ ▒ ▒░ ▒ ░ ░ ░ ░ ░ ░ ░ ░
- ░ ░ ░ ░ ░░ ░░ ░ ░ ▒ ░ ░ ░ ░ ░
- ░ ░ ░ ░ ░ ░ ░ ░ ░ ░
- ▄▄▄█████▓ ██░ ██ ▓█████ ▄▄▄ ███▄ █ ██████ █ █░▓█████ ██▀███
- ▓ ██▒ ▓▒▓██░ ██▒▓█ ▀▒████▄ ██ ▀█ █ ▒██ ▒ ▓█░ █ ░█░▓█ ▀ ▓██ ▒ ██▒
- ▒ ▓██░ ▒░▒██▀▀██░▒███ ▒██ ▀█▄ ▓██ ▀█ ██▒░ ▓██▄ ▒█░ █ ░█ ▒███ ▓██ ░▄█ ▒
- ░ ▓██▓ ░ ░▓█ ░██ ▒▓█ ▄░██▄▄▄▄██ ▓██▒ ▐▌██▒ ▒ ██▒░█░ █ ░█ ▒▓█ ▄ ▒██▀▀█▄
- ▒██▒ ░ ░▓█▒░██▓░▒████▒▓█ ▓██▒▒██░ ▓██░▒██████▒▒░░██▒██▓ ░▒████▒░██▓ ▒██▒
- ▒ ░░ ▒ ░░▒░▒░░ ▒░ ░▒▒ ▓▒█░░ ▒░ ▒ ▒ ▒ ▒▓▒ ▒ ░░ ▓░▒ ▒ ░░ ▒░ ░░ ▒▓ ░▒▓░
- ░ ▒ ░▒░ ░ ░ ░ ░ ▒ ▒▒ ░░ ░░ ░ ▒░░ ░▒ ░ ░ ▒ ░ ░ ░ ░ ░ ░▒ ░ ▒░
- ░ ░ ░░ ░ ░ ░ ▒ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░░ ░
- ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░
- ┌─┐ ┌─┐┬┌┬┐┌─┐┬ ┌─┐ ╦┌─┐┬ ┬┌─┐┌─┐┌─┐┬─┐┬┌─┐┌┬┐ ┌┬┐┌─┐┌┬┐┌─┐
- ├─┤ └─┐││││├─┘│ ├┤ ║├─┤└┐┌┘├─┤└─┐│ ├┬┘│├─┘ │ ││├┤ ││││ │
- ┴ ┴ └─┘┴┴ ┴┴ ┴─┘└─┘ ╚╝┴ ┴ └┘ ┴ ┴└─┘└─┘┴└─┴┴ ┴ ─┴┘└─┘┴ ┴└─┘
- _________________________________________________________________
- author: caigoul & Caiji-bai
- HAVE FUN!
- `
- );
- (function() {
- function F_ck_One_HomeWork() {
- var s = document.getElementsByClassName("s");
- for (var i = 0; i < s.length; i++) {
- let choice = s[i].children[s[i].children.length - 1].control;
- choice.checked = true;
- }
- var cs = document.getElementsByClassName("j-textarea inputtxt");
- for (let i = 1; i < cs.length; i++) cs[i].value = "Good Job";
- // window.setTimeout(() => {
- document
- .getElementsByClassName("u-btn u-btn-default f-fl j-submitbtn")[0]
- .click();
- // window.setTimeout(() => {
- document.getElementsByClassName("j-gotonext")[0].click();
- // }, 1024);
- // }, 1024);
- }
- // 批改作业.jpg
- if (window.location.hash.indexOf("#/learn/hw?id=") != -1) {
- var button = document.createElement("button");
- button.innerHTML = "F*CK ONE HOMEWORK";
- button.className = "u-btn u-btn-default f-fl";
- button.style.position = "fixed";
- button.style.top = "200px";
- button.style.left = "0px";
- button.style.zIndex = "50";
- var body = document.getElementsByTagName("body")[0];
- body.appendChild(button);
- button.onclick = function() {
- let count = 6;
- get_aid();
- var start = window.setInterval(() => {
- F_ck_One_HomeWork();
- count--;
- if (count == 0) window.clearInterval(start);
- }, 2000);
- };
- }
- // show_me_the_answer
- body = document.getElementsByTagName("body")[0];
- var button2 = document.createElement("button");
- button2.innerHTML = "SHOW_ME_THE_ANSWER";
- button2.className = "u-btn u-btn-default f-fl";
- button2.style.position = "fixed";
- button2.style.top = "250px";
- button2.style.left = "0px";
- button2.style.zIndex = "50";
- body.appendChild(button2);
- button2.onclick = function() {
- parse_answer(answers => {
- create_Window(answers);
- if (location.hash.indexOf("learn/hw?id=") != -1) {
- show_answer_in_homework(answers);
- }
- if (location.hash.indexOf("learn/quiz?id=") != -1) {
- show_answer_in_quiz(answers);
- }
- if (location.hash.indexOf("learn/examObject?eid=") != -1) {
- show_answer_in_quiz(answers);
- }
- if (location.hash.indexOf("learn/examSubjective?eid=") != -1) {
- show_answer_in_homework(answers);
- }
- });
- };
- var get_aid = function(callback = alert) {
- var id;
- var method;
- var isEid = false;
- if ((id = window.location.href.match(/hw\?id=(.*)/))) {
- id = id[1];
- method = "getHomeworkInfo";
- } else if ((id = window.location.href.match(/quiz\?id=(.*)/))) {
- id = id[1];
- method = "getQuizInfo";
- } else if ((id = window.location.href.match(/eid=(.*)\&id=(.*)/))) {
- id = id[2];
- method = "getQuizInfo";
- isEid = true;
- }
- let msg = `callCount=1
- scriptSessionId=\$\{scriptSessionId\}190
- c0-scriptName=MocQuizBean
- c0-methodName=${method}
- c0-id=0
- c0-param0=string:${id}
- c0-param1=null:null
- c0-param2=boolean:false
- batchId=1553856368973`;
- let request = new XMLHttpRequest();
- request.open(
- "POST",
- "https://www.icourse163.org/dwr/call/plaincall/MocQuizBean.getHomeworkInfo.dwr"
- );
- request.setRequestHeader("Content-Type", "text/plain");
- request.onreadystatechange = function() {
- if (request.readyState === 4) {
- let aid = request.responseText.match(/aid:(.*?),/);
- if (!aid) {
- method = method == "getQuizInfo" ? "getHomeworkInfo" : "getQuizInfo";
- msg = `callCount=1
- scriptSessionId=\$\{scriptSessionId\}190
- c0-scriptName=MocQuizBean
- c0-methodName=${method}
- c0-id=0
- c0-param0=string:${id}
- c0-param1=null:null
- c0-param2=boolean:false
- batchId=1553856368973`;
- request.open(
- "POST",
- "https://www.icourse163.org/dwr/call/plaincall/MocQuizBean.getHomeworkInfo.dwr"
- );
- request.send(msg);
- } else {
- callback(aid[1], id, isEid);
- }
- }
- };
- request.send(msg);
- };
- var get_answer = function(callback = alert) {
- get_aid((aid, id, isEid) => {
- let url = isEid
- ? "https://www.icourse163.org/dwr/call/plaincall/MocQuizBean.getQuizPaperDto.dwr"
- : "https://www.icourse163.org/dwr/call/plaincall/MocQuizBean.getHomeworkPaperDto.dwr";
- let msg = `callCount=1
- scriptSessionId=\$\{scriptSessionId\}190
- c0-scriptName=MocQuizBean
- c0-methodName=getHomeworkPaperDto
- c0-id=0
- c0-param0=number:${id}
- c0-param1=number:${aid}
- c0-param2=boolean:true
- c0-param3=number:
- c0-param4=number:
- batchId=${aid}`;
- let request = new XMLHttpRequest();
- request.open("POST", url);
- request.setRequestHeader("Content-Type", "text/plain");
- request.onreadystatechange = function() {
- if (request.readyState === 4) {
- callback(request.responseText);
- }
- };
- request.send(msg);
- });
- };
- var parse_answer = function(callback) {
- get_answer(function(answer) {
- let answers = answer
- .match(
- /(?:title="(.*?)";)|(?:answer=(true|false);s.*?content="(.*?)";)|(?:maxScore=.*?;s.*?msg="(.*?)";)|(?:stdAnswer="(.*?)";)/gm
- )
- .join("\n");
- while (answers.indexOf('\\"') !== -1)
- answers = answers.replace('\\"', "");
- answers = unescape(answers.replace(/\\u/g, "%u"));
- callback(answers);
- });
- };
- var show_answer_in_homework = function(answers) {
- var answersarr = [];
- var titles = [];
- answers.split('title="').forEach(item => {
- const msg = item.split(/maxScore=\d*;s\d*.msg="/);
- // console.log(msg);
- titles.push(msg.shift());
- answersarr.push(msg);
- });
- titles.shift();
- answersarr.shift();
- var questions = document.getElementsByClassName(
- "f-richEditorText j-richTxt f-fl"
- );
- for (let i = 0; i < questions.length; i++) {
- var answer = answersarr[i].join();
- answer = answer.replace(/";/g, "");
- questions[i].innerHTML = titles[i].replace(/";/g, "");
- questions[i].innerHTML += "<hr>";
- questions[i].innerHTML +=
- "<h1 style=\"color:red;font-family:'楷体'\">答案:</h1>";
- questions[i].innerHTML += answer;
- questions[i].innerHTML += "<hr>";
- }
- };
- var show_answer_in_quiz = function(answers) {
- var tmp = answers.split('title="');
- var answersarr = [];
- var questions = document.getElementsByClassName(
- "f-richEditorText j-richTxt"
- );
- tmp.shift();
- for (let i = 0; i < tmp.length; i++) {
- var match_answers = tmp[i].match(/answer=true;s\d+\.content="(.*?)"/g);
- if (match_answers) {
- answersarr[i] = ''
- match_answers.forEach(item => {
- var answer = item.match(/answer=true;s\d+\.content="(.*?)"/)
- answersarr[i] += answer[1];
- })
- }
- match_answers = tmp[i].match(/stdAnswer="(.*?)"/);
- if (match_answers) {
- answersarr[i + 1] = match_answers[1].replace(/##%_YZPRLFH_%##/g, '或');
- }
- }
- for (let i = 0; i < questions.length; i++) {
- questions[i].innerHTML += "<hr>";
- questions[i].innerHTML +=
- "<h1 style=\"color:red;font-family:'楷体'\">答案:</h1>";
- questions[i].innerHTML += answersarr[i];
- questions[i].innerHTML += "<hr>";
- }
- };
- // 显示答案.jpg
- var create_Window = function(answers) {
- var id = document.getElementById("windows");
- if (id) {
- return;
- }
- var win = document.createElement("div");
- var button3 = document.createElement("button");
- win.setAttribute("id", "windows");
- win.style.background = "#fff";
- win.style.width = "max-content";
- win.style.maxWidth = "800px";
- win.style.height = "700px";
- win.style.position = "fixed";
- win.style.right = "30px";
- win.style.top = "200px";
- win.style.boxShadow = "0px 0px 10px #848484";
- win.style.padding = "40px 40px";
- win.style.overflow = "auto";
- win.style.zIndex = "100";
- win.innerHTML = answers;
- document.getElementsByTagName("body")[0].appendChild(win);
- win.appendChild(button3);
- button3.innerHTML = "close ";
- button3.className = "u-btn u-btn-default f-fl";
- button3.style.position = "fixed";
- button3.style.top = "300px";
- button3.style.left = "0px";
- button3.style.zIndex = "50";
- button3.onclick = function() {
- body.removeChild(win);
- };
- _drag(win);
- };
- var _drag = function(el) {
- var x = 0;
- var y = 0;
- var l = 0;
- var t = 0;
- var isDown = false;
- //鼠标按下事件
- el.onmousedown = function(e) {
- //获取x坐标和y坐标
- x = e.clientX;
- y = e.clientY;
- //获取左部和顶部的偏移量
- l = el.offsetLeft;
- t = el.offsetTop;
- //开关打开
- isDown = true;
- //设置样式
- el.style.cursor = "move";
- };
- //鼠标移动
- window.onmousemove = function(e) {
- if (isDown == false) {
- return;
- }
- //获取x和y
- var nx = e.clientX;
- var ny = e.clientY;
- //计算移动后的左偏移量和顶部的偏移量
- var nl = nx - (x - l);
- var nt = ny - (y - t);
- el.style.left = nl + "px";
- el.style.top = nt + "px";
- };
- //鼠标抬起事件
- el.onmouseup = function() {
- //开关关闭
- isDown = false;
- el.style.cursor = "default";
- };
- };
- })();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址