中山教師繼續教育刷課

中山教師研修網刷課

您需要先安裝使用者腳本管理器擴展,如 TampermonkeyGreasemonkeyViolentmonkey 之後才能安裝該腳本。

You will need to install an extension such as Tampermonkey to install this script.

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyUserscripts 後才能安裝該腳本。

你需要先安裝一款使用者腳本管理器擴展,比如 Tampermonkey,才能安裝此腳本

您需要先安裝使用者腳本管理器擴充功能後才能安裝該腳本。

(我已經安裝了使用者腳本管理器,讓我安裝!)

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

(我已經安裝了使用者樣式管理器,讓我安裝!)

// ==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+'&register[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);

}