Last active
February 27, 2019 14:43
-
-
Save cygmris/29ca84b9bd719b47d28b2334dda9cd34 to your computer and use it in GitHub Desktop.
monicar.js
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| window.ajaxAddXxgj = function () { | |
| //首先判断如果原来有定时器,就先停止,否则计时会加速 | |
| if (myRecordTimeId) { | |
| clearInterval(myRecordTimeId); | |
| } | |
| //开启一个定时器,每隔1秒数字加1,用来记录视频播放的秒数 | |
| myRecordTime = 0; //每次要重置 | |
| myRecordTimeId = setInterval(function () { | |
| myRecordTime = parseInt(myRecordTime) + 1; | |
| }, 1000); | |
| $("#sptm").hide(); | |
| $(".vm_content").css("z-index", "1"); | |
| $.ajax({ | |
| url: "/StudentManage/AddXxgj", | |
| type: "get", | |
| timeout: 5000, //超时时间设置,单位毫秒 | |
| data: { lmid: lmid, spid: spid, kmid: xxlx }, | |
| dataType: "json", | |
| success: function (data) { | |
| if (data) { | |
| ClearCheck();//清除视频试题 | |
| if (data.msg == 0) { | |
| //if (confirm("传送学时失败!是否继续传送?")) { | |
| // ajaxAddXxgj(); | |
| //} | |
| }else if (data.msg == -1) { | |
| //学时学满4学时了 | |
| alert("您今日已经学满4个学时,不再记录学时!"); | |
| myClearTimer(); | |
| } else if (data.msg == -2) { | |
| alert("登录超时,可能原因:1、还没有激活学习卡 2、用户在其他地方登录 3、同一台电脑登录了多个账号。请重新登录!"); | |
| location.href = '/Account/LogOnStu'; | |
| } | |
| if (data.msg == 1) { | |
| ; | |
| } | |
| if (data.Rule == 1) { | |
| rule = 1; | |
| } else if (data.Rule == 2) { | |
| rule = 2; | |
| ve = undefined; | |
| if (data.exam) { | |
| if(window.stillHave>=0) monicarPlayNext(window.stillHave) | |
| KSPDT(data.exam); | |
| } | |
| $("#veimg").removeAttr("src"); | |
| $("#veimg").attr("src", "/StudentManage/GetVideoExamImage?date" + new Date()); | |
| } else if (data.Rule == 3) { | |
| rule = 3; | |
| if (data.exam) { | |
| if(window.stillHave>=0) monicarPlayNext(window.stillHave) | |
| KSPDT(data.exam); | |
| } | |
| $("#veimg").removeAttr("src"); | |
| $("#veimg").attr("src", "/StudentManage/GetVideoExamImage?date" + new Date()); | |
| // ve = data.exam; | |
| ve = undefined; | |
| } | |
| //else { | |
| // myVideoStop(); | |
| //} | |
| //else if (data.msg == "") { | |
| ////暂停 | |
| // myVideoStop(); | |
| // //alert("您的登录已超时,请重新登录!"); | |
| // //window.location.href = "/Account/LogOnStu"; | |
| //} | |
| } | |
| }, | |
| error: function (data) { | |
| //if (confirm("传送学时失败!是否继续传送?")) { | |
| // ajaxAddXxgj(); | |
| //} | |
| }, | |
| complete: function (XMLHttpRequest, status) { //请求完成后最终执行参数 | |
| if (status == 'timeout') {//超时,status还有success,error等值的情况 | |
| ajaxAddXxgj.abort(); | |
| if (confirm("传送学时超时,是否继续传送?")) { | |
| ajaxAddXxgj(); | |
| } | |
| } | |
| } | |
| }); | |
| } | |
| window.ajaxEditXxgj= function() { | |
| //停止计时 | |
| if (myRecordTimeId) { | |
| clearInterval(myRecordTimeId); | |
| } | |
| //获取视频播放的秒数 | |
| var myPlayTime = myRecordTime; | |
| //获取该视频的实际时长 | |
| // var realVideoTime = parseInt(CKobject.getObjectById('ckplayer_a1').ckplayer_getstatus()["totaltime"]);//6.3版本 | |
| var realVideoTime = parseInt(CKobject.getObjectById('ckplayer_a1').getStatus()["totalTime"]); //6.5版本 | |
| //alert(myRecordTime + "==" + realVideoTime); | |
| //var TokenValue = $("input[name=__RequestVerificationToken]").val(); | |
| $.ajax({ | |
| url: "/StudentManage/EditXxgj", | |
| type: "get", | |
| timeout: 5000, //超时时间设置,单位毫秒 | |
| data: { | |
| //__RequestVerificationToken: TokenValue, | |
| lmid: lmid, | |
| spid: spid, | |
| myFlag: myFlag, | |
| realVideoTime: realVideoTime, | |
| myRecordTime: myRecordTime | |
| }, | |
| dataType: "json", | |
| error: function (data) { | |
| //if (confirm("传送学时失败!是否继续传送?")) { | |
| // ajaxEditXxgj(); | |
| //} | |
| if(window.stillHave>=0) monicarPlayNext(window.stillHave) | |
| }, | |
| success: function (result) { | |
| if (result) { | |
| if (result.msg == 1) { | |
| if(window.stillHave>=0) monicarPlayNext(window.stillHave) | |
| } | |
| if (result.msg == -1) { | |
| alert("您今日已经学满4个学时,系统不再记录学时!"); | |
| } else if (result.msg == -2) { | |
| alert("登录超时,可能原因:1、还没有激活学习卡 2、用户在其他地方登录 3、同一台电脑登录了多个账号。请重新登录!"); | |
| location.href = '/Account/LogOnStu'; | |
| } else if (result.msg == -4) { | |
| alert("观看视频并未配置学时,无法累计学时!"); | |
| //} else if (result.msg == -5) { | |
| // alert("实际观看视频少于配置学时,无法累计学时!"); | |
| } else if (result.msg == -9) { | |
| alert("作弊无法累计学时!"); | |
| } | |
| //else if (result.msg == -3) { | |
| // alert("您已完成所规定的学时,系统不再记录学时!"); | |
| //} | |
| } | |
| }, | |
| complete: function (XMLHttpRequest, status) { //请求完成后最终执行参数 | |
| if (status == 'timeout') {//超时,status还有success,error等值的情况 | |
| ajaxEditXxgj.abort(); | |
| if (confirm("传送学时超时,是否继续传送?")) { | |
| ajaxEditXxgj(); | |
| } | |
| } | |
| } | |
| }); | |
| } | |
| const subjects = $('#ulTreeList>li') | |
| const unWatch = $('.filetree li span.file a').not('.haveClick') | |
| const watched = $('.filetree li span.file a.haveClick') | |
| window.currentIndex = -1; | |
| window.stillHave = watched.length | |
| function sleepx(ms) { | |
| return new Promise(resolve => setTimeout(resolve, ms)); | |
| } | |
| window.monicarPlayNext = async function (stillHave) { | |
| window.stillHave-- | |
| window.currentIndex ++ | |
| try { | |
| watched[currentIndex].click() | |
| } catch (error) { | |
| console.log(error) | |
| } | |
| console.log('playing: ' + window.stillHave) | |
| await sleepx(5000); | |
| let sbTime = 180000 | |
| try { | |
| sbTime = CKobject.getObjectById('ckplayer_a1').getStatus()["totalTime"] | |
| console.log(sbTime) | |
| } catch (error) { | |
| console.log(error) | |
| if(window.stillHave>=0) monicarPlayNext(window.stillHave) | |
| } | |
| } | |
| monicarPlayNext(window.stillHave) | |
| // !async function monicarPlayNext(stillHave){ | |
| // }(window.stillHave) | |
Author
cygmris
commented
Dec 21, 2018
Author
window.ajaxAddXxgj = function () {
//首先判断如果原来有定时器,就先停止,否则计时会加速
if (myRecordTimeId) {
clearInterval(myRecordTimeId);
}
//开启一个定时器,每隔1秒数字加1,用来记录视频播放的秒数
myRecordTime = 0; //每次要重置
myRecordTimeId = setInterval(function () {
myRecordTime = parseInt(myRecordTime) + 1;
}, 1000);
$("#sptm").hide();
$(".vm_content").css("z-index", "1");
$.ajax({
url: "/StudentManage/AddXxgj",
type: "get",
timeout: 5000, //超时时间设置,单位毫秒
data: { lmid: lmid, spid: spid, kmid: xxlx },
dataType: "json",
success: function (data) {
if (data) {
ClearCheck();//清除视频试题
if (data.msg == 0) {
//if (confirm("传送学时失败!是否继续传送?")) {
// ajaxAddXxgj();
//}
}else if (data.msg == -1) {
//学时学满4学时了
alert("您今日已经学满4个学时,不再记录学时!");
myClearTimer();
} else if (data.msg == -2) {
alert("登录超时,可能原因:1、还没有激活学习卡 2、用户在其他地方登录 3、同一台电脑登录了多个账号。请重新登录!");
location.href = '/Account/LogOnStu';
}
if (data.msg == 1) {
;
}
if (data.Rule == 1) {
rule = 1;
} else if (data.Rule == 2) {
rule = 2;
ve = undefined;
if (data.exam) {
if(window.stillHave>=0) monicarPlayNext(window.stillHave)
KSPDT(data.exam);
}
$("#veimg").removeAttr("src");
$("#veimg").attr("src", "/StudentManage/GetVideoExamImage?date" + new Date());
} else if (data.Rule == 3) {
rule = 3;
if (data.exam) {
if(window.stillHave>=0) monicarPlayNext(window.stillHave)
KSPDT(data.exam);
}
$("#veimg").removeAttr("src");
$("#veimg").attr("src", "/StudentManage/GetVideoExamImage?date" + new Date());
// ve = data.exam;
ve = undefined;
}
//else {
// myVideoStop();
//}
//else if (data.msg == "") {
////暂停
// myVideoStop();
// //alert("您的登录已超时,请重新登录!");
// //window.location.href = "/Account/LogOnStu";
//}
}
},
error: function (data) {
//if (confirm("传送学时失败!是否继续传送?")) {
// ajaxAddXxgj();
//}
},
complete: function (XMLHttpRequest, status) { //请求完成后最终执行参数
if (status == 'timeout') {//超时,status还有success,error等值的情况
ajaxAddXxgj.abort();
if (confirm("传送学时超时,是否继续传送?")) {
ajaxAddXxgj();
}
}
}
});
}
Author
window.ajaxEditXxgj= function() {
//停止计时
if (myRecordTimeId) {
clearInterval(myRecordTimeId);
}
//获取视频播放的秒数
var myPlayTime = myRecordTime;
//获取该视频的实际时长
// var realVideoTime = parseInt(CKobject.getObjectById('ckplayer_a1').ckplayer_getstatus()["totaltime"]);//6.3版本
var realVideoTime = parseInt(CKobject.getObjectById('ckplayer_a1').getStatus()["totalTime"]); //6.5版本
//alert(myRecordTime + "==" + realVideoTime);
//var TokenValue = $("input[name=__RequestVerificationToken]").val();
$.ajax({
url: "/StudentManage/EditXxgj",
type: "get",
timeout: 5000, //超时时间设置,单位毫秒
data: {
//__RequestVerificationToken: TokenValue,
lmid: lmid,
spid: spid,
myFlag: myFlag,
realVideoTime: realVideoTime,
myRecordTime: myRecordTime
},
dataType: "json",
error: function (data) {
//if (confirm("传送学时失败!是否继续传送?")) {
// ajaxEditXxgj();
//}
if(window.stillHave>=0) monicarPlayNext(window.stillHave)
},
success: function (result) {
if (result) {
if (result.msg == 1) {
if(window.stillHave>=0) monicarPlayNext(window.stillHave)
}
if (result.msg == -1) {
alert("您今日已经学满4个学时,系统不再记录学时!");
} else if (result.msg == -2) {
alert("登录超时,可能原因:1、还没有激活学习卡 2、用户在其他地方登录 3、同一台电脑登录了多个账号。请重新登录!");
location.href = '/Account/LogOnStu';
} else if (result.msg == -4) {
alert("观看视频并未配置学时,无法累计学时!");
//} else if (result.msg == -5) {
// alert("实际观看视频少于配置学时,无法累计学时!");
} else if (result.msg == -9) {
alert("作弊无法累计学时!");
}
//else if (result.msg == -3) {
// alert("您已完成所规定的学时,系统不再记录学时!");
//}
}
},
complete: function (XMLHttpRequest, status) { //请求完成后最终执行参数
if (status == 'timeout') {//超时,status还有success,error等值的情况
ajaxEditXxgj.abort();
if (confirm("传送学时超时,是否继续传送?")) {
ajaxEditXxgj();
}
}
}
});
}
Author
monicar-inactivated.js
window.alert = window.console.log
function sleepx(ms) {
return new Promise(resolve => setTimeout(resolve, ms));
}
window.xxoo = 0
window.ajaxAddXxgj = function () {
rule = 1;
//首先判断如果原来有定时器,就先停止,否则计时会加速
if (myRecordTimeId) {
clearInterval(myRecordTimeId);
}
//开启一个定时器,每隔1秒数字加1,用来记录视频播放的秒数
myRecordTime = 0; //每次要重置
myRecordTimeId = setInterval(function () {
$("#sjsj").html(myRecordTime);
myRecordTime = parseFloat(myRecordTime) + 0.1;
}, 100);
var ajaxTimeoutTest = $.ajax({
url: "/Exam/AddStudyTime",
timeout: 5000, //超时时间设置,单位毫秒
type: "post",
async: false,//同步
data: { videoId: spid, stuId: GetQueryString("stuId") },
dataType: "json",
success: function (data) {
if (data.SubjectType == "-1") {
alert("此视频与观看的第一个视频不属于同一科目,请签退后重新观看此视频!如不签退,此视频则不会上报学时!");
}
ClearUnitData();//清空单元测验数据
$("#uAnswer dd input:checked").attr("checked", false);//清空多选框
auto = data.Play;
if (!CLResult(data.Value, data.Time)) {
if (data.Value == -11) {
alert("您已完成规定学时");
}
else if (data.Value == -10) {
alert("您今日已学满有效学时");
}
PlayAndIco(spid);
myClearTimer();
} else {
if (data.Value == -16) {
PlayAndIco(spid);
alert("在" + data.msg + "时段不计算学时");
}
else if (data.Value == -17) {
PlayAndIco(spid);
alert("单元已满大纲学时,请观看下一单元");
}
else if (data.Value == -22) {
alert("请勿重复观看视频");
return;
}
else if (data.Value == 1) {
PlayAndIco(spid, data.Repeat);
} else {
if (data.Value == -1 && data.Msg) {
alert(data.Msg);
}
return;
}
if (data.Rule == 1) {
rule = 1;
} else if (data.Rule == 2 && data.Exam != null) {
rule = 2;
KSPDT(data.Exam);
} else if (data.Rule == 3 && data.Exam != null) {
rule = 3;
KSPDT(data.Exam);
} else {
myClearTimer();
}
}
$("#sptm").hide();
$(".vm_content").show();
$(".vm_content").css("z-index", "1");
},
error: function (data) {
alert("请求失败,请检查网络!");
ChangePlay(1)
},
complete: function (XMLHttpRequest, status) { //请求完成后最终执行参数
if (status == 'timeout') {//超时,status还有success,error等值的情况
ajaxTimeoutTest.abort();
//playload(dqbh);
//csjsq += 1;
//if (csjsq == 10) {
alert("多次尝试发送请求失败,请检查网络!");
ChangePlay(1)
//csjsq = 0;
return;
//}
}
}
});
}
window.ajaxEditXxgj = function() {
//停止计时
if (myRecordTimeId) {
clearInterval(myRecordTimeId);
}
//获取视频播放的秒数
var myPlayTime = myRecordTime;
//获取该视频的实际时长
//var realVideoTime = parseInt(CKobject.getObjectById('ckplayer_a1').ckplayer_getstatus()["totaltime"]);
isplay = 0;//重置右侧点击视频播放
var ajaxTimeoutTest = $.ajax({
url: "/Exam/EditStudyTime",
timeout: 5000, //超时时间设置,单位毫秒
type: "post",
data: { videoId: spid, studyTime: parseInt(myRecordTime.toFixed(0)), stuId: GetQueryString("stuId") },
dataType: "json",
//async: false,
success: function (result) {
window.xxoo ++;
if(window.xxoo%10 === 0) {
$.ajax({
url: "/Exam/SignOut",
timeout: 5000, //超时时间设置,单位毫秒
data: { subjectType: 1 },
dataType: "json",
type: 'post',
success: function (result) {
if (result.Value == 1) {
alert("签退成功!");
// window.parent.location.href = "/Student/StudentInfo";
}
},
error: function (data) {
alert("签退失败,没有保存培训记录!");
}
});
}
sleepx(10000);
if (CLResult(result.Value)) {
if (result.Value == 1) {
$("a[spid='" + spid + "']").addClass("haveClick");
} else if (result.Value == -1) {
alert(result.Msg);
}
if (auto == 2 || (auto == 3 && rule == 2) || (rule == 1 && auto == 3))
LxPlay(spid);
else if (loadVideo == "1") {
Preloading(spid);//播放完后预加载下一个视频不播放
}
}
},
error: function (result) {
alert("请求失败,请检查网络!" + result.Msg);
ChangePlay(1)
},
complete: function (XMLHttpRequest, status) { //请求完成后最终执行参数
if (status == 'timeout') {//超时,status还有success,error等值的情况
ajaxTimeoutTest.abort();
//csjsq += 1;
//if (csjsq == 10) {
alert("多次尝试发送请求失败,请检查网络!");
ChangePlay(1)
//csjsq = 0;
return;
//}
//ajaxEditXxgj();
}
}
});
}
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment