Greasy Fork is available in English.
点击知识中心右下加的启动按钮,开启无人值守自动挂课模式!
当前为
// ==UserScript==
// @name 中国电信网上大学知识中心自动挂课
// @namespace http://tampermonkey.net/
// @version 0.1
// @description 点击知识中心右下加的启动按钮,开启无人值守自动挂课模式!
// @author HuangDingYun
// @match https://kc.zhixueyun.com/
// @icon https://www.google.com/s2/favicons?sz=64&domain=zhixueyun.com
// @require https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/jquery/3.2.1/jquery.min.js
// @grant unsafeWindow
// @grant GM_openInTab
// @grant GM.openInTab
// @grant GM_getValue
// @grant GM.getValue
// @grant GM_setValue
// @grant GM.setValue
// @grant GM_xmlhttpRequest
// @grant GM.xmlHttpRequest
// @grant GM_registerMenuCommand
// @grant GM_addValueChangeListener
// ==/UserScript==
var $ = unsafeWindow.jQuery;
var classList = new Array();
var nowCount = 0;
var divButton = '<div class="item" onclick="startAutoClass()"> <div id="startAutoPlayer" class="view"> <i class="iconfont icon-play"></i> <div class="text">自动挂课</div> </div> </div>';
var mideaButton = '<div id="clcikPlay" class="item" onclick="playMedil()"> <div id="startPlay" class="view"> <i class="iconfont icon-play"></i> <div class="text">播放</div> </div> </div>';
(function() {
'use strict';
setTimeout(function(){
var url=window.location.hash
var urlStr=url.toString()
//增加页面功能按钮
if(urlStr.match("/study/subject/detail/")){
$("#D60toolbarTab").append(divButton)
}else{
//$("#D60toolbarTab").append(mideaButton)
}
//判断是否是课程页面
if($("div.vjs-duration-display").size()!=0){
isFinished()
}
},2500);
setTimeout(function(){
if($("button.videojs-referse-btn").size()!=0){
playMedil()
//$("button.videojs-referse-btn").get(0).click();
}
},4000);
// Your code here...
})();
unsafeWindow.startAutoClass =function (){
$("div.catalog-state-info").each(function(index,element){
$(this).children("div").each(function(index,element){
$(this).children("div.default-skin").each(function(index,element){
if($(this).children("i.icon-reload").size()==0){
classList.push($(this).get(0).parentNode)
}
})
})
})
openClassPage(0);
}
GM_onMessage('_.unique.name.greetings', function(src, message) {
console.log('[onMessage]', src, '=>', message);
nowCount++;
if(nowCount<classList.length){
openClassPage(nowCount);
}})
function GM_onMessage(label, callback) {
GM_addValueChangeListener(label, function() {
callback.apply(undefined, arguments[2]);
});
}
function GM_sendMessage(label) {
GM_setValue(label, Array.from(arguments).slice(1));
}
function isFinished(){
let timer =setTimeout(function () {
if($("div.anew-text").size()!=0&&$("div.anew-text").text()=="您已完成该课程的学习"){
GM_sendMessage('_.unique.name.greetings', window.location.href,"finished at "+new Date());
window.close();
}else{
//console.log("学习中");
isFinished()
}
}, 1000)
}
function openClassPage(nowCount){
var page=0
$("div.catalog-state-info").each(function(index,element){
$(this).children("div").each(function(index,element){
$(this).children("div.default-skin").each(function(index,element){
if($(this).children("i.icon-reload").size()==0){
if(nowCount==page){
$(this).get(0).click();
//console.log($(this).get(0).parentNode)
//console.log(nowCount+"->"+page)
}
page++;
}
})
})
})
}
unsafeWindow.playMedil = function(){
if($("button.videojs-referse-btn").size()!=0){
//console.log($("button.videojs-referse-btn").get(0))
//console.log($("span.vjs-control-text:contains(', opens captions settings dialog')"))
if($("span.vjs-control-text:contains(', opens captions settings dialog')").size()!=0){
$("span.vjs-control-text:contains(', opens captions settings dialog')").remove();
}
$("span.vjs-control-text").click()
}
}
function play(index){
setTimeout(function(){
if(index<$("span.vjs-control-text").size()){
console.log(index);
$("span.vjs-control-text").get(index).click();
index++;
play(index);
}
},2000);
}