// ==UserScript==
// @name 宏城学起PLus 作业/考试-最新版(千万题库)- 秒出答案
// @namespace http://tampermonkey.net/
// @version 1.0
// @description 【注意】如果第一次答题答案不全,可以先查看一遍答案重新答案即可。本脚本包含自动搜集答案功能,请在作业或者考试的时候自觉点击查看答案,方便您下次遇到同样科目便能自动补全答案。若没选的即视为未匹配到正确答案。问题反馈QQ:1012507575
// @author QQ:1012507575
// @match https://*.chinaedu.net/oxer/page/ots/exam*
// @match https://*.ls365.net/User/Student/myhomework.aspx*
// @match https://exam.chinaedu.net/oxer/page/ots/OTS*
// @match https://*.ls365.net/User/Student/myhomework_after.aspx*
// @match https://examali.chinaedu.net/oxer/page/ots/OTS-UniverDetail.html?AnswerId=*
// @resource layer http://cdn.bootcdn.net/ajax/libs/layer/3.1.1/theme/default/layer.css
// @require https://cdn.staticfile.org/jquery/1.8.3/jquery.min.js
// @require https://cdn.bootcdn.net/ajax/libs/layer/3.1.1/layer.js
// @grant GM_xmlhttpRequest
// @grant GM_addStyle
// @grant GM_getValue
// @grant GM_setValue
// @grant GM_getResourceText
// @grant GM_getResourceURL
// @grant unsafeWindow
// @connect *
// @downloadURL none
// ==/UserScript==
GM_addStyle(GM_getResourceText('layer'));
GM_addStyle(".site-dir{display:none;}.site-dir li{line-height:26px;overflow:visible;list-style-type:disc;}.site-dir li a{display:block;text-decoration:none}.site-dir li a:active{color:#01AAED;}.site-dir li a.layui-this{color:#01AAED;}body .layui-layer-dir{box-shadow:none;border:1px solid #d2d2d2;}body .layui-layer-dir .layui-layer-content{padding:10px;}.site-dir a em{padding-left:5px;font-size:12px;color:#c2c2c2;font-style:normal;}");
GM_addStyle(".layui-layer-ico16,.layui-layer-loading.layui-layer-loading2{width:32px;height:32px;background:url(https://cdn.bootcdn.net/ajax/libs/layer/3.1.1/theme/default/loading-2.gif)no-repeat;}.layui-layer-ico{background: url(https://cdn.bootcdn.net/ajax/libs/layer/3.1.1/theme/default/icon.png) no-repeat;}");
(function() {
'use strict';
//TOKEN填入此处
var TOKEN = localStorage.getItem("kktoken")
var selfUrl = window.location.href;
console.log(selfUrl)
var tk = "";
if(TOKEN){tk=TOKEN}
var contentHtml = '
'
+'
'
+' '
+' '
+' '
+' '
+''
+' '
+' '
+' 序号 | '
+' 标题 | '
+' 答案 | '
+'
'
+''
+''
+' '
+'
'
+'
';
var mymain = $(".mymain")
if(!mymain){
layer.open({
type: 1,
title:'快考 - 学起PLus/作业/期末',
skin: 'layui-layer-rim', //加上边框
shade: false,
area: ['420px', '650px'], //宽高
closeBtn: 0,
content: contentHtml
});
}
setTimeout(function(){
if(!mymain){return}
var mark_Singles = $(".singItem")
for(var i=0;i=0){
n=1;
}
if(ans.indexOf("C")>=0){
n=2;
}
if(ans.indexOf("D")>=0){
n=3;
}
if(ans.indexOf("E")>=0){
n=4;
}
if(ans.indexOf("F")>=0){
n=5;
}
var ay = $(mark_Singles[i]).find("dd").eq(n).find("var").eq(0)
//$(ay).find("span").eq(0).remove()
var anser = $(ay).text().replace(". ","");
if(anser==""){
ay = $(mark_Singles[i]).find(".options-c").eq(n).find("span").eq(2)
anser = $(ay).text().replace(". ","");
}
var title = $(mark_Singles[i]).find(".fl").eq(1).text().replace(/\s+/g,'')
if(title==""||title=="答案"){
$(mark_Singles[i]).find(".titleArea").find("p").find("span").remove()
title = $(mark_Singles[i]).find(".titleArea").find("p").eq(0).text().replace(/\s+/g,'')
}
if($(mark_Singles[i]).find(".fl").eq(1).find("img").length>0){
title += $(mark_Singles[i]).find(".fl").eq(1).find("img").attr("src")
}
if(anser==""){
anser += $(mark_Singles[i]).find("dd").eq(n).find("img").attr("src")
}
console.log(title,anser)
localStorage.setItem(title,anser);
ajax(title,anser);
}
mark_Singles = $(".mark_Single")
for(var i=0;i=0){
n=1;
}
if(ans.indexOf("C")>=0){
n=2;
}
if(ans.indexOf("D")>=0){
n=3;
}
if(ans.indexOf("E")>=0){
n=4;
}
if(ans.indexOf("F")>=0){
n=5;
}
var ay = $(mark_Singles[i]).find("dd").eq(n).find("var").eq(0)
//$(ay).find("span").eq(0).remove()
var anser = $(ay).text().replace(". ","");
if(anser==""){
ay = $(mark_Singles[i]).find(".options-c").eq(n).find("span").eq(2)
anser = $(ay).text().replace(". ","");
}
var title = $(mark_Singles[i]).find(".fl").eq(1).text().replace(/\s+/g,'')
if(title==""||title=="答案"){
$(mark_Singles[i]).find(".titleArea").find("p").find("span").remove()
title = $(mark_Singles[i]).find(".titleArea").find("p").eq(0).text().replace(/\s+/g,'')
}
if($(mark_Singles[i]).find(".din").eq(1).find("img").length>0){
title += $(mark_Singles[i]).find(".din").eq(1).find("img").attr("src")
}
if(anser==""){
anser += $(mark_Singles[i]).find("dd").eq(n).find("img").attr("src")
}
console.log(title,anser)
localStorage.setItem(title,anser);
ajax(title,anser);
}
mark_Singles = $(".mark_subSingle")
for(var i=0;i=0){
n=1;
}
if(ans.indexOf("C")>=0){
n=2;
}
if(ans.indexOf("D")>=0){
n=3;
}
if(ans.indexOf("E")>=0){
n=4;
}
if(ans.indexOf("F")>=0){
n=5;
}
var ay = $(mark_Singles[i]).find("dd").eq(n).find("var").eq(0)
//$(ay).find("span").eq(0).remove()
var anser = $(ay).text().replace(". ","");
if(anser==""){
ay = $(mark_Singles[i]).find(".options-c").eq(n).find("span").eq(2)
anser = $(ay).text().replace(". ","");
}
var title = $(mark_Singles[i]).find(".fl").eq(1).text().replace(/\s+/g,'')
if(title==""||title=="答案"){
$(mark_Singles[i]).find(".titleArea").find("p").find("span").remove()
title = $(mark_Singles[i]).find(".titleArea").find("p").eq(0).text().replace(/\s+/g,'')
}
if($(mark_Singles[i]).find(".din").eq(1).find("img").length>0){
title += $(mark_Singles[i]).find(".din").eq(1).find("img").attr("src")
}
if(anser==""){
anser += $(mark_Singles[i]).find("dd").eq(n).find("img").attr("src")
}
console.log(title,anser)
localStorage.setItem(title,anser);
ajax(title,anser);
}
var mark_Mutils = $(".examMutli")
if(mark_Mutils.length==0){
mark_Mutils = $(".mark_Mutil")
}
for(var i=0;i=0){
n=0;
var ay = $(mark_Mutils[i]).find("dd").eq(n).find("var").eq(0)
var ansStr1 = $(ay).text().replace(". ","")
if(ansStr1==""){
ay = $(mark_Mutils[i]).find(".options-c").eq(n).find("span").eq(2)
ansStr1 = $(ay).text().replace(". ","");
}
ansStr+= ansStr1+"#";
}
if(ans.indexOf("B")>=0){
n=1;
var ay = $(mark_Mutils[i]).find("dd").eq(n).find("var").eq(0)
var ansStr1 = $(ay).text().replace(". ","")
if(ansStr1==""){
ay = $(mark_Mutils[i]).find(".options-c").eq(n).find("span").eq(2)
ansStr1 = $(ay).text().replace(". ","");
}
ansStr+= ansStr1+"#";
}
if(ans.indexOf("C")>=0){
n=2;
var ay = $(mark_Mutils[i]).find("dd").eq(n).find("var").eq(0)
var ansStr1 = $(ay).text().replace(". ","")
if(ansStr1==""){
ay = $(mark_Mutils[i]).find(".options-c").eq(n).find("span").eq(2)
ansStr1 = $(ay).text().replace(". ","");
}
ansStr+= ansStr1+"#";
}
if(ans.indexOf("D")>=0){
n=3;
var ay = $(mark_Mutils[i]).find("dd").eq(n).find("var").eq(0)
var ansStr1 = $(ay).text().replace(". ","")
if(ansStr1==""){
ay = $(mark_Mutils[i]).find(".options-c").eq(n).find("span").eq(2)
ansStr1 = $(ay).text().replace(". ","");
}
ansStr+= ansStr1+"#";
}
if(ans.indexOf("E")>=0){
n=4;
var ay = $(mark_Mutils[i]).find("dd").eq(n).find("var").eq(0)
var ansStr1 = $(ay).text().replace(". ","")
if(ansStr1==""){
ay = $(mark_Mutils[i]).find(".options-c").eq(n).find("span").eq(2)
ansStr1 = $(ay).text().replace(". ","");
}
ansStr+= ansStr1+"#";
}
if(ans.indexOf("F")>=0){
n=5;
var ay = $(mark_Mutils[i]).find("dd").eq(n).find("var").eq(0)
var ansStr1 = $(ay).text().replace(". ","")
if(ansStr1==""){
ay = $(mark_Mutils[i]).find(".options-c").eq(n).find("span").eq(2)
ansStr1 = $(ay).text().replace(". ","");
}
ansStr+= ansStr1+"#";
}
if(ans.indexOf("G")>=0){
n=6;
var ay = $(mark_Mutils[i]).find("dd").eq(n).find("var").eq(0)
var ansStr1 = $(ay).text().replace(". ","")
if(ansStr1==""){
ay = $(mark_Mutils[i]).find(".options-c").eq(n).find("span").eq(2)
ansStr1 = $(ay).text().replace(". ","");
}
ansStr+= ansStr1+"#";
}
var title = $(mark_Mutils[i]).find(".fl").eq(1).text().replace(/\s+/g,'')
if(title==""||title=="答案"){
$(mark_Mutils[i]).find(".titleArea").find("p").find("span").remove()
title = $(mark_Mutils[i]).find(".titleArea").find("p").eq(0).text().replace(/\s+/g,'')
}
ansStr = ansStr.substring(0,ansStr.length-1).replace(/\s+/g,'')
console.log(title,ansStr)
localStorage.setItem(title,ansStr);
ajax(title,ansStr);
}
var mark_Judges = $(".examJudge")
if(mark_Judges.length==0){
mark_Judges = $(".mark_Judge")
}
if(mark_Judges.length==0){
mark_Judges = $(".examJudgeMis")
}
for(var i=0;i0){
title += $(mark_Judges[i]).find(".fl").eq(1).find("img").attr("src")
}
console.log(title,anser)
localStorage.setItem(title,anser);
ajax(title,anser);
}
var examBanks = $(".examBank")
for(var i=0;i0){
title += $(examEssays[i]).find(".din").eq(1).find("img").attr("src")
}
GM_xmlhttpRequest({
method : "GET",
//请求的媒体类型
//contentType: "application/json;charset=UTF-8",
//请求地址
url : "http://116.62.157.163:8080/question/get?title="+title+"&token="+TOKEN,
//数据,json字符串
datatype: "json",
synchronous: true,
//请求成功
headers: {
"Content-type": "application/json;charset=UTF-8"
},
onload: result=> {
result = JSON.parse(result.response)
console.log(result);
if(result.code==0){
var ans = result.data.answer
if(ans==""||ans==null){
// $(dds[0]).find("input").click();
//$(examJudges[i]).find(".judgecorrect").eq(0).click();
}else{
$(examEssays[i]).find("iframe").contents().find("body").html(ans)
}
}
var as = "";
$("#times").text(result.data.num)
if(result.code!=0){as = ''+result.msg+''}else{as=''+result.data.answer+''}
var answerHtml = ' '
+' '+(Number(i)+1)+' | '
+' '+titleHtml+' | '
+' '+as+' | '
+'
';
$("#answerMain").append(answerHtml)
},
//请求失败,包含具体的错误信息
error : function(e){
console.log(e.status);
console.log(e.responseText);
}
});
}
async function examBanks(examBanks,i){
var title = $(examBanks[i]).find(".din").eq(1).text().replace(/\s+/g,'').replaceAll("_","")
var titleHtml = $(examBanks[i]).find(".din").eq(1).html()
if($(examBanks[i]).find(".din").eq(1).find("img").length>0){
title += $(examBanks[i]).find(".din").eq(1).find("img").attr("src")
}
GM_xmlhttpRequest({
method : "GET",
//请求的媒体类型
//contentType: "application/json;charset=UTF-8",
//请求地址
url : "http://116.62.157.163:8080/question/get?title="+title+"&token="+TOKEN,
//数据,json字符串
datatype: "json",
synchronous: true,
//请求成功
headers: {
"Content-type": "application/json;charset=UTF-8"
},
onload: result=> {
result = JSON.parse(result.response)
console.log(result);
if(result.code==0){
var ans = result.data.answer
if(ans==""||ans==null){
// $(dds[0]).find("input").click();
//$(examJudges[i]).find(".judgecorrect").eq(0).click();
}else{
var as = ans.split("#")
var bankContents = $(examBanks[i]).find(".bankContent")
for(var z=0;z'+result.msg+''}else{as=''+result.data.answer+''}
var answerHtml = ' '
+' '+(Number(i)+1)+' | '
+' '+titleHtml+' | '
+' '+as+' | '
+'
';
$("#answerMain").append(answerHtml)
},
//请求失败,包含具体的错误信息
error : function(e){
console.log(e.status);
console.log(e.responseText);
}
});
}
async function examJudges2(examJudges,i){
var title = $(examJudges[i]).find(".din").eq(1).text().replace(/\s+/g,'');
var titleHtml = $(examJudges[i]).find(".din").eq(1).html()
if(title==""){
$(examJudges[i]).find(".sScore").eq(0).text("")
title = $(examJudges[i]).find(".QueStem").eq(0).text().replace(/\s+/g,'');
var index = title.indexOf(".")
title = title.substring(index+1,title.length)
}
if($(examJudges[i]).find(".din").eq(1).find("img").length>0){
title += $(examJudges[i]).find(".din").eq(1).find("img").attr("src")
}
console.log(title)
var ans = localStorage.getItem(title)
var dds = $(examJudges[i]).find(".JudgeBtn")
//title = title.replace("?","").replace("?","")
GM_xmlhttpRequest({
method : "GET",
//请求的媒体类型
//contentType: "application/json;charset=UTF-8",
//请求地址
url : "http://116.62.157.163:8080/question/get?title="+title+"&token="+TOKEN,
//数据,json字符串
datatype: "json",
synchronous: true,
//请求成功
headers: {
"Content-type": "application/json;charset=UTF-8"
},
onload: result=> {
result = JSON.parse(result.response)
console.log(result);
if(result.code==0){
var ans = result.data.answer
if(ans==""||ans==null){
// $(dds[0]).find("input").click();
//$(examJudges[i]).find(".judgecorrect").eq(0).click();
}else{
ans = stripscript(ans)
if(ans=="正确"){
$(dds[0]).find("input").click();
$(examJudges[i]).find(".judgecorrect").eq(0).click();
}else{
$(dds[1]).find("input").click();
$(examJudges[i]).find(".judgeerror").eq(0).click();
}
}
}
var as = "";
$("#times").text(result.data.num)
if(result.code!=0){as = ''+result.msg+''}else{as=''+result.data.answer+''}
var answerHtml = ' '
+' '+(Number(i)+1)+' | '
+' '+titleHtml+' | '
+' '+as+' | '
+'
';
$("#answerMain").append(answerHtml)
},
//请求失败,包含具体的错误信息
error : function(e){
console.log(e.status);
console.log(e.responseText);
}
});
}
async function examMutlis2(examMutlis,i){
var title = $(examMutlis[i]).find(".din").eq(1).text().replace(/\s+/g,'');
var titleHtml = $(examMutlis[i]).find(".din").eq(1).html()
if(title==""){
$(examMutlis[i]).find(".sScore").eq(0).text("")
title = $(examMutlis[i]).find(".QueStem").eq(0).text().replace(/\s+/g,'');
var index = title.indexOf(".")
title = title.substring(index+1,title.length)
}
if($(examMutlis[i]).find(".din").eq(1).find("img").length>0){
title += $(examMutlis[i]).find(".din").eq(1).find("img").attr("src")
}
//var ans = localStorage.getItem(title)
var dds = $(examMutlis[i]).find("dd")
if(dds==""||dds.length==0){
dds = $(examMutlis[i]).find(".liMut-bg")
}
console.log(dds)
//title = title.replace("?","").replace("?","")
GM_xmlhttpRequest({
method : "GET",
//请求的媒体类型
//contentType: "application/json;charset=UTF-8",
//请求地址
url : "http://116.62.157.163:8080/question/get?title="+title+"&token="+TOKEN,
//数据,json字符串
datatype: "json",
synchronous: true,
//请求成功
headers: {
"Content-type": "application/json;charset=UTF-8"
},
onload: result=> {
result = JSON.parse(result.response)
console.log(result);
if(result.code==0){
var ans = result.data.answer
if(ans==""||ans==null){
for(var j=0;j'+result.msg+''}else{as=''+result.data.answer+''}
var answerHtml = ' '
+' '+(Number(i)+1)+' | '
+' '+titleHtml+' | '
+' '+as+' | '
+'
';
$("#answerMain").append(answerHtml)
},
//请求失败,包含具体的错误信息
error : function(e){
console.log(e.status);
console.log(e.responseText);
}
});
}
async function subItem(singItems,i){
var title = $(singItems[i]).find(".din").eq(1).text().replace(/\s+/g,'');
var titleHtml = $(singItems[i]).find(".din").eq(1).html()
if(title==""){
$(singItems[i]).find(".sScore").eq(0).text("")
title = $(singItems[i]).find(".QueStem").eq(0).text().replace(/\s+/g,'');
var index = title.indexOf(".")
title = title.substring(index+1,title.length)
}
if($(singItems[i]).find(".din").eq(1).find("img").length>0){
title += $(singItems[i]).find(".din").eq(1).find("img").attr("src")
}
//var ans = localStorage.getItem(title)
var dds = $(singItems[i]).find("dd")
if(dds==""||dds.length==0){
dds = $(singItems[i]).find(".liSing-bg")
}
console.log(title)
//title = title.replace("?","").replace("?","")
GM_xmlhttpRequest({
method : "GET",
//请求的媒体类型
//contentType: "application/json;charset=UTF-8",
//请求地址
url : "http://116.62.157.163:8080/question/get?title="+title+"&token="+TOKEN,
//数据,json字符串
datatype: "json",
synchronous: true,
//请求成功
headers: {
"Content-type": "application/json;charset=UTF-8"
},
onload: result=> {
result = JSON.parse(result.response)
console.log(result);
if(result.code==0){
var ansStr = result.data.answer
if(ansStr==""||ansStr==null){
//$(dds[0]).click();
}else{
ansStr = stripscript(ansStr)
for(var j=0;j'+result.msg+''}else{as=''+result.data.answer+''}
var answerHtml = ' '
+' '+(Number(i)+1)+' | '
+' '+titleHtml+' | '
+' '+as+' | '
+'
';
$("#answerMain").append(answerHtml)
},
//请求失败,包含具体的错误信息
error : function(e){
console.log(e.status);
console.log(e.responseText);
}
});
}
async function singItem(singItems,i){
var title = $(singItems[i]).find(".din").eq(1).text().replace(/\s+/g,'');
var titleHtml = $(singItems[i]).find(".din").eq(1).html()
if(title==""){
$(singItems[i]).find(".sScore").eq(0).text("")
title = $(singItems[i]).find(".QueStem").eq(0).text().replace(/\s+/g,'');
var index = title.indexOf(".")
title = title.substring(index+1,title.length)
}
if($(singItems[i]).find(".din").eq(1).find("img").length>0){
title += $(singItems[i]).find(".din").eq(1).find("img").attr("src")
}
//var ans = localStorage.getItem(title)
var dds = $(singItems[i]).find("dd")
if(dds==""||dds.length==0){
dds = $(singItems[i]).find(".liSing-bg")
}
console.log(title)
//title = title.replace("?","").replace("?","")
GM_xmlhttpRequest({
method : "GET",
//请求的媒体类型
//contentType: "application/json;charset=UTF-8",
//请求地址
url : "http://116.62.157.163:8080/question/get?title="+title+"&token="+TOKEN,
//数据,json字符串
datatype: "json",
synchronous: true,
//请求成功
headers: {
"Content-type": "application/json;charset=UTF-8"
},
onload: result=> {
result = JSON.parse(result.response)
console.log(result);
if(result.code==0){
var ansStr = result.data.answer
if(ansStr==""||ansStr==null){
//$(dds[0]).click();
}else{
ansStr = stripscript(ansStr)
for(var j=0;j'+result.msg+''}else{as=''+result.data.answer+''}
var answerHtml = ' '
+' '+(Number(i)+1)+' | '
+' '+titleHtml+' | '
+' '+as+' | '
+'
';
$("#answerMain").append(answerHtml)
},
//请求失败,包含具体的错误信息
error : function(e){
console.log(e.status);
console.log(e.responseText);
}
});
}
function stripscript(s) {
var pattern = new RegExp("[`~!@#$^&*()=|{}':;',\\[\\].<>/?~!@#¥……&*()——|{}【】‘;:”“'。,、?]");
var rs = "";
if(s==""||!s){
return s;
}
for (var i = 0; i < s.length; i++) {
rs = rs+s.substr(i, 1).replace(pattern, '');
}
rs = rs.replace(/[\r\n]/g, '').replace(/\s+/g,'').trim();
return rs;
}
$("#saveToken").click(function(){
var kktoken = $("#kktoken").val()
localStorage.setItem("kktoken",kktoken)
layer.msg("保存成功")
})
function ajax(title,anser){
if(title==""||anser==""){return}
GM_xmlhttpRequest({
//请求方式
method : "POST",
//请求的媒体类型
//contentType: "application/json;charset=UTF-8",
//请求地址
url : "http://116.62.157.163:8080/question/set?title="+title+"&answer="+anser,
data:{title:title,answer:anser},
//请求成功
onload: res=> {},
//请求失败,包含具体的错误信息
error : function(e){
console.log(e.status);
console.log(e.responseText);
}
});
}
// Your code here...
})();