leibingcn / 21tb学习连续播放

// ==UserScript==
// @license MIT
// @name         21tb学习连续播放
// @namespace    http://tampermonkey.net/
// @version      1.0
// @description  21tb 学习连续播放
// @author       bing
// @match        *://*.21tb.com/*
// @icon         https://qn.whyour.cn/favicon.svg
// @grant        GM_getValue
// @grant        GM_setValue
// @grant        GM_addStyle
// @grant        GM_deleteValue
// @grant        GM_setClipboard
// @grant        GM_registerMenuCommand
// @grant        GM_getResourceURL
// @grant        GM_addValueChangeListener
// @grant        GM_removeValueChangeListener
// @grant        GM_getResourceText
// @grant        window.close
// @grant        unsafeWindow
// ==/UserScript==
(function() {
    'use strict';
        function study() {
          //检测并发异常
          var error_tips = document.querySelector(".error_tips")
          if(error_tips != null){
            // 刷新页面
            msg("刷新");
            //document.location.reload();
            return;
          }

          //课程类型一:单一课程类型
          var cl_head_tip = document.querySelector(".cl-head-tip")
          if(cl_head_tip != null){
            if (cl_head_tip.innerText.indexOf("已学习") > 0) {
              cl_head_tip.click();
              msg("学习中");
              return;
            }
            else{
              msg("学习完成" , cl_head_tip.innerText)
              clearInterval(intervalId);
              return;
            }
          }

          //课程类型二:课程列表类型
          var section_item = document.querySelectorAll(".section-item")
          if(section_item != null){
            for (let index = 0; index < section_item.length; index++) {
                if (section_item[index].innerText.indexOf("学习中") > 0) {
                  // if(realoadId ==0){
                  //   realoadId = setInterval(reload , realoadTime*1000);
                  // }
                  // else{
                  //   realoadTime=realoadTime-10;
                  // }
                  // msg("学习中-刷新时间:" + realoadTime);
                  msg("学习中");
                    return;
                }
            }
            //学习下一项
            for (let index = 0; index < section_item.length; index++) {
                if (section_item[index].innerText.indexOf("已完成") == -1) {
                    msg("学习下一项");
                    section_item[index].click();
                    return;
                }
            }
            msg("学习完成!");
            clearInterval(intervalId);
          }

      }

      function reload(){
        document.location.reload();
      }
      function msg( msgInfo){
        const now = new Date();

        const year = now.getFullYear();
        const month = ('0' + (now.getMonth() + 1)).slice(-2);
        const day = ('0' + now.getDate()).slice(-2);
        const hours = ('0' + now.getHours()).slice(-2);
        const minutes = ('0' + now.getMinutes()).slice(-2);
        const seconds = ('0' + now.getSeconds()).slice(-2);

        const formattedTime =   hours +":"+ minutes +":"+ seconds;


        console.log(document.title +"-"+formattedTime+ ":" + msgInfo)
      }
      var realoadId =0;
      var realoadTime =120;
      var intervalId = setInterval(study , 10000);
      msg("启动");
})();