hnzxxjsfzw

storehouse

此脚本不应直接安装,它是一个供其他脚本使用的外部库。如果您需要使用该库,请在脚本元属性加入:// @require https://update.greasyfork.org/scripts/496250/1384123/hnzxxjsfzw.js

(function() {
    'use strict';
    /* globals jQuery, $, waitForKeyElements */

    unsafeWindow.GM_setValue = GM_setValue
    unsafeWindow.GM_getValue = GM_getValue
    unsafeWindow.GM_xmlhttpRequest = GM_xmlhttpRequest
    unsafeWindow.GM_deleteValue = GM_deleteValue

    // 创建一个新的 script 标签
    var script = document.createElement('script');
    script.textContent = 'window.alert = function(){};';

    // 将 script 标签插入到页面的 head 中
    document.head.appendChild(script);

    // 检查当前窗口是否为顶层窗口
    if (window.self !== window.top) {
        return; // 如果不是顶层窗口,则不执行脚本
    }

    var ddds3 = null;
    var addMessage = null;

    let btn1=GM_registerMenuCommand ("\u4f5c\u8005\uff1a\ud83c\udf49\u897f\u74dc\u8981\u5927\u7684\ud83c\udf49", function(){
        confirm("Hello,\u611f\u8c22\u4f7f\u7528\ud83c\udf49\u897f\u74dc\u5237\u8bfe\u52a9\u624b\ud83c\udf49\uff01\u591a\u591a\u53cd\u9988\u54e6");
        GM_unregisterMenuCommand(btn1);
    }, "");
    let btn2=GM_registerMenuCommand ("\u4ed8\u8d39\u5185\u5bb9", function(){
        alert("\u9650\u65f6\u514d\u8d39\uff0c\u5168\u529b\u5f00\u53d1\u4e2d...");
    }, "p");

    var chapterCount = 0;
    var chapterId = 0;
    var sectionCount = 0;
    var sectionId = 0;
    var studyTime = 0;
    var totalTime = 0;
    var elementsArray = 0;
    var timeStr = null;
    var search = null;
    var searchVD = null;
    var searchFC = null;
    var coursIndex = 0;
    var allCours = 0;

    var nowUrl = "";
    /**
     * 请求地址
     * @type {string}
     */
    var href = 'https://learning.mhtall.com/rest/user/course/lesson/onexit?';
    /**
     * 获取cookie
     * @returns {*}
     */
    function getCookie(){
        return document.cookie;
    }
    /**
     * 获取course_id
     * @returns {*}
     */
    function courseId(url){
        const queryString = url.split('?')[1];
        const urlParams = new URLSearchParams(queryString);
        const course_id = urlParams.get('course_id');
        return course_id;
    }
    /**
     * 获取course_uuid
     * @returns {*}
     */
    function courseUuid(url){
        const queryString = url.split('?')[1];
        const urlParams = new URLSearchParams(queryString);
        const course_uuid = urlParams.get('course_uuid');
        return course_uuid;
    }
    /**
     * 获取course_code
     * @returns {*}
     */
    function courseCode(url){
        const queryString = url.split('?')[1];
        const urlParams = new URLSearchParams(queryString);
        const course_code = urlParams.get('course_code');
        return course_code;
    }
    /**
     * 获取lesson_id
     * @returns {*}
     */
    function lessonId(){
        return document.getElementsByClassName("chapter-course js-chapter-course")[sectionId-1].children[0].getAttribute("lesson-id");
    }
    /**
     * 获取video_position
     * @returns {*}
     */
    function videoPosition(){
        return document.getElementsByClassName("chapter-course js-chapter-course")[sectionId-1].children[0].getAttribute("video-position");
    }
    /**
     * 获取video_duration
     * @returns {*}
     */
    function getVdDuration(){
        timeStr = document.getElementsByClassName("course-list-header")[sectionId-1].getElementsByClassName("tt-suffix js-tt-suffix")[0].innerText;
        let a = timeStr.substring(7,9)
        let b = timeStr.substring(10,12)
        var videoDuration = (parseInt(a)*60) + parseInt(b)
        return videoDuration;
    }

    function saveHomeUrl(){
        let homeUrl = window.location.href;
        GM_setValue('homeUrl',homeUrl);
    }

    function getHomeUrl(){
        return GM_getValue('homeUrl');
    }

    function saveChapterUrl(){
        let chapterUrl = window.location.href;
        GM_setValue('chapterUrl',chapterUrl);
    }

    function getChapterUrl(){
        return GM_getValue('chapterUrl');
    }

    function searchCours(){
        if(chapterId < chapterCount){
            sectionCount = document.querySelector("#courseList").children[chapterId].getElementsByTagName('li').length;
            if(sectionId < sectionCount){
                let contentStr = document.querySelector("#courseList").children[chapterId].getElementsByTagName('li')[0].innerText;
                if(contentStr != '该章节暂无课程信息,请返回课程列表选课或刷新后重试。请点击刷新!'){
                    let fenzi = parseInt(document.querySelector("#courseList").children[chapterId].getElementsByTagName('li')[sectionId].children[1].children[0].innerText);
                    let fenmu = parseInt(document.querySelector("#courseList").children[chapterId].getElementsByTagName('li')[sectionId].children[1].innerText.split('/')[1]);
                    if(fenzi < fenmu){
                        setTimeout(function(){
                            addMessage("学习"+(chapterId+1)+"章"+(sectionId+1)+"节");
                            addMessage("10S后关闭此页");
                            document.querySelector("#courseList").children[chapterId].getElementsByTagName('li')[sectionId].children[0].click();
                            setTimeout(function(){
                                window.close();
                            },1000 * 10);
                        },1500);
                    }else{
                        sectionId++;
                        searchCours();
                    }
                }
                else{
                    sectionId = 0;
                    chapterId++;
                    searchCours();
                }
            }else{
                sectionId = 0;
                chapterId++;
                searchCours();
            }
        }else{

        }
    }

    search = function(){
        if(tempTime >= 800){
            addMessage("课程完成"+tempTime+"/800,10秒后回主页");
            setTimeout(function(){
                window.open(getHomeUrl(),'_self');
            },10000);
            return;
        }
        if(chapterId < chapterCount){
            sectionCount = document.querySelector("#courseList").children[chapterId].getElementsByTagName('li').length;
            searchSection();
        }else{
            if(tempTime < 800){
                addMessage(tempTime+"/800");
                addMessage("课程进度未达标,检索未完成章节");
                chapterId = 0;
                sectionId = 0;
                searchCours();
                return;
            }
            else{
                addMessage("课程完成"+tempTime+"/800,10秒后回主页");
                setTimeout(function(){
                    window.open(getHomeUrl(), "_self");
                },10000);
            }
        }
    }

    function searchSection(){
        if(sectionId < sectionCount){
            let contentStr = document.querySelector("#courseList").children[chapterId].getElementsByTagName('li')[0].innerText;
            if(contentStr != '该章节暂无课程信息,请返回课程列表选课或刷新后重试。请点击刷新!'){
                let fenzi = parseInt(document.querySelector("#courseList").children[chapterId].getElementsByTagName('li')[sectionId].children[1].children[0].innerText);

                tempTime = tempTime + fenzi;
                sectionId++;
                search();
            }
            else{
                sectionId = 0;
                chapterId++;
                search();
            }
        }else{
            sectionId = 0;
            chapterId++;
            search();
        }
    }

    var elements = null;
    searchVD = function(){
        elements = document.getElementsByClassName("title course-title js-course-title");
        nowUrl = window.location.href;
        elementsArray = Array.from(elements);
        for(let i=0; i<elementsArray.length; i++){
            if(elementsArray[i].className === "title course-title js-course-title course-active"){
                sectionId = i + 1;
                break;
            }
        }
        if(sectionId <= elementsArray.length){
            addMessage("\u5f53\u524d\u64ad\u653e\u7b2c"+sectionId+"\u4e2a\u89c6\u9891\u3002");
            document.getElementsByTagName("video")[0].volume = 0;
            document.getElementsByTagName("video")[0].play();
            let timeStr0 = document.getElementsByClassName("course-list-header")[sectionId-1].getElementsByClassName("tt-suffix js-tt-suffix")[0].innerText
            var searchJD = setInterval(function(){
                timeStr = document.getElementsByClassName("course-list-header")[sectionId-1].getElementsByClassName("tt-suffix js-tt-suffix")[0].innerText;
                if(parseInt(timeStr.substring(1,3)) >= parseInt(timeStr0.substring(7,9))){
                    if(parseInt(timeStr.substring(4,6)) >= parseInt(timeStr0.substring(10,12))){
                        addMessage("\u7b2c"+sectionId+"\u4e2a\u89c6\u9891\u64ad\u653e\u5b8c\u6210\u3002");
                        if(sectionId == elementsArray.length){
                            ddds3.children().remove();
                            addMessage("\u5f53\u524d\u79d1\u76ee\u5df2\u5b8c\u524d\u5f80\u4e0b\u4e00\u79d1\uff01");
                            clearInterval(searchJD);
                            // window.open("https://se.mhtall.com/cuggw/rs/index", "_blank");
                            window.open(getHomeUrl(), "_blank");
                        }else{
                            setTimeout(function(){
                                document.getElementsByClassName("course-list-header")[sectionId].click();
                                clearInterval(searchJD);
                                setTimeout(function(){
                                    searchVD();
                                },800);
                            },100);
                        }
                    }else{
                        addMessage("\u7b2c"+sectionId+"\u4e2a\u5373\u5c06\u5b8c\u6210\uff0c\u8bf7\u7a0d\u540e...");
                    }
                }else{
                    // addMessage("\u7b2c"+sectionId+"\u4e2a\u89c6\u9891\u5b66\u4e60\u4e2d\uff0c\u8bf7\u7b49\u5f85\u3002");
                    try{
                        GM_xmlhttpRequest({
                            url: href+"course_id="+courseId(nowUrl)+"&course_uuid="+courseUuid(nowUrl)+"&course_code="+courseCode(nowUrl)+"&client_type=99&lesson_id="+lessonId()+"&finish_len=11&video_position="+videoPosition()+"&video_duration="+getVdDuration(),
                            method: "GET",
                            Cookie: getCookie(),
                            onload: function(response) {
                                // addMessage("response"+response.responseText);
                            }
                        })
                    }
                    catch(e){
                        addMessage(e+"异常退出");
                    }
                }
            },168);
        }else{
            ddds3.children().remove();
            addMessage("\u5f53\u524d\u79d1\u76ee\u5df2\u5b8c\u524d\u5f80\u4e0b\u4e00\u79d1\uff01");
            clearInterval(searchJD);
            // window.open("https://se.mhtall.com/cuggw/rs/index", "_blank");
            window.open(getHomeUrl(), "_blank");
        }
    }

    const panel = function(){
        var container = $('<div id="gm-interface"></div>');
        var titleBar = $('<div id="gm-title-bar">\ud83c\udf49\u897f\u74dc\u7f51\u8bfe\u52a9\u624b\ud83c\udf49</div>');
        var minimizeButton = $('<div title="\u6536\u8d77" style="display:black"><svg id="gm-minimize-button" class="bi bi-dash-square" viewBox="0 0 16 16" fill="currentColor" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" d="M14 1H2a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1zM2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2z"/><path fill-rule="evenodd" d="M3.5 8a.5.5 0 0 1 .5-.5h8a.5.5 0 0 1 0 1H4a.5.5 0 0 1-.5-.5z"/></svg></div>');
        var maxButton = $('<div title="\u5c55\u5f00" style="display:none"><svg id="gm-minimize-button" class="bi bi-plus-square" viewBox="0 0 16 16" fill="currentColor" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" d="M8 3.5a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-.5.5H4a.5.5 0 0 1 0-1h3.5V4a.5.5 0 0 1 .5-.5z"/><path fill-rule="evenodd" d="M7.5 8a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1H8.5V12a.5.5 0 0 1-1 0V8z"/><path fill-rule="evenodd" d="M14 1H2a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1zM2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2z"/></svg></div>');
        var content = $('<div id="gm-content"></div>');
        var tips = $('<div class="tip" style="display:none;">\u957f\u6309\u62d6\u62fd</div>');
        var scrollText = $('<marquee>').text('\u4e7e\u5764\u672a\u5b9a\uff0c\u4f60\u6211\u7686\u662f\u9ed1\u9a6c----\u4f5c\u8005\uff1a\u897f\u74dc\u8981\u5927\u7684\uff08\u611f\u8c22\u652f\u6301\uff01\uff09').css({
            'position': 'absolute',
            'top': '15%',
            'left': '50%',
            'transform': 'translate(-50%, -50%)',
            'width': '90%',
            'height': '25px',
            'font-size': '16px',
            'line-height': '1.5',
            'white-space': 'nowrap'
        }).appendTo(content);
        // var ddds1 = $('<div style="position: absolute;top: 85%;width:90%;height:10%;padding: 3px;background: #ffedf0;border-radius: 5px;">\u70b9\u51fb\u542f\u52a8\uff1a<button id="beginExam" style="position: absolute;width:48px;right: 10px;background-color: #ffe5e5;border-radius: 4px;border-color: #ffc0c0;color: grey;">开始答题</button></div>');
        // var ddds5 = $('<div style="position: absolute;top: 35%;width:90%;height:10%;padding: 3px;background: #ffedf0;border-radius: 5px;">\u70b9\u51fb\u542f\u52a8\uff1a<button id="stopxg" style="position: absolute;width:48px;right: 10px;background-color: #ffe5e5;border-radius: 4px;border-color: #ffc0c0;color: grey;">暂停</button></div>');
        //var ddds2 = $('<div style="position: absolute;top: 85%;width:90%;height:10%;padding: 3px;background: #ffedf0;border-radius: 5px;">\u89c6\u9891\u500d\u901f\uff1a<button id="speedxg" style="position: absolute;width:48px;right: 10px;background-color: #ffe5e5;border-radius: 4px;border-color: #ffc0c0;color: grey;">X16</button></div>');
        ddds3 = $('<div id="message-container" style="position: absolute;display: grid;align-content: center;justify-content: center;top: 20%;width:94%;height:62%;max-height:62%;overflow-y:auto;padding: 3px;background: #ffffff;border-radius: 5px;"></div>');
        var ddds4 = $('<div style="position: absolute;top: 85%;width:94%;height:10%;padding: 3px;background: #ffedf0;border-radius: 5px;"><button id="delData" style="position: absolute;width:129px;right: 20px;background-color: #ffe5e5;border-radius: 4px;border-color: #ffc0c0;color: grey;">清空缓存</button></div>');

        container.append(titleBar);
        // content.append(ddds1);
        // content.append(ddds5);
        //content.append(ddds2);
        content.append(ddds3);
        content.append(ddds4);
        container.append(content);
        container.append(maxButton);
        container.append(minimizeButton);
        $('body').append(container);
        $('body').append(tips);

        GM_addStyle(`
        #gm-interface {
            position: fixed;
            top: 50%;
            left: 50%;
            border-radius: 5px;
            background-color: white;
            z-index: 9999;
        }

        #gm-title-bar {
            padding: 5px;
            background-color: #ffc0c0;
            border: 1px solid black;
            border-radius: 5px;
            cursor: grab;
        }

        #gm-minimize-button {
            position: absolute;
            top: 2px;
            right: 2px;
            width: 30px;
            height: 30px;
            border-radius: 5px;
            padding: 0;
            font-weight: bold;
            background-color: #ffc0c0;
            cursor: pointer;
        }

        #gm-content {
            padding: 10px;
            border: 1px solid black;
            border-radius: 2px 2px 5px 5px;
            background-color: #ffe5e5;
            width: 400px;
            height: 300px;
        }
        .tip{
            font-family: "黑体";
            color: black;
            -webkit-transform: scale(0.8);
            position:absolute;
            padding: 6px 5px;
            background-color:#ffe8f0;
            border-radius: 4px;
            z-index: 9999;
        }
    `);

        titleBar.on('mousemove',function(e){
            tips.attr("style", "display:black;");
            var top = e.pageY+5;
            var left = e.pageX+5;
            tips.css({
                'top' : top + 'px',
                'left': left+ 'px'
            });
        });

        titleBar.on('mouseout',function(){
            tips.hide();
        });

        titleBar.on('mousedown', function(e) {
            var startX = e.pageX - container.offset().left + window.scrollX;
            var startY = e.pageY - container.offset().top + window.scrollY;

            $(document).on('mousemove', function(e) {
                e.preventDefault();
                var newX = e.pageX - startX;
                var newY = e.pageY - startY;
                container.css({ left: newX, top: newY });
            });

            $(document).on('mouseup', function() {
                $(document).off('mousemove');
                $(document).off('mouseup');
            });
        });


        minimizeButton.on('click', function() {
            minimizeButton.attr("style", "display:none;");
            maxButton.attr("style", "display:black;");
            content.slideToggle(0);
            container.css({ width: 200 });
        });

        maxButton.on('click', function() {
            minimizeButton.attr("style", "display:black;");
            maxButton.attr("style", "display:none;");
            content.slideToggle(0);
            container.css({ width: 422 });
        });

        ddds3.on('mousewheel', function(event) {
            event.preventDefault();
            var scrollTop = ddds3.scrollTop();
            ddds3.scrollTop(scrollTop + event.originalEvent.deltaY);
        });

        $("#delData").on('click',function(){
            ddds3.children().remove();
            GM_deleteValue('courseIndex');
            addMessage("已清空缓存");
        });

        addMessage = function(message){
            if (ddds3.children().length >= 15) {
                ddds3.children().first().remove();
            }
            var messageElement = $('<div class="message"></div>').text(message).css({
                'margin-bottom': '10px'
            }).appendTo(ddds3);
        }

    }

    function getAnswer(){
        let oldData = GM_getValue('mhtAnswerList');
        if (Array.isArray(oldData)) {
            return oldData;
        }
        return [];
    }

    function saveAnswer(answer_key,answer){
        let mhtAnswerList = getAnswer();
        let juge = mhtAnswerList.some(obj => obj.hasOwnProperty(answer_key));

        if (juge) {
            addMessage("该答案已存在...");
            console.log("该答案已存在");
            return false;
        }

        let tempMap = {};
        tempMap[answer_key] = answer;

        mhtAnswerList.push(tempMap);

        // console.log(mhtAnswerList);

        GM_setValue('mhtAnswerList',mhtAnswerList);

        return true;
    }

    var answer_key

    panel();
    addMessage("\u002d\u002d\u002d\u002d\u6b63\u5728\u542f\u52a8\uff0c\u8bf7\u7a0d\u540e\u002e\u002e\u002e\u002d\u002d\u002d\u002d");
    if(!GM_getValue('aotuTest')){
         GM_setValue('aotuTest',false);
    }else{
        $("#btnAotu").text("自动答题:开启");
    }

    function tipsWin(){
        return new Promise((resolve, reject) => {

            var popup = document.createElement('div');
            popup.id = 'customPopup';
            popup.style.display = 'none';
            popup.style.position = 'fixed';
            popup.style.top = '50%';
            popup.style.left = '50%';
            popup.style.transform = 'translate(-50%, -50%)';
            popup.style.backgroundColor = '#fff';
            popup.style.padding = '20px';
            popup.style.border = '1px solid #ccc';
            popup.style.boxShadow = '0 2px 4px rgba(0, 0, 0, 0.2)';
            popup.style.zIndex = '9999';
            popup.innerHTML = `
        <p id="timeCount">5秒后执行脚本?</p>
        <button id="confirmButton">是</button>
        <button id="cancelButton">否</button>
       `;

            document.body.appendChild(popup);

            var confirmButton = document.getElementById('confirmButton');
            var cancelButton = document.getElementById('cancelButton');
            var confirmed = false;
            let juNext = false;

            popup.style.display = 'block';

            confirmButton.addEventListener('click', function() {
                confirmed = true;
                closePopup();
                resolve(false);
            });

            cancelButton.addEventListener('click', function() {
                ddds3.children().remove();
                addMessage("刷新页面即可重启");
                confirmed = true;
                closePopup();
                resolve(true);
            });

            function ju(time){
                if(!confirmed){
                    if(time < 1){
                        popup.innerHTML = ` <p>时间到了! 脚本启动.</p>`;
                        setTimeout(function() {
                            closePopup();
                            resolve(false);
                            
                        }, 1000);
                    }
                    else{
                        document.getElementById('timeCount').innerText = time+'秒后执行脚本?';
                    }
                    
                    setTimeout(function(){
                        ju(--time)
                    },1000);

                }
            }

            ju(5);

            function closePopup() {
                popup.style.display = 'none';
            }
        });

    }

    function getCourseIndex(){
        let oldData = GM_getValue('courseIndex');
        if (Array.isArray(oldData)) {
            return oldData;
        }
        return [];
    }

    function setCourseIndex(indexList){

        GM_setValue('courseIndex',indexList);

        return true;
    }

    var wait = null;
    var overlay;

    // 手动启动定时器
    function startTimer() {
        wait = setInterval(function (){
            ddds3.children().first().remove();
            if(window.location.href.split('?')[0] === 'https://ifang.hnteacher.net/HTML/WorkShops/workshop-courses.html'){
                addMessage("选课页");
                saveHomeUrl();
                tipsWin().then((result) => {
                    if(!result){
                        setTimeout(function(){
                            addMessage("启动");
                            allCours = document.querySelector("#courseList").childElementCount;
                            if(allCours <= 0){
                                addMessage("无待学课程");
                                stopTimer();
                                return;
                            }

                            if(getCourseIndex()[0] === 'x'){
                                addMessage("课程学习完毕,清除缓存刷新即可重启");
                                return;
                            }
                            else if(getCourseIndex().length < 1){
                                addMessage("新记录");
                                let indexList = [];
                                for(let i=0;i<allCours;i++){
                                    indexList.push(i);
                                }
                                setTimeout(function(){
                                    setCourseIndex(indexList);
                                    xuanKe(0,allCours);
                                },1000);
                            }
                            else{
                                addMessage("读取记录");
                                xuanKe(0,allCours);
                            }

                        },1000);
                    }else{
                        addMessage("取消");
                    }
                });

            }
            else if(window.location.href.split('?')[0] === 'https://ifang.hnteacher.net/HTML/WorkShops/workshop-course-details.html'){
                addMessage("章节列表");
                saveChapterUrl();
                tipsWin().then((result) => {
                    if(!result){
                        setTimeout(function(){
                            addMessage("启动");
                            chapterCount = document.querySelector("#courseList").childElementCount;

                            search();
                        },1000);
                    }else{
                        addMessage("取消");
                    }
                });
            }
            else if(window.location.href.split('?')[0] === 'https://ifang.hnteacher.net/HTML/WorkShops/workshop-course-play.html'){
                addMessage("学习页");

                tipsWin().then((result) => {
                    if(!result){
                        setTimeout(function(){
                            addMessage("启动");
                            let cTime = parseInt(document.querySelector("#_ctime").innerText) + 2;
                            listenTime(cTime);
                        },1000);
                    }else{
                        addMessage("取消");
                    }
                });
            }
            else{
                addMessage("请先前往选课界面");
                addMessage("tips:");
                addMessage("选课界面若无自动跳转,请检查浏览器地址栏");
                addMessage("提示选择允许跳转与重定向");
            }
           stopTimer();
        }, 100);
    }

    // 手动停止定时器
    function stopTimer() {
        clearInterval(wait);
    }

    startTimer();

    function toggleOverlay(show) {
        if (show) {
            overlay = document.createElement('div');
            overlay.style.position = 'fixed';
            overlay.style.top = '0';
            overlay.style.left = '0';
            overlay.style.width = '100%';
            overlay.style.height = '100%';
            overlay.style.backgroundColor = 'rgba(0, 0, 0, 0.5)';
            overlay.style.zIndex = '9999';

            overlay.addEventListener('click', function(event) {
                event.stopPropagation();
                event.preventDefault();
            });

            document.body.appendChild(overlay);
        } else {
            if (overlay) {
                overlay.parentNode.removeChild(overlay);
                overlay = null;
            }
        }
    }

    function reloadPage(){
        setInterval(function (){
            window.location.reload()
        },1000*60*33);
    }

    var cIndex = 0;
    function xuanKe(index,count){
        if(index < count){
            if(!document.querySelector("#courseList").getElementsByTagName('input')[0].checked){
                document.querySelector("#courseList").getElementsByTagName('input')[index].click();

                setTimeout(function(){
                    cLCount = document.querySelector("#courseList2").childElementCount;
                    cIndex = index;
                    xuanKeTow(0,cLCount);
                },1000);
            }else{
                addMessage("无需选课");
                tempTime = 0;
                setTimeout(function(){
                    xuanKe(++cIndex,allCours);
                },1000);
            }
        }
        else{
            addMessage("已完成选课course");
            setTimeout(function(){
                let oldCourseIndex = getCourseIndex();
                console.log(oldCourseIndex);
                let a = oldCourseIndex[0];
                oldCourseIndex.shift();

                if(oldCourseIndex.length < 1){
                    oldCourseIndex.push('x');
                }

                console.log(a);
                setCourseIndex(oldCourseIndex);
                if(a >= count || a === undefined || a === 'x'){
                    addMessage("请清空缓存刷新重启");
                    return;
                }
                document.querySelector("#courseList").children[a].querySelector('a').click();
            },1000);
        }
    }

    var cLCount = 0;
    var tempTime = 0;
    function xuanKeTow(index,count){
        if(index < count){

            if(tempTime < 13.4){
                tempTime = tempTime + parseFloat(document.querySelector("#courseList2").children[index].getElementsByTagName('span')[0].innerText.split(':')[3]);

                document.querySelector("#courseList2").children[index].getElementsByTagName('input')[0].click();
                addMessage("已选:"+tempTime+"小时");
                xuanKeTow(++index,count)
            }
            else{
                addMessage("已完成选课time,");


                document.querySelector("#btn_sub").click();
                tempTime = 0;
                setTimeout(function(){
                    xuanKe(++cIndex,allCours);
                },1000);
            }
        }
        else{
            addMessage("已完成选课count");

            document.querySelector("#btn_sub").click();
            tempTime = 0;
            setTimeout(function(){
                xuanKe(++cIndex,allCours);
            },1000);
        }
    }

    var min = 0;
    function listenTime(ctime){
        min = parseInt(document.querySelector("#min").innerText);
        // addMessage(ctime+"/"+min);
        if(ctime <= min){
            addMessage("学习已达标");
            setTimeout(function(){
                window.open(getChapterUrl(),'_self');
            },3000);
        }
        else{
            addMessage("学习未达标");
            setTimeout(function(){
                listenTime(ctime)
            },1000 * 30);
        }
    }

})();