北大青鸟刷题无需数据库

使用方法:点击图片

// ==UserScript==
// @name         北大青鸟刷题无需数据库
// @namespace     http://tampermonkey.net/
// @version      0.5
// @description  使用方法:点击图片
// @license MIT
// @author       HellSherry
// @match        https://tiku.kgc.cn/testing/*
// @match        https://exam.bdqn.cn/testing/*
// @match        https://exam-resources.bdqn.cn/*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=kgc.cn
// @grant        none
// ==/UserScript==

(function() {

    var TAnswer="none";


    if(window.location.href.indexOf("/testing/paper/solutions")!=-1&&localStorage.getItem("IsControl")=='1'){
          window.onload = function () {
              const answers = new Map();
             Array.from(document.getElementsByClassName("green")).forEach(function(item){
                 if(answers.has(item.children[0].children[1].src.substring(54,75))){
                                 answers.set(item.children[0].children[1].src.substring(54,75),answers.get(item.children[0].children[1].src.substring(54,75))+item.children[0].children[0].innerText.substring(0,1))
                 }else{

                                  answers.set(item.children[0].children[1].src.substring(54,75),item.children[0].children[0].innerText.substring(0,1))

                 }



              });
localStorage.setItem("Answer", JSON.stringify(Object.fromEntries(answers)))
console.log(JSON.stringify(Object.fromEntries(answers)))
               window.close()
          }}
    else if(window.location.href.indexOf("/testing/exam/againPaper/134738685")!=-1&&localStorage.getItem("IsControl")=='1'){
document.getElementById("putIn").click()
            document.getElementById("putInBtn").click()
          window.close()

      }
    else if(window.location.href.indexOf("/testing/exam/againPaper")!=-1&&localStorage.getItem("IsControl")=='1'){

         $.ajax({
        type: "GET",
        url: '/testing/exam/againPaper/134738685',
        contentType: "application/json;charset=utf-8",
        success: function (message){

document.getElementById("putIn").click()
            document.getElementById("putInBtn").click()
            setInterval(() => {
                if (document.getElementById("testDialog").style.display == "block"||document.querySelector("#returnDialog").style.display=="block") {

  document.getElementById("closeReturnDialog").click()
       
                }
            }, 1000);

        }})
    }
    else if(window.location.href.indexOf("/testing/paper/report")!=-1&&localStorage.getItem("IsControl")=='1'){
 window.location.href=window.location.href.replace("report", "solutions");

    }
    else{
 var imgObjs=document.getElementsByTagName('img');
imgObjs=Array.from(imgObjs)
document.querySelector("#countDown").ondblclick=function(){
   if(TAnswer=='none'){

       imgObjs[0].click()
              }else{
              imgObjs.forEach(function(element) {
 element.click()
});

              }



}

        for (var i = 0;i < imgObjs.length; i ++) {
            imgObjs[i].onclick =async function () {
 console.log(localStorage.getItem("IsControl")
)
                if(localStorage.getItem("IsControl")=='1'){return;}

              if(TAnswer=='none'){
                  localStorage.setItem("IsControl",'1')
                  var ss1 =window.open('/testing/exam/againPaper/134738685', "ssssss", "height=1, width=1, top=10000,left=9100, scrollbars=yes, resizable=no");


                //window.open(this.src,name,'height='+1+',innerHeight='+1+',width='+1+',innerWidth='+1+',top='+9999+',left='+9999+',toolbar=no,menubar=no,scrollbars=no,resizable=no,location=no,status=no');

                var ss2 = setInterval(function() {
        if(ss1.closed) {
            clearInterval(ss2);
           var openWin =window.open('/testing/exam/againPaper/'+document.querySelector("body > div.sub > div > div > div.yui3-u-4-5.top15 > div:nth-child(2) > dl.sec3.font-yahei.f16 > dd:nth-child(1)").getAttribute("data").split(',')[1], "Newwindow", "height=1, width=1, top=10000,left=9100, scrollbars=yes, resizable=no");

// var openWin =window.open(document.querySelector("#putIn").getAttribute("data").replace("answer", "exam/againPaper"))
               var winLoop = setInterval(function() {
        if(openWin.closed) {
            clearInterval(winLoop);
            TAnswer=JSON.parse(localStorage.getItem("Answer"))
            console.log(TAnswer)
              localStorage.setItem("IsControl",'0')
        }
}, 3000);


        }
            }, 1000);
              }
                else{


 var answerD= TAnswer[this.src.substring(54,62)+(parseInt(this.src.substring(62,75))-parseInt(document.querySelector("#basic-header > div > ul > li:nth-child(2) > a").href.substring(34,40)))]



 var da= answerD.split('');

    for(var s=0;s<this.parentNode.parentNode.parentNode.children[2].children.length;s++){
      if(this.parentNode.parentNode.parentNode.children[2].children[s].children[0].children[0].checked){
                      this.parentNode.parentNode.parentNode.children[2].children[s].click()
               }
    }

        for (var q = 0;q < da.length; q ++) {
var numm=-1;
        switch(da[q]){
            case "A":
numm=0

                break;
            case "B":

              numm=1
                break;
            case "C":
        numm=2
                break;
            case "D":
           numm=3
break;
            case "E":
          numm=4
                break;
            case "F":
          numm=5
                break;
            case "G":
         numm=6
                break;
            default:
                  alert(da[q])
                break;


        }

               if(!this.parentNode.parentNode.parentNode.children[2].children[numm].children[0].children[0].checked){
                      this.parentNode.parentNode.parentNode.children[2].children[numm].click()
               }


        }


            }
        }
}


document.querySelector("#basic-header > div > div.text-1").ondblclick=
 function(){
    try{
    ss1.close()
winLoop.close()
    }catch(e){

    }
        console.log(document.querySelector("#putIn").getAttribute("data"))

    localStorage.setItem("IsControl",'1')

                  var ss1 =window.open('/testing/exam/againPaper/134738685', "ssssss", "height=1, width=1, top=10000,left=9100, scrollbars=yes, resizable=no");


                //window.open(this.src,name,'height='+1+',innerHeight='+1+',width='+1+',innerWidth='+1+',top='+9999+',left='+9999+',toolbar=no,menubar=no,scrollbars=no,resizable=no,location=no,status=no');

                var ss2 = setInterval(function() {
        if(ss1.closed) {
            clearInterval(ss2);
            var openWin =window.open(document.querySelector("#putIn").getAttribute("data").replace("answer", "exam/againPaper"), "Newwindow", "height=1, width=1, top=10000,left=9100, scrollbars=yes, resizable=no");


               var winLoop = setInterval(function() {
        if(openWin.closed) {
            clearInterval(winLoop);
            TAnswer=JSON.parse(localStorage.getItem("Answer"))
            console.log(TAnswer)
            localStorage.setItem("IsControl",'0')
        }
}, 3000);


        }
            }, 1000);

}

    }


    'use strict';
    // Your code here...
})();