// ==UserScript== // @name 云班课视频秒刷助手 // @namespace https://github.com/52beijixing/ybk // @version 1.0.0 // @description 助力云班课视频学习,让你更快完成学习与学业! // @author 52beijixing // @match https://www.mosoteach.cn/web/index.php?c=res&m=index&clazz_course_id=* // @icon https://static-cdn-oss.mosoteach.cn/mosoteach2/common/images/favicon.ico // @license MIT // @grant none // @downloadURL https://update.greasyfork.icu/scripts/445382/%E4%BA%91%E7%8F%AD%E8%AF%BE%E8%A7%86%E9%A2%91%E7%A7%92%E5%88%B7%E5%8A%A9%E6%89%8B.user.js // @updateURL https://update.greasyfork.icu/scripts/445382/%E4%BA%91%E7%8F%AD%E8%AF%BE%E8%A7%86%E9%A2%91%E7%A7%92%E5%88%B7%E5%8A%A9%E6%89%8B.meta.js // ==/UserScript== (function() { 'use strict'; // URL获取对应参数函数 function getQueryVariable(variable){ var query = window.location.search.substring(1); var vars = query.split("&"); for (var i=0;i'+dumtName+'
视频长度:'+time+'
'; //点击【一键刷课】按钮事件 var aDiv=document.getElementById(dumtId); aDiv.addEventListener('click', function(){ //获取点击按钮对应的课件id let id = window.event.target.id; // 视频观看进度保存的接口URL var currentOpenUrl = 'https://www.mosoteach.cn/web/index.php?c=res&m=save_watch_to' //获取视频时间和长度 let video_time = document.getElementById("time"+id).innerText.replace(/[^0-9]/ig,""); let video_time_length = video_time.length; if(video_time_length == 5){ video_time = "0"+video_time; } let hour = parseInt(video_time.slice(0,2)); let min = parseInt(video_time.slice(2,4)); let sec = parseInt(video_time.slice(4)); let sum = sec + min * 60 + hour * 3600 + 1; //发送请求 let a = $.ajax({ url: currentOpenUrl,//json文件位置,文件名 data: { "clazz_course_id": clazz_course_id, "res_id": id, "watch_to": sum, "duration": sum, "current_watch_to": sum }, type: "POST",//请求方式为get dataType: "json", //返回数据格式为json async: false, success: function(data) {//请求成功完成后要执行的方法 } }); // 获取课程状态数据 let data = a.responseJSON; // 一键刷课成功,提示 if(data == "success"){ //获取课程名称 let name = document.getElementById("name"+id).innerText; var tt = document.createElement("div"); alert.appendChild(tt); tt.style = 'position: fixed;left: 0;top: 20px;right: 0;display: flex;width:400px;margin:0 auto;'; tt.innerHTML = '
【刷课成功】'+name+'
'; setTimeout(function(){ tt.innerHTML = ''; },10000); setTimeout(function(){ tt.parentNode.removeChild(tt); },10000); } }) //点击【状态查询】按钮事件 var state=document.getElementById("state"+dumtId); state.addEventListener('click', function(){ //获取点击按钮对应的课件id let id = window.event.target.id; id = id.slice(5); //获取视频时间和长度 let video_time = document.getElementById("time"+id).innerText.replace(/[^0-9]/ig,""); let video_time_length = video_time.length; if(video_time_length == 5){ video_time = "0"+video_time; } // 视频观看进度保存的接口URL var currentOpenUrl = 'https://www.mosoteach.cn/web/index.php?c=res&m=get_video_record' //发送请求 let a = $.ajax({ url: currentOpenUrl,//json文件位置,文件名 data: { "res_id": id }, type: "POST",//请求方式为get dataType: "json", //返回数据格式为json async: false, success: function(data) {//请求成功完成后要执行的方法 } }); // 获取课程状态数据 let data = a.responseJSON.data; //获取课程名称 let name = document.getElementById("name"+id).innerText; var tt = document.createElement("div"); alert.appendChild(tt); if(data.last_watch_to == null){ tt.style = 'position: fixed;left: 0;top: 20px;right: 0;display: flex;width:400px;margin:0 auto;'; tt.innerHTML = '
【从未观看】'+name+'
'; $('#tt'+id)[0].innerHTML = "从未观看"; $('#tt'+id)[0].style = 'padding:5px 10px;margin:0 20px;background:white;border-radius:5px;color:red;'; }else{ //输出已观看的时长 let last_watch_to = parseInt(data.last_watch_to); let hour = parseInt(last_watch_to / 3600); if(hour < 10){ hour = "0"+hour; } let min = parseInt(last_watch_to % 3600 / 60); if(min < 10){ min = "0"+min; } let second = parseInt(last_watch_to % 60); if(second < 10){ second = "0"+second; } let tt_time = ""+hour+min+second; tt.style = 'position: fixed;left: 0;top: 20px;right: 0;display: flex;width:400px;margin:0 auto;'; if(video_time > tt_time){ tt.innerHTML = '
【尚未完成】'+name+'
'; $('#tt'+id)[0].innerHTML = "尚未完成"; $('#tt'+id)[0].style = 'padding:5px 10px;margin:0 20px;background:white;border-radius:5px;color:red;'; }else{ tt.innerHTML = '
【已看完】'+name+'
'; $('#tt'+id)[0].innerHTML = "已经完成"; $('#tt'+id)[0].style = 'padding:5px 10px;margin:0 20px;background:black;border-radius:5px;color:white;'; } } setTimeout(function(){ tt.innerHTML = ''; },5000); setTimeout(function(){ tt.parentNode.removeChild(tt); },5000); }) } } // 关闭,点击隐藏刷课样式 var ybk_no=document.getElementById("ybk_no"); ybk_no.addEventListener('click', function(){ div.style = "display:none;"; document.documentElement.style.overflow = 'auto'; $('.back-top-button').fadeIn(); }) // 设置,点击显示刷课样式 set_up.addEventListener('click',function(){ div.style = "display:block;position:fixed;top:0px;left:0px;font-size:14px;border-radius: 5px;background:rgba(224, 224, 224, 0.9);box-shadow: 20px 20px 60px #bebebe,-20px -20px 60px #ffffff;width:100%;height:100%;overflow:auto;"; document.documentElement.style.overflow = 'hidden'; $('.back-top-button').fadeOut(); }) // Your code here... })();