Greasy Fork is available in English.

百年树人网络学习平台-bcvet-简单版

自动进课程|自动看完关闭课程|无自动切换功能|代刷vx:shuake345

// ==UserScript==
// @name         百年树人网络学习平台-bcvet-简单版
// @namespace    vx:shuake345
// @version      0.1
// @description  自动进课程|自动看完关闭课程|无自动切换功能|代刷vx:shuake345
// @author       vx:shuake345
// @match        *://www.bcvet.cn/web/*
// @match        *://www.bcvet.cn/webv3/*
// @icon         http://www.bcvet.cn/favicon.ico
// @grant        none
// ==/UserScript==

(function() {
	'use strict';

	function gb() {
		window.close()
	}

	function sx() {
		window.location.reload()
	}

	const Tween = {
       Linear: function Linear(e, t, r, n) {
        return r * e / n + t;
       },
       Quad: {
        easeIn: function easeIn(e, t, r, n) {
         return r * (e /= n) * e + t;
        },
        easeOut: function easeOut(e, t, r, n) {
         return -r * (e /= n) * (e - 2) + t;
        },
        easeInOut: function easeInOut(e, t, r, n) {
         return (e /= n / 2) < 1 ? r / 2 * e * e + t : -r / 2 * (--e * (e - 2) - 1) + t;
        }
       },
       Cubic: {
        easeIn: function easeIn(e, t, r, n) {
         return r * (e /= n) * e * e + t;
        },
        easeOut: function easeOut(e, t, r, n) {
         return r * ((e = e / n - 1) * e * e + 1) + t;
        },
        easeInOut: function easeInOut(e, t, r, n) {
         return (e /= n / 2) < 1 ? r / 2 * e * e * e + t : r / 2 * ((e -= 2) * e * e + 2) + t;
        }
       },
       Quart: {
        easeIn: function easeIn(e, t, r, n) {
         return r * (e /= n) * e * e * e + t;
        },
        easeOut: function easeOut(e, t, r, n) {
         return -r * ((e = e / n - 1) * e * e * e - 1) + t;
        },
        easeInOut: function easeInOut(e, t, r, n) {
         return (e /= n / 2) < 1 ? r / 2 * e * e * e * e + t : -r / 2 * ((e -= 2) * e * e * e - 2) + t;
        }
       },
       Quint: {
        easeIn: function easeIn(e, t, r, n) {
         return r * (e /= n) * e * e * e * e + t;
        },
        easeOut: function easeOut(e, t, r, n) {
         return r * ((e = e / n - 1) * e * e * e * e + 1) + t;
        },
        easeInOut: function easeInOut(e, t, r, n) {
         return (e /= n / 2) < 1 ? r / 2 * e * e * e * e * e + t : r / 2 * ((e -= 2) * e * e * e * e + 2) + t;
        }
       },
       Sine: {
        easeIn: function easeIn(e, t, r, n) {
         return -r * Math.cos(e / n * (Math.PI / 2)) + r + t;
        },
        easeOut: function easeOut(e, t, r, n) {
         return r * Math.sin(e / n * (Math.PI / 2)) + t;
        },
        easeInOut: function easeInOut(e, t, r, n) {
         return -r / 2 * (Math.cos(Math.PI * e / n) - 1) + t;
        }
       },
       Expo: {
        easeIn: function easeIn(e, t, r, n) {
         return 0 == e ? t : r * Math.pow(2, 10 * (e / n - 1)) + t;
        },
        easeOut: function easeOut(e, t, r, n) {
         return e == n ? t + r : r * (1 - Math.pow(2, -10 * e / n)) + t;
        },
        easeInOut: function easeInOut(e, t, r, n) {
         return 0 == e ? t : e == n ? t + r : (e /= n / 2) < 1 ? r / 2 * Math.pow(2, 10 * (e - 1)) + t : r / 2 * (2 - Math.pow(2, -10 * --e)) + t;
        }
       },
       Circ: {
        easeIn: function easeIn(e, t, r, n) {
         return -r * (Math.sqrt(1 - (e /= n) * e) - 1) + t;
        },
        easeOut: function easeOut(e, t, r, n) {
         return r * Math.sqrt(1 - (e = e / n - 1) * e) + t;
        },
        easeInOut: function easeInOut(e, t, r, n) {
         return (e /= n / 2) < 1 ? -r / 2 * (Math.sqrt(1 - e * e) - 1) + t : r / 2 * (Math.sqrt(1 - (e -= 2) * e) + 1) + t;
        }
       },
       Elastic: {
        easeIn: function easeIn(e, t, r, n, a, o) {
         return 0 == e ? t : 1 == (e /= n) ? t + r : (o || (o = .3 * n), !a || a < Math.abs(r) ? (a = r,
          i = o / 4) : i = o / (2 * Math.PI) * Math.asin(r / a), -a * Math.pow(2, 10 * (e -= 1)) * Math.sin((e * n - i) * (2 * Math.PI) / o) + t);
         var i;
        },
        easeOut: function easeOut(e, t, r, n, a, o) {
         return 0 == e ? t : 1 == (e /= n) ? t + r : (o || (o = .3 * n), !a || a < Math.abs(r) ? (a = r,
          i = o / 4) : i = o / (2 * Math.PI) * Math.asin(r / a), a * Math.pow(2, -10 * e) * Math.sin((e * n - i) * (2 * Math.PI) / o) + r + t);
         var i;
        },
        easeInOut: function easeInOut(e, t, r, n, a, o) {
         return 0 == e ? t : 2 == (e /= n / 2) ? t + r : (o || (o = n * (.3 * 1.5)), !a || a < Math.abs(r) ? (a = r,
          i = o / 4) : i = o / (2 * Math.PI) * Math.asin(r / a), e < 1 ? a * Math.pow(2, 10 * (e -= 1)) * Math.sin((e * n - i) * (2 * Math.PI) / o) * -.5 + t : a * Math.pow(2, -10 * (e -= 1)) * Math.sin((e * n - i) * (2 * Math.PI) / o) * .5 + r + t);
         var i;
        }
       },
       Back: {
        easeIn: function easeIn(e, t, r, n, a) {
         return null == a && (a = 1.70158), r * (e /= n) * e * ((a + 1) * e - a) + t;
        },
        easeOut: function easeOut(e, t, r, n, a) {
         return null == a && (a = 1.70158), r * ((e = e / n - 1) * e * ((a + 1) * e + a) + 1) + t;
        },
        easeInOut: function easeInOut(e, t, r, n, a) {
         return null == a && (a = 1.70158), (e /= n / 2) < 1 ? r / 2 * (e * e * ((1 + (a *= 1.525)) * e - a)) + t : r / 2 * ((e -= 2) * e * ((1 + (a *= 1.525)) * e + a) + 2) + t;
        }
       },
       Bounce: {
        easeIn: function easeIn(e, t, r, n) {
         return r - Tween.Bounce.easeOut(n - e, 0, r, n) + t;
        },
        easeOut: function easeOut(e, t, r, n) {
         return (e /= n) < 1 / 2.75 ? r * (7.5625 * e * e) + t : e < 2 / 2.75 ? r * (7.5625 * (e -= 1.5 / 2.75) * e + .75) + t : e < 2.5 / 2.75 ? r * (7.5625 * (e -= 2.25 / 2.75) * e + .9375) + t : r * (7.5625 * (e -= 2.625 / 2.75) * e + .984375) + t;
        },
        easeInOut: function easeInOut(e, t, r, n) {
         return e < n / 2 ? .5 * Tween.Bounce.easeIn(2 * e, 0, r, n) + t : .5 * Tween.Bounce.easeOut(2 * e - n, 0, r, n) + .5 * r + t;
        }
       }
      }

	function Zy() {
		var KC = document.querySelectorAll('div.button___1-Wab')
		for (var i = 0; i < KC.length; i++) {
			if (KC[i].innerText == '学习课程') {
				KC[i].click()
				break;
			}
		}
	}

	function Cy() {
		if (document.querySelectorAll('div.title>span')[0].innerText == '已完成') {
			setTimeout(gb, 2254)
		}
	}

	function Sy() {
		if (document.getElementsByTagName('video').length == 1) {
			if (document.getElementsByTagName('video')[0].volume !== 0) {
				document.getElementsByTagName('video')[0].volume = 0
				document.getElementsByTagName('video')[0].play()
			}
		}
		if (document.getElementById('spanLeavTimes').innerText.search('分钟') < 0) {
			setTimeout(gb, 2254)
		}
		if (document.getElementById('reStartStudy') !== null) {
			setTimeout(sx, 2254)
		}
	}

	function QT() {
		document.getElementsByClassName('titleName')[0].innerText = '代刷VX:shuake345'
		var d1 = document.getElementsByClassName('couInfoWrap')[0];
		var img = document.createElement("img");
		img.style = "width:230px; height:230px;"
		img.src = "https://img.nuannian.com/files/images/23/0305/1677989951-1403.jpg";
		d1.appendChild(img);
	}
	setTimeout(QT, 2520)

	function Pd() {
		/*if(document.URL.search('video')>2){
        setInterval(Sy,8520)
    }else */
		if (document.URL.search('outCourse') > 2) {
			setInterval(Cy, 5230)
		} else if (document.URL.search('webv3') > 2) {
			setTimeout(Zy, 54)
		}
	}
	setTimeout(Pd, 3254)
    function Reg_Get(HTML, reg) {
      let RegE = new RegExp(reg);
      try {
        return RegE.exec(HTML)[1];
      } catch (e) {
        return "";
      }
    }
    function ACSetValue(key, value) {
      GM_setValue(key, value);
      if(key === 'Config'){
        if (value) localStorage.ACConfig = value;
      }
    }
    function getElementByXpath(e, t, r) {
      r = r || document, t = t || r;
      try {
        return r.evaluate(e, t, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;
      } catch (t) {
        return void console.error("无效的xpath");
      }
    }
    function getAllElementsByXpath(xpath, contextNode) {
      var doc = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : document;
      contextNode = contextNode || doc;
      var result = [];
      try {
        var query = doc.evaluate(xpath, contextNode, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
        for (var i = 0; i < query.snapshotLength; i++) {
          var node = query.snapshotItem(i); //if node is an element node
          if (node.nodeType === 1) result.push(node);
        }
      } catch (err) {
        throw new Error(`Invalid xpath: ${xpath}`);
      } //@ts-ignore
      return result;
    }
function getAllElements(selector) {
      var contextNode = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;
      var doc = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : document;
      var win = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : window;
      var _cplink = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : undefined;
      if (!selector) return []; //@ts-ignore
      contextNode = contextNode || doc;
      if (typeof selector === 'string') {
        if (selector.search(/^css;/i) === 0) {
          return getAllElementsByCSS(selector.slice(4), contextNode);
        } else {
          return getAllElementsByXpath(selector, contextNode, doc);
        }
      } else {
        var query = selector(doc, win, _cplink);
        if (!Array.isArray(query)) {
          throw new Error('Wrong type is returned by getAllElements');
        } else {
          return query;
        }
      }
    }
})();