中山教师研修网刷课
// ==UserScript==
// @name 中山教师继续教育刷课
// @name:zh-CN 中山教师继续教育刷课
// @name:zh-TW 中山教師繼續教育刷課
// @namespace https://greasyfork.org/
// @version 0.08
// @description 中山教师研修网刷课
// @description:zh-CN 中山教师研修网刷课
// @description:zh-TW 中山教師研修網刷課
// @author zsynzx
// @match http*://m.zsjsjy.com/teacher/train/train/train/*
// @match http*://m.zsjsjy.com/teacher/train/train/online/*
// @icon http://m.zsjsjy.com/favicon.ico
// @license GPL
// ==/UserScript==
if (window.location.href.includes('m.zsjsjy.com/teacher/train/train/train/listForMine.do')) {
setTimeout(function () {
//如果还没选课则进入选课页面
let bStr=Array.from(document.querySelectorAll('a.normal-account-permission'))
.find(el => el.innerText === '进入学习');
if (typeof bStr==="undefined") {
//打开选课页面
window.location='http://m.zsjsjy.com/teacher/train/train/online/listForTeacherRegist.do?paramMap[trainMode]=';
}
//如果视频未完成继续学习
let aStr=Array.from(document.querySelectorAll('a.normal-account-permission'))
.find(el => el.innerText === '视频未完成');
if (typeof aStr!=="undefined") {
let fnStr=$(aStr).context.dataset.function;
let fnArr=fnStr.split("'");
window.location='http://m.zsjsjy.com/teacher/train/train/online/study.do?registerId='+fnArr[1]+'&part='+fnArr[7];
}
}, 1000);
let interval = setInterval(function () {
//如果有未评价则继续评价
let aStr=Array.from(document.querySelectorAll('a.normal-account-permission'))
.find(el => el.innerText === '进入评价');
if (typeof aStr!=="undefined")
{aStr.click();
$('.star','.star-box').click();
document.getElementById("content").value="讲解得非常好,谢谢老师!";
$("#evaluateUserResultForm").ajaxSubmit({
type: 'post',
success: function(json){
json = $.myParseJSON(json);
if(!$.isEmptyObject(json)){
var responseMsg = json.responseMsg;
var responseCode = json.responseCode;
if("00"==responseCode) {//操作成功
layer.msg("操作成功!1秒后关闭",{
time: 1000
}, function(){
layer.closeAll();
finishEvaluate();
});
} else {//操作失败
layer.msg("信息提交失败。"+responseMsg);
}
}
}
});
}
else
{clearInterval(interval);}//停止执行setInterval循环
}, 1000);
}
if (window.location.href.includes('m.zsjsjy.com/teacher/train/train/online/study.do')) {
let interval = setInterval(function () {
if($(".u-empty").length==0) {//当前课程的视频全部看完,进入课程列表页面
clearInterval(interval);//停止执行setInterval循环。
window.location="http://m.zsjsjy.com/teacher/train/train/train/listForMine.do";//打开课程列表网页
} else {
let videoObj=document.querySelectorAll("video")[0];
videoObj.play();
videoObj.muted=true;//静音
videoObj.playbackRate = 16.0;//加速
let ID=videoObj.id;//视频ID
let elevideo = document.getElementById(ID);
let number = $('.g-mv-con .g-top').find("#number").val();//获取序号
elevideo.addEventListener(
'ended',
() => {
if($(".u-empty").length==0) {
layer.msg('当前课程的视频全部看完');
} else {
var newNum = parseInt(number)+1;
var tabNo = $('#m-chapter-ul').find("#tg"+newNum);
if(tabNo.length == 0){//则不存在对应的id
layer.msg('不存在对应的id');
}else{
var videoUrl = $('#tg'+newNum).find('#videoUrl').val();//获取视频路径
var courseId = $('#tg'+newNum).find('#courseId').val();//获取课程id
var chapterId = $('#tg'+newNum).find('#chapterId').val();//获取章节id
var name = $('#tg'+newNum).find('a[class="tit"]').text();//获取章节标题
var videoUrlType = $('#tg'+newNum).find('#videoUrlType').val();//视频连接的类型
changeVideoShow(name,videoUrl,newNum,courseId,chapterId,videoUrlType);//调用方法
}
}
// false
}
);
}
}, 1000);
}
if (window.location.href.includes('m.zsjsjy.com/teacher/train/train/online/listForTeacherRegist.do')) {
var Total=42;//上级要求必须修学的课程总分
//获取已报名的总学分数
function getScourseAll(tableId){
var table = document.getElementById(tableId);
var tbody = table.tBodies[1];
var tr = tbody.rows;
var j=0;
for (var i=0; i<tr.length; i++ ) {
if (tr[i].cells[7].innerText === '已报名') {
j=j+parseInt(tr[i].cells[6].innerText);//课程学分;
}
}
return j;
}
//继续选课:再选总学分:Scourse
function RegistAll(Scourse,trValue){
if (Scourse>0){
var zf=0;//已选课的总学分
var xf=0;
for (var i=0; i<trValue.length; i++ ) {
if (trValue[i].cells[7].innerText === '') {
xf=parseInt(trValue[i].cells[6].innerText);//课程学分
zf=zf+xf;
if (zf>Scourse) {
zf=zf-xf;
continue;//此课程学分不合适,跳到下一次循环
} else {
myregist(i);//选课
}
}
if (zf===Scourse){
break;//选课完成,结束循环
}
}
}
}
//对页面课程列表中选择第n个课程进行报名
function myregist(n) {
var radio=$(":radio[name='id']")[n];
radio.checked=true;
var trainId = $(":radio[name='id']:checked").val();
var classroomId = $("#classroomId_"+trainId).val();
var data=$.ajaxSubmitValue('/manage/train/register/online/regist.do?register[trainId]='+trainId+'®ister[classroomId]='+classroomId);
}
//对指定表格指定列进行排序
function sortTable(tableId,Idx){
var table = document.getElementById(tableId);
var tbody = table.tBodies[1];
var tr = tbody.rows;
var trValue = new Array();
let j=0;
for (var i=0; i<tr.length; i++ ) {
if (tr[i].cells[7].innerText === '') {
trValue[j] = tr[i];//将表格中各行的信息存储在新建的数组中
j++;
}
}
if (tbody.sortCol == Idx) {
trValue.reverse(); //如果该列已经进行排序过了,则直接对其反序排列
} else {
//trValue.sort(compareTrs(Idx)); //进行排序
trValue.sort(function(tr1, tr2){
var value1 = tr1.cells[Idx].innerHTML;
var value2 = tr2.cells[Idx].innerHTML;
return value2.localeCompare(value1);
});
}
var fragment = document.createDocumentFragment();//新建一个代码片段,用于保存排序后的结果
for (i=0; i<trValue.length; i++ ) {
fragment.appendChild(trValue[i]);
}
tbody.appendChild(fragment); //将排序的结果替换掉之前的值
tbody.sortCol = Idx;
var sVal=getScourseAll(tableId);//已选学分
RegistAll(Total-sVal,trValue);//选课:学分必须选够,不能多,也不能少!
}
setTimeout(function () {
var url='/teacher/train/train/online/noskin/listForTeacherRegist.do?paramMap[isReplenish]=';
var contentId='pageContent';
var formId='pageForm';
//url += "&pagination.limit=2147483647";
url += "&pagination.limit=2147";
loading.open();
$("#"+contentId).load(url,$("#"+formId).serialize(),function() {
loading.close();
var laypage=document.querySelectorAll(".laypage_main");
if (laypage.length===0) {
//设置课程列表表格的ID
document.querySelectorAll("table.z-crt")[0].id='mytable';
//按表格的第7列(课程学分)升序排序
sortTable('mytable',6);//第1次降序,再执行一次可升序
window.location="http://m.zsjsjy.com/teacher/train/train/train/listForMine.do";//打开课程列表网页
}
});
}, 1000);
}