🏠 Home 

西南科技大学视频学习

西南科技大学学习助手,2倍速看视频,尚课平台。

// ==UserScript==
// @name         西南科技大学视频学习
// @namespace    https://greasyfork.org/zh-CN/users/707063-genexy
// @version      202106101511
// @description  西南科技大学学习助手,2倍速看视频,尚课平台。
// @author       流浪的蛊惑
// @run-at       document-end
// @match        *://learnspace.swust.net.cn/*
// @grant        none
// ==/UserScript==
(function() {
'use strict';
var gjs=0,gwxsj={gt:[]},gjdcx=true;
var sftj=true;//是否初始化
var gtime=0,gstu=null,gtjsj,gpidx=0;
function getParams(c) {
var d = {
courseId: c.courseId,
itemId: c.itemId,
time1: CommonUtil.formatStr((new Date()).getTime(), 20),
time2: CommonUtil.formatStr(parseInt(c.startTime), 20),
time3: CommonUtil.formatStr(CommonUtil.timeToSeconds(c.videoTotalTime), 20),
time4: CommonUtil.formatStr(parseInt(c.endTime), 20),
videoIndex: c.videoIndex,
time5: CommonUtil.formatStr(c.studyTimeLong, 20),
terminalType: c.terminalType
};
return d
}
function gtjjl(data){
var d = CommonUtil.getPlatformPath() + "/course/study/learningTime_saveVideoLearnDetailRecord.action";
var p = d + "?studyRecord=" + encodeURIComponent(data);
$.ajax({
url: p,
type: "GET",
cache: false,
success: function(e) {
$("#gtjjg").html((new Date()).getTime()+"<br />"+e);
}
});
}
function ggetjd(data){
let tjsj="{\"params.courseId\":\""+data.courseId+"\",\"params.itemId\":\""+data.itemId+"\",\"params.videoTotalTime\":\""+data.videoTotalTime+"\"}"
$.ajax({
method:"POST",
url:"/learnspace/learn/learn/common/video_learn_record_detail.action",
data:JSON.parse(tjsj),
success:function(e){
$("#gwxx").html(e);
gjdcx=true;
},
error:function(xhr, textStatus, errorThrown){
console.log("进入error---");
console.log("状态码:"+xhr.status);
console.log("状态:"+xhr.readyState);//当前状态,0-未初始化,1-正在载入,2-已经载入,3-数据进行交互,4-完成。
console.log("错误信息:"+xhr.statusText );
console.log("返回响应信息:"+xhr.responseText );//这里是详细的信息
console.log("请求状态:"+textStatus);
console.log(errorThrown);
console.log("请求失败");
}
});
}
setInterval(function(){
let gzj1=document.getElementsByClassName("dumascroll_area");
if(gzj1.length>0){
let gxx=localStorage.getItem(_ACTIVITYID_);
let gj1=gzj1[0].getElementsByTagName("li");
for(let i=0;i<gj1.length;i++){
if(gj1[i].getElementsByTagName("span")[0].className!="done"){
if(gxx==null){
gj1[i].getElementsByTagName("span")[0].className="done";
localStorage.setItem(_ACTIVITYID_,"开始学习");
gj1[i].getElementsByTagName("a")[0].click();
break;
}
}
}
let gj2=gzj1[0].getElementsByClassName("s_point");
for(let i=0;i<gj2.length;i++){
if(gj2[i].getAttribute("itemtype")=="video" && gj2[i].getAttribute("completestate")=="0"){
if(gxx==null){
localStorage.setItem(_ACTIVITYID_,"开始学习");
gj2[i].click();
break;
}
}
}
}
if(sftj){
if($.defaults!=undefined){
gtime=CommonUtil.timeToSeconds($.defaults.videoTotalTime);
gstu=$.defaults;
if(gstu.position>0){
let gpro=document.getElementsByClassName("cont video1")[0];
gpro.innerHTML="<div style=\"text-align:center;\"><div id=\"gzt\">平台限制最高可以2倍速度学习,学习可多开,倍速学习中…</div><div id=\"gxxjd\"></div><div id=\"gtjjg\"></div><div id=\"gwxx\"></div></div>";
sftj=false;
ggetjd(gstu);
}
gtjsj=5;
}
}
if(gtime>0){
if($(".track-undo").length>0 && gjdcx && gpidx==0){
let gstr="未学习部分:";
gpidx=0;
gwxsj={gt:[]};
for(let i=0;i<$(".track-undo").length;i++){
let gsj=$(".track-undo")[i].getElementsByClassName("track-txt");
let gwx={
gks:CommonUtil.timeToSeconds(gsj[0].innerText.replace(/开始:/g,"")),
gjs:CommonUtil.timeToSeconds(gsj[1].innerText.replace(/结束:/g,""))
};
gstr+="<div>从 "+gwx.gks+" 到 "+gwx.gjs+" 秒</div>";
gwxsj.gt.push(gwx);
}
$("#gwxx").html(gstr);
}
if(gwxsj.gt.length>0 && gjdcx){
gjdcx=false;
gtime=gwxsj.gt[gpidx].gjs;
gstu.startTime=gwxsj.gt[gpidx].gks;
gstu.position=gwxsj.gt[gpidx].gks;
gstu.endTime=gwxsj.gt[gpidx].gks;
}
if(gtime==0){
gtime=CommonUtil.timeToSeconds($.defaults.videoTotalTime);
}
gstu.position+=2.1;
gstu.endTime+=2.1;
if(parseInt(gstu.position)>=gtime){
gstu.position=gtime;
gstu.endTime=gtime;
gtjsj=0;
gjdcx=true;
gpidx++;
}
var  gtj=getParams(gstu);
gjs++;
$("#gxxjd").text("当前时间:"+parseInt(gstu.position)+" 秒,结束时间:"+gtime+" 秒。");
if(gjs>gtjsj){
gjs=0;
gtjsj=30;
gstu.startTime=parseInt(gstu.position);
gtjjl((CommonUtil.encrypt(JSON.stringify(gtj))));
if(gpidx==gwxsj.gt.length){
gtime=0;
localStorage.removeItem(_ACTIVITYID_);
}
}
}else{
sftj=true;
}
},1000);
})();