石铁大继续教育平台自动观看视频、PPT
// ==UserScript== // @name 【挂机助手】石家庄铁道大学继续教育学习平台 // @namespace http://neko.net/ // @version 3.11 // @description 石铁大继续教育平台自动观看视频、PPT // @author kakasearch // @match http://jxjy.stdu.edu.cn/student/BootStrap_* // @match http://220.194.70.38/student/BootStrap_* // @match https://jxjy.stdu.edu.cn/student/BootStrap_* // @match https://220.194.70.38/student/BootStrap_* // @icon data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiID8+DQo8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPg0KPHN2ZyB3aWR0aD0iODAwcHQiIGhlaWdodD0iODAwcHQiIHZpZXdCb3g9IjAgMCA4MDAgODAwIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQo8ZyBpZD0iI2ZmN2YwMmZmIj4NCjxwYXRoIGZpbGw9IiNmZjdmMDIiIG9wYWNpdHk9IjEuMDAiIGQ9IiBNIDUzNi42OCAxNTYuMDYgQyA1MzYuODQgMTQ2Ljk3IDU0Mi4yNyAxMzguMTIgNTUwLjkyIDEzNC44NiBDIDU1Mi44NSAxNDMuODYgNTU0LjcyIDE1Mi44NyA1NTYuNjAgMTYxLjg3IEMgNTU3LjA2IDE2NS4yOSA1NTkuNTcgMTY3LjgxIDU2MS4zNiAxNzAuNTkgQyA1NzMuNjcgMTY5LjYzIDU4Ni41NCAxNzEuMzUgNTk3LjM0IDE3Ny42NSBDIDYwOC41MyAxODQuMDUgNjE2Ljk0IDE5NC44MSA2MjEuMjIgMjA2LjkwIEMgNjI2LjEyIDIxNy4wOCA2MzcuMjAgMjIzLjUyIDYzOS41NiAyMzUuMDUgQyA2MzcuNjIgMjQ3LjIzIDYzNS40OCAyNTkuOTggNjI4LjUyIDI3MC40NSBDIDYyMi40NCAyNzkuNjMgNjEyLjA3IDI4NC45NyA2MDEuNTMgMjg3LjIxIEMgNTkwLjgxIDI4OS4zOCA1NzkuMzIgMjg5LjkwIDU2OS43MiAyOTUuNjkgQyA1NjUuODYgMjk3Ljk3IDU2Mi4wOCAzMDIuMjYgNTYzLjQ2IDMwNy4wOCBDIDU3MS44NiAzNDMuNDcgNTc0LjU5IDM4MS42NiA1NjcuMjkgNDE4LjQ3IEMgNTYyLjI2IDQ0My4zNSA1NTIuODUgNDY3Ljc4IDUzNy4yMCA0ODcuOTYgQyA1MzMuMzcgNDkzLjE2IDUyOC4wNSA0OTcuMTYgNTI0LjgyIDUwMi44MiBDIDUxOS42MyA1MTEuNTEgNTE4LjE0IDUyMi4wMyA1MTkuNTIgNTMxLjk2IEMgNTIwLjAwIDU0OC4zMCA1MjUuNzcgNTYzLjgyIDUzMC45OSA1NzkuMTIgQyA1MzkuOTUgNjA0LjA5IDU1MC41NSA2MjguNDMgNTYxLjU2IDY1Mi41NiBDIDU2NS45MyA2NTMuNzUgNTcwLjg1IDY1My42MCA1NzQuNjcgNjU2LjMyIEMgNTc5LjA3IDY1OS4xOSA1ODMuNjcgNjYyLjc0IDU4NS4yMyA2NjguMDAgQyA1ODYuNzAgNjcyLjk3IDU4My43OSA2NzcuOTQgNTgwLjIxIDY4MS4yMCBDIDU3Ny40OSA2ODQuMDAgNTczLjU2IDY4NC44MyA1NzAuMDAgNjg2LjAyIEMgNTYwLjY5IDY4OC44MCA1NTAuMjQgNjg5Ljk1IDU0MS4xMSA2ODUuOTIgQyA1MzMuOTIgNjgyLjgzIDUyOC41OSA2NzYuNDAgNTI1Ljk1IDY2OS4xMyBDIDUxNC4zMiA2NjcuOTIgNTAzLjcwIDY2MS4zMyA0OTYuODUgNjUxLjk1IEMgNDg1Ljc5IDYzNy4xMiA0ODEuMjUgNjE4LjcyIDQ3Ny41NyA2MDAuOTAgQyA0NzUuMjkgNTkwLjU0IDQ3NC42NSA1NzkuMzggNDY4LjgxIDU3MC4xOSBDIDQ2Ni4xMCA1NjUuNzcgNDYxLjc0IDU2Mi4yNiA0NTYuNTEgNTYxLjQ2IEMgNDU1Ljk0IDU3Ny42MSA0NDkuNzAgNTkyLjk1IDQ0Mi4wMiA2MDYuOTUgQyA0MzcuMjYgNjE1Ljg2IDQzMC4zOCA2MjMuODcgNDI4LjA4IDYzMy45MyBDIDQyNi45NSA2MzguMzQgNDI3LjU2IDY0My43NSA0MzEuNDMgNjQ2LjY2IEMgNDM1Ljg3IDY1MC4xNiA0NDEuODAgNjQ5LjcxIDQ0Ny4xMSA2NTAuMjcgQyA0NTYuNDYgNjUxLjE0IDQ2NS44NyA2NTEuNjUgNDc1LjIwIDY1Mi43NiBDIDQ4Mi44NSA2NTQuOTMgNDkxLjI1IDY1OC4yNiA0OTUuMzggNjY1LjUzIEMgNDk4Ljg0IDY3MS45MyA0OTUuOTUgNjc5LjUzIDQ5MS44MSA2ODQuODUgQyA0NjUuMTggNjg1LjAyIDQzOC41NSA2ODUuODkgNDExLjk2IDY4Ny40MCBDIDM5NS45NiA2ODguMjggMzc5LjkzIDY4OS43NSAzNjMuOTAgNjg4Ljc2IEMgMzU0LjM5IDY4OC4xMyAzNDQuNjMgNjg2LjU4IDMzNi4yNSA2ODEuODEgQyAzMzAuNTggNjc4LjY2IDMyNS45MCA2NzQuMTIgMzIxLjMzIDY2OS41OSBDIDMxNC42OCA2NjMuMDUgMzA1LjA0IDY2MC43MyAyOTUuOTYgNjYwLjU3IEMgMjgyLjE0IDY2MC4zNyAyNjguNDcgNjYzLjk3IDI1NS45MSA2NjkuNTcgQyAyNDQuMzggNjc1LjIwIDIzMi4yMCA2NzkuMzUgMjE5Ljk4IDY4My4xOSBDIDE5NS4yNiA2OTAuNzMgMTY5Ljg1IDY5Ni41OCAxNDQuMDEgNjk4LjMzIEMgMTI4Ljg4IDY5OS4xNSAxMTMuMjAgNjk4Ljg2IDk4Ljg3IDY5My40MCBDIDg4LjkwIDY4OS42NCA3OS44MSA2ODIuMDEgNzYuNTkgNjcxLjU4IEMgNzQuMjAgNjYzLjg3IDc2LjcyIDY1NS41NiA4MS4xOSA2NDkuMTMgQyA4Ny43MCA2MzkuNzIgOTYuOTMgNjMyLjYyIDEwNi4zOSA2MjYuMzcgQyAxMjIuMjggNjE1Ljk1IDEzOS45MCA2MDguNjQgMTU3LjQxIDYwMS40MyBDIDE2NS40MSA1OTguMzEgMTczLjQzIDU5NS4wNSAxODEuODUgNTkzLjIzIEMgMTg0LjE5IDU5Mi42MiAxODYuNjMgNTkyLjYyIDE4OC45OCA1OTMuMjQgQyAxODkuMDEgNTk2Ljg4IDE4Ni42MSA1OTkuNzkgMTg0LjM5IDYwMi40MiBDIDE3OS41NiA2MDcuOTMgMTczLjk0IDYxMi42OCAxNjguMzEgNjE3LjM0IEMgMTY2LjI3IDYxOC45OCAxNjQuMjcgNjIwLjczIDE2MS44OCA2MjEuODQgQyAxNTEuMTEgNjI2LjgwIDE0MC40MiA2MzIuMDEgMTMwLjQ1IDYzOC40NiBDIDEyNi41NCA2NDEuMTAgMTIyLjUxIDY0My43OSAxMTkuNTkgNjQ3LjU2IEMgMTE4LjM5IDY0OS4xMyAxMTcuMjggNjUxLjUwIDExOC42OSA2NTMuMzEgQyAxMjAuODQgNjU2LjIxIDEyNC43MSA2NTYuOTMgMTI4LjA4IDY1Ny4zMCBDIDEzNS4xNSA2NTcuODMgMTQyLjIzIDY1Ni44MyAxNDkuMTkgNjU1LjY4IEMgMTY3LjM3IDY1Mi40MyAxODUuMTYgNjQ3LjM3IDIwMi45NyA2NDIuNTYgQyAyMTUuODQgNjM5LjA3IDIyNy4zOCA2MzAuMTMgMjMyLjc3IDYxNy43OCBDIDIzNC4zOCA2MTQuMTggMjM1LjYxIDYxMC40MSAyMzYuMzUgNjA2LjU0IEMgMjM4Ljk3IDU4NS4wOSAyNDMuMjUgNTYzLjg1IDI0OC4zOSA1NDIuODYgQyAyNTcuODMgNTA1LjA0IDI3MS4zMCA0NjcuOTQgMjkxLjI3IDQzNC4zNCBDIDMwNy43NiA0MDYuNTMgMzI5LjAyIDM4MS4zMyAzNTQuOTQgMzYxLjg3IEMgMzY5LjU0IDM1MC43OCAzODUuNjQgMzQxLjg2IDQwMi4xNSAzMzMuOTQgQyA0MDcuNDUgMzMxLjE1IDQxMy4zNiAzMjguOTggNDE3LjQ3IDMyNC40NCBDIDQyOC40MSAzMTIuODggNDQzLjc1IDMwNi4zNiA0NTMuNzggMjkzLjgxIEMgNDU4LjI3IDI4OC4zNiA0NjEuNTkgMjgxLjk1IDQ2My4zOSAyNzUuMTIgQyA0NjcuMTQgMjU5LjcyIDQ3NC4xOCAyNDUuNDAgNDgxLjQ0IDIzMS40MSBDIDQ4OC4yMiAyMTguNDQgNDk1Ljg1IDIwNS45MiA1MDMuNTAgMTkzLjQ2IEMgNTA0LjQ2IDE4MS40OCA1MDYuNTcgMTY5LjIzIDUxMi43MSAxNTguNzAgQyA1MTYuMjkgMTUyLjMyIDUyMS4xMiAxNDYuNTkgNTI3LjE1IDE0Mi40MSBDIDUzMC4zMyAxNDYuOTUgNTMzLjU1IDE1MS40NyA1MzYuNjggMTU2LjA2IFoiIC8+DQo8L2c+DQo8ZyBpZD0iIzJjMmMyY2ZmIj4NCjxwYXRoIGZpbGw9IiMyYzJjMmMiIG9wYWNpdHk9IjEuMDAiIGQ9IiBNIDEyMi40NiAzNTQuNDUgQyAxMjUuMDUgMzUyLjQ1IDEyNy40MiAzNDkuNDUgMTMwLjk5IDM0OS40NiBDIDEzNS4yNyAzNDkuNDMgMTQwLjgzIDM0OC4zNyAxNDMuNzMgMzUyLjQxIEMgMTQ2LjI2IDM1NS4zNiAxNDUuNDggMzYwLjEwIDE0Mi40MyAzNjIuMzggQyAxMDYuNTUgMzkyLjM3IDcwLjU5IDQyMi4yNyAzNC42OCA0NTIuMjIgQyA3MC40OCA0ODIuMTAgMTA2LjM0IDUxMS45MiAxNDIuMTQgNTQxLjgwIEMgMTQ0LjYwIDU0My42NiAxNDYuMDQgNTQ2Ljk4IDE0NC44OCA1NDkuOTkgQyAxNDMuMjMgNTU0LjI0IDEzOC4yMiA1NTYuNDQgMTMzLjg3IDU1NS43NyBDIDEyOS45MCA1NTUuMjkgMTI3LjEzIDU1Mi4xNCAxMjQuMTcgNTQ5Ljc4IEMgODYuNTMgNTE4LjQzIDQ4LjkyIDQ4Ny4wMiAxMS4yNSA0NTUuNzAgQyA5LjIzIDQ1My4wMSA5LjE5IDQ0OC4yMyAxMi4yOCA0NDYuMjcgQyA0OS4wMyA0MTUuNjkgODUuNzMgMzg1LjA1IDEyMi40NiAzNTQuNDUgWiIgLz4NCjxwYXRoIGZpbGw9IiMyYzJjMmMiIG9wYWNpdHk9IjEuMDAiIGQ9IiBNIDY1Ni40MSAzNTQuMzMgQyA2NTkuMDggMzQ5LjE0IDY2Ni41MCAzNDcuNTggNjcxLjI2IDM1MC43NyBDIDY3My44MSAzNTIuNDggNjc2LjA0IDM1NC42MyA2NzguNDMgMzU2LjU2IEMgNzE1LjU1IDM4Ny40NiA3NTIuNjIgNDE4LjQ0IDc4OS43NiA0NDkuMzAgQyA3OTEuOTEgNDUyLjAwIDc5MS44NSA0NTYuNzMgNzg4Ljc0IDQ1OC43MiBDIDc1MC42OSA0OTAuMzYgNzEyLjcyIDUyMi4xMCA2NzQuNjggNTUzLjc1IEMgNjcxLjQzIDU1Ni40OSA2NjYuODIgNTU1LjUyIDY2Mi45MiA1NTUuNTQgQyA2NTguNjUgNTU1LjU1IDY1NC45NyA1NTEuMTggNjU1Ljg2IDU0Ni45NyBDIDY1Ni4xNiA1NDQuOTQgNjU3LjYzIDU0My40MSA2NTkuMTEgNTQyLjEzIEMgNjk0Ljg1IDUxMi4zNSA3MzAuNTggNDgyLjU2IDc2Ni4zMiA0NTIuNzggQyA3MzAuNTEgNDIyLjkwIDY5NC42NSAzOTMuMDggNjU4Ljg1IDM2My4xOSBDIDY1Ni4xNiAzNjEuMjEgNjU0LjgwIDM1Ny40MSA2NTYuNDEgMzU0LjMzIFoiIC8+DQo8L2c+DQo8L3N2Zz4NCg== // @require https://update.greasyfork.org/scripts/494892/1376206/jquery-351.js // @require https://greasyfork.org/scripts/425166-elegant-alert-%E5%BA%93/code/elegant%20alert()%E5%BA%93.js?version=922763 // @grant GM_setValue // @grant GM_getValue // @grant unsafeWindow // @run-at document-start // ==/UserScript== (function() { function inject_panel(){ let top = 145 let left = 18 /*if(GM_getValue('panel')){ top = GM_getValue('panel')[0] left = GM_getValue('panel')[1] }*/ let css =`<style type="text/css"> .panel{ -webkit-text-size-adjust: 100%; -webkit-tap-highlight-color: rgba(0,0,0,0); --antd-wave-shadow-color: #00c758; font-feature-settings: "tnum"; font: 12px/1.5 "Arial", "Hiragino Sans GB", "SimSun", "serif"; font-size: 15px; line-height: 1.4; margin: 0; padding: 0; outline: none; z-index: 99; position: absolute; font-family: 'Microsoft Yahei'; width: max-content; top: ${top}px; left: ${left}px; } .panel_head{ user-select: none; text-align: center; height: 35px; padding: 4px 10px; font-weight: bold; font-size: 1.5em; line-height: 30px; color: black; background-color: rgba(255,127,2,0.8); cursor: move; } .panel_con{ padding: 10px; background-color: rgba(248,248,248,0.8); height: max-content; } .panel_list{ padding: 0 10px; } .panel_list > li{ list-style: none; color: #333; clear: none; font-weight: bold; margin-top: 5px; } </style> ` let div = `<div class = "panel"> <div class="panel_head">挂机助手</div> <div class ="panel_con"> <ul class ="panel_list"> <li><img src="https://greasyfork.s3.us-east-2.amazonaws.com/g54gqrpva1e8aabe87octe4ifzvr"></li> <li>需要代做网课请扫描上方二维码</li> </ul> </div> </div> ` $("head").append(css); $("body").append(div); $.fn.extend({ dragBox: function(drag, wrap) { let that = this; var initX, initY, dragable = false, wrapLeft = $(wrap).offset().left; var wrapTop = $(wrap).offset().top; drag.addEventListener('dblclick', function(e) { /* if (/收起/.test(this.innerText)) { this.innerText = '双击显示'; $('.panel_con').hide(); } else { this.innerText = '双击收起'; $('.panel_con').show(); } */ }, false); drag.addEventListener("mousedown", function(e) { dragable = true; initX = e.clientX; initY = e.clientY; wrapLeft = $(wrap).offset().left; wrapTop = $(wrap).offset().top; }, false); document.addEventListener("mousemove", function(e) { if (dragable === true) { var nowX = e.clientX, nowY = e.clientY, disX = nowX - initX, disY = nowY - initY; $(wrap).offset({ left: wrapLeft + disX, top: wrapTop + disY }); } }); drag.addEventListener("mouseup", function(e) { dragable = false; wrapLeft = $(wrap).offset().left; wrapTop = $(wrap).offset().top; that.top = wrapTop - $(window).scrollTop(); that.left = wrapLeft; GM_setValue('panel',[that.top,that.left]) }, false); },}) $('.panel').dragBox($('.panel_head')[0],$('.panel')[0]); } var shua_type = /BootStrap_Video/.test(window.location.href)?"video":"ppt" unsafeWindow.confirm = function(message){ if(/上次位置继续观看/.test(message)){ new ElegantAlertBox("自动从上次位置播放"); return 1 }else{ new ElegantAlertBox(message); } } function shua_video(){ $('video')[0].addEventListener('pause',function(){ if (GM_getValue('do')) { $('video')[0].play() setTimeout(function(){ new ElegantAlertBox('已自动恢复 >__<')},2000) } }) $('video')[0].addEventListener('ended',function(){ new ElegantAlertBox('这个视频已经刷完了哦>__<') setTimeout(function() { if ( GM_getValue('do')) { new ElegantAlertBox('播放下一个>__<') document.querySelector('#nextChapter').click() } },1000) }) $("video")[0].muted = true new ElegantAlertBox('2s后开始刷课,如未播放视频,请手动点击播放') setTimeout(function() {$("video")[0].play()},2000) } function diffTime(startDate,endDate) { var diff=endDate - startDate;//.getTime();//时间差的毫秒数 //计算出相差天数 var days=Math.floor(diff/(24*3600*1000)); //计算出小时数 var leave1=diff%(24*3600*1000); //计算天数后剩余的毫秒数 var hours=Math.floor(leave1/(3600*1000)); //计算相差分钟数 var leave2=leave1%(3600*1000); //计算小时数后剩余的毫秒数 var minutes=Math.floor(leave2/(60*1000)); //计算相差秒数 var leave3=leave2%(60*1000); //计算分钟数后剩余的毫秒数 var seconds=Math.round(leave3/1000); return minutes+"分"+seconds+"秒" } function ppt_next(){ new ElegantAlertBox('这个ppt已经刷完了哦>__<') if ( GM_getValue('do')) { let ppt_list = document.querySelectorAll(".menu_body > span > a:nth-child(2)") for (var i = 0; i < ppt_list.length-1; i++) { if(ppt_list[i].href == window.location.href){ for (var j = i; j < ppt_list.length-1; j++) { if(ppt_list[j+1].href.length){ window.location.href = ppt_list[j+1].href break; } } break; } } } } function shua_ppt(){ //setInterval(function(){ new ElegantAlertBox('ppt挂机脚本运行失败,请自行观看或联系我')},5000) // return let total_time = parseInt(document.querySelector("#Lbl_spsc").innerText) let had_time = $("#lbl_zsc")[0]? parseInt($("#lbl_zsc")[0].innerText): 0 let need_time = (total_time - had_time)*60 +10 //nedd_time+10s后下一个 //1分钟跟新一次 //开始 let jilu_btn = document.querySelector("#btn_jldqsj0") if(jilu_btn){ //start jilu_btn.click() //记录学习时间 -> 结束时间 new ElegantAlertBox('开始刷ppt>__<') setTimeout(function(){ jilu_btn.click() ppt_next() },need_time*1000) // listen,以免中断 jilu_btn.addEventListener('click',function(){ if (GM_getValue('do')) { if (jilu_btn.value == "结束计时") { setTimeout(function(){ new ElegantAlertBox('已自动恢复 >__<') if (jilu_btn.value != "结束计时") { jilu_btn.click() } },2000) } } }) }else{ //不需要刷,直接下一个 ppt_next() } } //控制什么时候刷 let promise = null //GM_setValue('do',0) /* $('#shua_all_video')[0].addEventListener('click',function(){ if (this.innerText == "取消刷课"){ GM_setValue('do',0); new ElegantAlertBox("已取消刷课>__<") this.innerText = "开始刷课" promise = clearInterval(promise) }else{ this.innerText = "取消刷课" GM_setValue('do',1) if (shua_type == "video") { promise = setInterval(function(){ new ElegantAlertBox('正在观看视频 >__<')},5000) shua_video() }else{ shua_ppt() } new ElegantAlertBox("开始刷课>__<") } })*/ if(! /Video|PPT/.test(window.location.href)){ if(/BootStrap_index|CourseIndex/.test(window.location.href)){ inject_panel() } }else{ var tmp = setInterval(function(){ if ($("video") || $("#btn_jldqsj0")) { clearInterval(tmp) new ElegantAlertBox('准备开始看视频/PPT') inject_panel() if (shua_type == "video") { shua_video() }else{ shua_ppt() } } },1000) } })();