您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
storehouse
此脚本不应直接安装。它是供其他脚本使用的外部库,要使用该库请加入元指令 // @require https://update.gf.qytechs.cn/scripts/491905/1373123/gjdtwlxy.js
// ==UserScript== // @name gjdtwlxy // @namespace http://tampermonkey.net/ // @version 0.0.8 // @description storehouse // @author Xiguayaodade // @license MIT // @match *://e-learning.spicti.com/* // @grant GM_info // @grant GM_getTab // @grant GM_saveTab // @grant GM_setValue // @grant GM_getValue // @grant GM_addStyle // @grant unsafeWindow // @grant GM_listValues // @grant GM_deleteValue // @grant GM_notification // @grant GM_xmlhttpRequest // @grant GM_getResourceText // @grant GM_registerMenuCommand // @grant GM_unregisterMenuCommand // @grant GM_addValueChangeListener // @grant GM_removeValueChangeListener // @namespace http://tampermonkey.net/ // @homepage http://8.130.116.135/?article/ // @source http://8.130.116.135/?article/ // @icon https://picx.zhimg.com/v2-ce62b58ab2c7dc67d6cabc3508db5795_l.jpg?source=32738c0c // @connect icodef.com // @connect localhost // @antifeature free 限时免费 // @require https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js // ==/UserScript== (function() { 'use strict'; /* globals jQuery, $, waitForKeyElements */ // 检查当前窗口是否为顶层窗口 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 = 1; var sectionCount = 0; var sectionId = 1; var search = null; var searchVD = null; var searchFC = null; let uL = null; var courseCount = 0; var courseIndex = 0; function savePID(pid){ GM_setValue('pageID',pid); } function getPID(){ let oldPage = GM_getValue('pageID'); if(!oldPage){ savePID(21); return 21; } return oldPage; } function saveTable(table){ GM_setValue('table',table); } function getTable(){ let oldTable = GM_getValue('table'); if(!oldTable){ saveTable('全部'); return '全部'; } return oldTable; } function saveTablePID(table,tablePid){ GM_setValue(table,tablePid); } function getTablePID(table){ let oldTablePage = GM_getValue(table); if(!oldTablePage){ saveTablePID(table,1); return 1; } return oldTablePage; } search = function(){ if(chapterId <= chapterCount){ if(sectionId <= sectionCount){ addMessage("\u5171"+chapterCount+"\u7ae0\uff0c\u5f53\u524d\u7b2c"+chapterId+"\u7ae0\u7b2c"+sectionId+"\u8282\uff0c\u5171"+sectionCount+"\u8282\u3002"); var xxjd = document.getElementsByClassName("subject-catalog subject-catalog-new")[0].getElementsByTagName("li")[chapterId-1].getElementsByClassName("item current-hover")[sectionId-1].getElementsByClassName("iconfont m-right")[1].innerText; if(xxjd === '重新学习'){ addMessage("\u7b2c"+chapterId+"\u7ae0\u7b2c"+sectionId+"\u8282\u5df2\u5b8c\u6210\uff0c\u68c0\u7d22\u4e0b\u4e00\u8282\u3002"); sectionId++; search(); }else{ addMessage("\u7b2c"+chapterId+"\u7ae0\u7b2c"+sectionId+"\u8282\u672a\u5b8c\u6210\uff0c\u5373\u5c06\u8fdb\u5165\u5b66\u4e60\u3002"); setTimeout(function(){ document.getElementsByClassName("subject-catalog subject-catalog-new")[0].getElementsByTagName("li")[chapterId-1].getElementsByClassName("item current-hover")[sectionId-1].getElementsByClassName("iconfont m-right")[1].click(); },1000); } }else{ addMessage("\u5f53\u524d\u7ae0\u8282\u5df2\u5b8c\u6210\uff0c\u68c0\u7d22\u4e0b\u4e00\u7ae0\u3002"); sectionId = 1; chapterId++; if(chapterId <= chapterCount){ sectionCount = document.getElementsByClassName("subject-catalog subject-catalog-new")[0].getElementsByTagName("li")[chapterId-1].getElementsByClassName("item current-hover").length; } search(); } }else{ addMessage("\u5b66\u4e60\u5b8c\u6210\uff0c\u9000\u51fa\uff01"); } } searchVD = function(){ // let xxzt = document.getElementsByClassName("section-item section-item11")[0].getElementsByTagName("span")[1].innerText; if(document.getElementsByTagName('video')[0].paused){ let btnCloseNext = null; if(document.querySelector("#content > div.app-content > div.content.drizzle-content > div > div.top.new-course-top > div > div.player-wrapper.new-play-wrapper.play-area-padding.player-section-video > div > div.player-content.relative.new-play-content.new-play-content-warp > div:nth-child(5) > div") != null){ btnCloseNext = document.querySelector("#content > div.app-content > div.content.drizzle-content > div > div.top.new-course-top > div > div.player-wrapper.new-play-wrapper.play-area-padding.player-section-video > div > div.player-content.relative.new-play-content.new-play-content-warp > div:nth-child(5) > div"); if(btnCloseNext != null && btnCloseNext.children[1].children[1].innerText === '关闭'){ addMessage("本章结束,5S后自动返回首页"); setTimeout(function(){ window.open('https://e-learning.spicti.com/#/study/course/index','_self'); setTimeout(function(){ window.location.reload(); clearInterval(searchFC); },3000); },5000); } else if(btnCloseNext != null && btnCloseNext.children[1].children[1].innerText.slice(-3) === '下一节'){ addMessage("小节结束"); } else{ addMessage("暂停了,我帮你自动播放咯"); document.getElementsByTagName('video')[0].play(); } }else{ addMessage("本章结束,5S后自动返回首页"); setTimeout(function(){ window.open('https://e-learning.spicti.com/#/study/course/index','_self'); setTimeout(function(){ window.location.reload(); clearInterval(searchFC); },3000); },5000); } }else{ addMessage("\u5f53\u524d\u89c6\u9891\u6b63\u5728\u5b66\u4e60\u4e2d\uff0c\u8bf7\u8010\u5fc3\u7b49\u5f85\u002e\u002e\u002e"); } } 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); // setTimeout(function(){ // // 手动启动定时器 // startTimer(); // window.open("https://jlufe.mhtall.com/jlufe/rs/roll_course");"_self" // window.close(); // },1000); }, 1000); } document.getElementById('timeCount').innerText = time+'秒后执行脚本?' setTimeout(function(){ ju(--time) },1000); } } ju(5); function closePopup() { popup.style.display = 'none'; } }); } const panel = function(){ var container = $('<div id="gm-interface"></div>'); var titleBar = $('<div id="gm-title-bar">\ud83c\udf49课时工具\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').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: 20%;width:90%;height:10%;padding: 3px;background: #ffedf0;border-radius: 5px;">\u70b9\u51fb\u542f\u52a8\uff1a<button id="startxg" style="position: absolute;width:48px;right: 10px;background-color: #ffe5e5;border-radius: 4px;border-color: #ffc0c0;color: grey;">\u542f\u52a8</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: 50%;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;"><a href="http://8.130.116.135/?article/" style="position: absolute;right: 10px;text-decoration: none;color: pink;">\u003e\u003e\u003e\</a></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: 400 }); }); ddds3.on('mousewheel', function(event) { event.preventDefault(); var scrollTop = ddds3.scrollTop(); ddds3.scrollTop(scrollTop + event.originalEvent.deltaY); }); addMessage = function(message){ if (ddds3.children().length >= 288) { ddds3.children().first().remove(); } var messageElement = $('<div class="message"></div>').text(message).css({ 'margin-bottom': '10px' }).appendTo(ddds3); } } panel(); addMessage("\u002d\u002d\u002d\u002d\u6b63\u5728\u542f\u52a8\uff0c\u8bf7\u7a0d\u540e\u002e\u002e\u002e\u002d\u002d\u002d\u002d"); var wait; // 手动启动定时器 function startTimer() { wait = setInterval(function (){ ddds3.children().remove(); if(window.location.href === "https://e-learning.spicti.com/#/home"){ addMessage("\u5f53\u524d\u5904\u4e8e\u9996\u9875\uff0c\u8bf7\u8fdb\u5165\u5bf9\u5e94\u8bfe\u7a0b\u5c06\u81ea\u52a8\u64ad\u653e"); }else if(window.location.href.substring(0,42) === "https://e-learning.spicti.com/oauth/#login"){ addMessage("登录(不可用)页"); clearInterval(wait); }else if(window.location.href === "https://e-learning.spicti.com/#/study/course/index"){ clearInterval(wait); tipsWin().then((result) => { if(!result){ addMessage("课程页,无需操作,将自动播放"); clearInterval(wait); if(document.querySelector("#D203registerMask") != null){ document.querySelector("#D203registerMask").click(); } setTimeout(function(){ let oldTable = getTable(); if(oldTable === '全部'){ let oldPID = getPID(); selectPage(oldPID); }else{ addMessage(oldTable+"!=全部:"+(oldTable != '全部')); document.querySelector("#D164more-btn-2").click(); setTimeout(function(){ let tatleCount = document.querySelector("#D164topic-box").childElementCount; for(let i=0;i<tatleCount; i++){ let forTatle = document.querySelector("#D164topic-box").children[i].innerText; if(oldTable === forTatle){ document.querySelector("#D164topic-box").children[i].click(); setTimeout(function(){ let oldPID = getTablePID(oldTable); try{ selectPage(oldPID); }catch(e){ addMessage("标签:"+oldTable+",没有课程请重新设置"); } },800); return; }else if(i == (tatleCount-1)){ addMessage("没有标签:"+oldTable+",请重新设置"); } } },800); } clearInterval(wait); },2000); }else{ addMessage("取消"); inputTable(); } }); }else if(window.location.href === "https://e-learning.spicti.com/#/study/subject/index"){ addMessage("\u5f53\u524d\u5904\u4e8e\u4e13\u9898\u9875\u8bf7\u9009\u62e9\u5bf9\u5e94\u8bfe\u7a0b\uff0c\u5c06\u81ea\u52a8\u64ad\u653e"); }else if(window.location.href.substring(0,53) === "https://e-learning.spicti.com/#/study/subject/detail/"){ addMessage("\u5f53\u524d\u5904\u4e8e\u8bfe\u7a0b\u7ae0\u8282\u9875\u65e0\u9700\u64cd\u4f5c\uff0c\u5c06\u81ea\u52a8\u64ad\u653e"); chapterCount = document.getElementsByClassName("subject-catalog subject-catalog-new")[0].getElementsByTagName("li").length; sectionCount = document.getElementsByClassName("subject-catalog subject-catalog-new")[0].getElementsByTagName("li")[chapterId-1].getElementsByClassName("item current-hover").length; setTimeout(search,1000); clearInterval(wait); }else if(window.location.href.substring(0,52) === "https://e-learning.spicti.com/#/study/course/detail/"){ addMessage("当前处于课程视频页无需操作,将自动播放"); if(document.querySelector("#D203registerMask") != null){ document.querySelector("#D203registerMask").click(); } setTimeout(function(){ document.getElementsByTagName('video')[0].play(); },2000); searchFC = setInterval(searchVD,8000); clearInterval(wait); } }, 2000) } function inputTable(){ ddds3.children().remove(); let tableForm = $('<div id="tableForm"><div><input type="text" id="xgtable" placeholder="请输入下次要学习的标签"></div><button id="xgsave" style="width:88px;background-color: #ffe5e5;border-radius: 4px;border-color: #ffc0c0;color: grey;">保存</button></div>'); tableForm.appendTo(ddds3); $("#xgsave").on('click',function(){ let table = $("#xgtable").val(); if(table === '' || table === null){ alert("标签名为空!"); } else{ console.log(table); GM_setValue('table',table); alert('保存成功:('+GM_getValue('table')+'),刷新页面即可自启动'); } }); } // 手动停止定时器 function stopTimer() { clearInterval(wait); } startTimer(); function selectPage(oldPID){ let nowPID = getNowPid(); if(nowPID < oldPID){ console.log('nowPID',nowPID); let btnCount = document.querySelector("#D162pager").childElementCount; document.querySelector("#D162pager > div:nth-child("+btnCount+") > i").click(); setTimeout(function(){ selectPage(oldPID) },800); } else{ console.log('nowPID',nowPID,'oldPID',oldPID); setTimeout(function(){ setTimeout(function(){ uL = document.querySelector("#content > div.app-content > div.content.drizzle-content > div > div > div.page-main-one > div > div.main-list.course-list > ul"); courseCount = uL.childElementCount; courseIndex = 0; setTimeout(function(){ selectStudying(); clearInterval(wait); },2000); },1000); },2000); } } function getNowPid(){ let nowPIDSTR = document.querySelector("#D162pager").getElementsByClassName('item active')[0].dataset.page let nowPID = parseInt(nowPIDSTR); return nowPID; } function selectStudying(){ if(courseIndex < courseCount){ let uL = document.querySelector("#content > div.app-content > div.content.drizzle-content > div > div > div.page-main-one > div > div.main-list.course-list > ul"); let a = uL.children[courseIndex].children[0].children[0].children[0].childElementCount; let title = uL.children[courseIndex].children[0].children[1].getElementsByClassName('text-overflow title')[0].innerText; let b = document.querySelector("#content > div.app-content > div.content.drizzle-content > div > div > div.page-main-one > div > div.main-list.course-list > ul").children[courseIndex].children[0].children[1].children[1].title.split('|')[0].split(':')[1]; if(!isNaN(parseInt(b))){ if(a != 1){ let status = uL.children[courseIndex].children[0].children[0].innerText; addMessage(status+"status"); if(status === '已完成'){ addMessage(title+"|已完成"); courseIndex++; setTimeout(function(){ selectStudying(); },200); } if(status === '学习中'){ // addMessage(title+"|未完成"); // let imSrc = uL.children[2].children[0].children[0].children[0].children[0].style.backgroundImage; // if(imSrc != 'url("images/default-cover/default_course.jpg")'){ // if(getTable() === '全部'){ // savePID(getNowPid()); // }else{ // saveTablePID(getTable(),getNowPid()) // } // uL.children[courseIndex].children[0].children[1].children[0].children[0].click(); // setTimeout(function(){ // window.close(); // },3000); // }else{ // addMessage(title+"|PPT,无需学习"); // courseIndex++; // setTimeout(function(){ // selectStudying(); // },200); // } addMessage(title+"|学习过,无需学习"); courseIndex++; setTimeout(function(){ selectStudying(); },200); } }else{ addMessage(title+"|开始学习"); let imSrc = uL.children[2].children[0].children[0].children[0].children[0].style.backgroundImage; if(imSrc != 'url("images/default-cover/default_course.jpg")'){ if(getTable() === '全部'){ savePID(getNowPid()); }else{ saveTablePID(getTable(),getNowPid()) } uL.children[courseIndex].children[0].children[1].children[0].children[0].click(); setTimeout(function(){ window.close(); },3000); }else{ addMessage(title+"|PPT,无需学习"); courseIndex++; setTimeout(function(){ selectStudying(); },200); } } } else{ addMessage(title+"|无学分,无需学习"); courseIndex++; setTimeout(function(){ selectStudying(); },200); } } else{ addMessage("|一页结束"); let btnCount = document.querySelector("#D162pager").childElementCount; document.querySelector("#D162pager > div:nth-child("+btnCount+") > i").click(); // uL = document.querySelector("#content > div.app-content > div.content.drizzle-content > div > div > div.page-main-one > div > div.main-list.course-list > ul"); courseCount = uL.childElementCount; courseIndex = 0; setTimeout(function(){ selectStudying(); },5000); } } })();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址