HUST华中科技大学军理线上作业简易自动填充助手

hust junli answer auto fulfill

// ==UserScript==
// @name         HUST华中科技大学军理线上作业简易自动填充助手
// @namespace    https://github.com/gongchen618
// @version      0.1
// @description  hust junli answer auto fulfill
// @author       gongchen618
// @match        http://dzdq.hustp.com/index.php?m=Exercises&a=exercises_detail&id=*
// @grant        none
// @require      https://lib.baomitu.com/jquery/3.6.0/jquery.min.js
// @license MIT
// ==/UserScript==

$('head').append('<link href="https://lib.baomitu.com/layui/2.6.8/css/layui.css" rel="stylesheet" type="text/css" />');
$.getScript("https://lib.baomitu.com/layui/2.6.8/layui.js", function(data, status, jqxhr) {
    layui.use('element', function(){
        var element = layui.element;
    });
    layer.closeAll();
    init();
    window.onhashchange = function() {
        layer.closeAll();
        init();
    };
});

function init() {
    init_answer();
    show();
}


var answer = new Array();
function init_answer() {
    answer[1528] = "B,D,D,C,A,A,B,B,C,C,B,C,A,B,A,A,D,B,D,B,C,C,A,A,A,B,A,B,B,B,ABCDE,ABCD,ACD,BD,ABCD,ABCE,ABCE,AD,ABC,AC,ABC,ABCD,ACD,ABD,AD,BC,ABD,ABCD,ABCD,ABC,ABC,AB,ABCD,ABCD,ABCD,ABCD,ABC,ABC,ABC,ABCD"
    answer[1529] = "C,B,C,A,B,D,A,D,C,A,B,C,D,B,C,ABCDE,ABCD,BCDE,ABDE,ACD,ABCDE,ABDE,ACD,ABCDE,ABCDE,ABCDE,ABCE,ABE,ABDE,ACD"
    answer[1530] = "A,C,D,A,B,A,D,C,B,A,A,C,A,D,C,ABC,ABCD,ABC,ABCD,ABC,ABC,ABCD,ABC,ABCD,ABD,ABC,ABD,ABC,ABC,BCD"
    answer[1531] = "C,D,B,D,B,A,A,A,B,D,A,D,D,B,A,B,C,C,A,B,C,D,B,A,C,B,A,C,D,A,C,ABCE,ABCD,ABCD,ACD,ABCD,ABD,BCD,ABCDE,ABCD,ABCD,AB,ABCD,ABCDE,ABC,ABCD,ABCD,ABCD,ABCD,ABCD,BC,AB,ABCE,BCD,BC,ABC,ABC,BCD,ABCD,ABC"
    answer[1536] = "C,C,D,C,B,A,A,A,A,A,B,A,C,A,A,B,C,D,D,A,B,B,A,A,B,A,B,C,B,B,ABCD,ABC,ABC,ABCDEF,ABC,ABC,ABCD,ABCDE,ABCDE,ABCDEF,ABCDE,ABCDE,ABCD,ABCD,BCD,ACD,ABCD,ABCD,ABC,ABCDE,ABC,ABCDEF,ABCDEF,ABCD,ABCD,ABCD,ABCD,ABCD,ABCDE,ABCD"
    answer[1690] = "C,C,B,A,B,C,B,B,D,C,B,A,A,B,C,D,C,B,A,B,ABC,ABCD,ABC,ABCDE,ABC,ABCDE,ABCD,ABCDE,BCD,ABCD,ABCD,ABCD,ABD,ABCD,ABCDE,ABCD,ABC,ABCD,AB,ABCDE,ABCD,AB,ABCDE,ABC,ABCDEF,ABCD,ABC,ABCDEF,ABC,ABC"
}

var conf = {
    title: "HUST军理助手",
    datalist:{},
    time:1
};

function show() {
    layer.open({
        type: 1,
        area: ['200px', '150px'],
        offset: 'rb',
        id: 'msgt',
        closeBtn: 0,
        title: conf.title,
        shade: 0,
        maxmin: true,
        anim: 2,
        content: '<div id="msg"><blockquote class="layui-elem-quote layui-quote-nm"><button type="button" class="layui-btn layui-btn-normal start">点我自动填充答案<button></blockquote></div>'
    });
    $(".start").click(function() {
        start();
    })
}

function start(question_index_l, question_index_r){
    var item_page_id = document.getElementsByName("exercises_id");
    var item_problem_count = document.getElementById("allcount");
    var item_problem_id = document.getElementsByName("op_id");
    var item_problem_type = document.getElementsByName("op_type");

    if (item_problem_count == null || item_page_id.length == 0 || item_problem_id.length == 0 || item_problem_type.length == 0) { alert("页面错误"); return; }
    if (answer[item_page_id[0].value] == null) { alert("未收录该作业答案"); return; }

    var problem_count = item_problem_count.value;
    var problem_answer = answer[item_page_id[0].value].split(",");
    var problem_id = item_problem_id[0].value.split(",");
    var problem_type = item_problem_type[0].value.split(",");

    if (problem_answer.length != problem_count) { alert("答案与题数不符,请检查"); return; }

    for (var i = 0; i < Math.min(problem_answer.length, problem_count); i++) {
        if (problem_type[i] == '1') {
            ajax_answer(i,problem_answer[i]);
        } else {
            var box = document.getElementsByClassName("multibox"+problem_id[i])
            for (var c = 0, it = 0; c < box.length; ++c){
                if(problem_answer[i][it] == box[c].value) {
                    ++it;
                    box[c].checked = true;
                }
            }
            ajax_multi_answer(i,problem_answer[i]);
        }
    }
}