新版广东海洋大学一键评估

新版海大一键评估工具,代码基于原版一键评估,感谢海大计协!代码目前测试少,如有bug想提交,可关注公众号“海大弟弟”反馈。


// ==UserScript==
// @name         新版广东海洋大学一键评估
// @version      1.0
// @description  新版海大一键评估工具,代码基于原版一键评估,感谢海大计协!代码目前测试少,如有bug想提交,可关注公众号“海大弟弟”反馈。
// @author       tlhgq
// @match        *://webvpn.gdou.edu.cn/*
// @match        *://jw.gdou.edu.cn/*
// @run-at       document-end
// @grant        unsafeWindow
// @grant        GM_xmlhttpRequest
// @grant        GM_setClipboard
// @license      MIT
// @namespace https://greasyfork.org/users/734428
// ==/UserScript==

if (location.href.indexOf("xspj_cxXspjIndex.html")>1){
	alert("一键评估点击确定开始,请不要干扰程序运行,时间大概5分钟");
	j=0;
	mainId=window.setInterval(function(){
		var navigation=$(".ui-widget-content.jqgrow.ui-row-ltr");
		if ($(".ui-widget-content.jqgrow.ui-row-ltr").eq(j).find("td[title='已评完']").length){
			j+=1;
			if(j==navigation.length){
				clearInterval(mainId);
				windows.setTimeout(function(){
					$("#btn_xspj_tj").click();
					window.setTimeout("$('#btn_ok').click();",2000);
					alert("已完成评价");
				},10000)
			}
			return;
		}
		$(".ui-widget-content.jqgrow.ui-row-ltr").eq(j).click();
		window.setTimeout(function(){
			var obj=$('.tr-xspj');
			for(i=1;i<obj.length+1;i++)
			{
				var ran = Math.floor(Math.random()*10);
				if(ran<9)
				{
					$(".tr-xspj").eq(i-1).find("input:radio")[0].checked=true
				}
				else
				{
					$(".tr-xspj").eq(i-1).find("input:radio")[1].checked=true
				}
			};
			if($('input:radio')[0].checked)
			{
				$('input:radio')[6].checked=true;
			}
			else
			{
				$('input:radio')[5].checked=true;
			};
			var arr=[
				" 很不错啊!很喜欢这个老师的",
				"教学挺认真负责的, 赞一个!  ",
				"  学生还是挺欣赏的,讲解透彻,通俗易懂  ",
				"  我挺喜欢这老师的,不错不错",
				" 希望老师可以讲得更好。。可以结合一些课外知识 ",
				"讲课通俗易懂,同学都挺喜欢老师的",
				"  上课挺好的,希望可以越来越好    ",
				"每次遇到问题都可以很好的得到解答",
				"和蔼可亲 讲课生动形象,让我们很容易理解   ",
				"  认真负责,上完课还会跟我们培养感情",
				"   平时在q群,还会给我们科普一些知识",
				" 平常还会 发一些学习资料,课外的东西,让我们开阔视野",
				"  其实在我们私下的评价还是挺好的,讲课不错",
				"希望讲课 可以更加透彻易懂",
				"上课时候还会 ,讲一些课外的事情,上课氛围挺融洽",
				"挺喜欢的,为人和蔼亲切",
				"  注重学生的能力培养,比较好的一名老师  ",
				"课下的时候  还会和我们一起吃饭,挺好的  ",
				"  希望课堂的气氛可以更加活跃",
				"如果可以更好的调动学生的积极性就更好了",
				"  在我见过的老师里面,这老师算是挺不错了 ",
				"如果可以讲一些 课外的知识,感觉会更好  ",
				"讲解得挺认真的,不过如果可以说一些课堂外的就好了  ",
				"  尽职尽责的一名老师,讲课挺好的",
				"  每次来教室都是很早的,时间观念准啊",
				"不拖堂,不迟到,这一点做的不错 望保持!  ",
				"   假如可以更注重学生能力 的培养就更好了",
				"q群上 大家都聊得挺好的  就是喜欢这样的老师  ",
				"  假如可以加强跟 ,学生的互动就更好了 ",
				" 大学老师能做到这样,挺不错啊 ",
				"讲课认真,能带动气氛",
				" 讲课很好,气氛活跃",
				"人很好的一个老师,课程简单",
				" 还不错,希望可以再接再厉",
				"印象还行,就是有点严肃",
				"讲课严谨,形象,生动",
				"  喜欢这老师,喜欢这课程",
				"要是能把课堂带活跃点就更好了",
				" 虽然老师课有点太快了,不过还行吧  ",
				"   要是能把课堂弄得更活跃就好了",
				"喜欢的这个老师还不错,上课还行",
				"  很好的一个老师,还会经常给我们学习资料 ",
				"还行吧这个老师,要是能多点跟我们交流就更好了,总体来说,不错!  ",
				"挺喜欢这老师的,不过课堂气氛再好一点就更好了  ",
				" 额,老师课有时候讲得不够清楚,希望可以讲透彻点",
				"不错,有问题我们都可以从他那里得到解决  ",
				"还行吧,虽然有时听不懂部分知识点,但是整体还好. ",
				" 经常在我们来上课之前就到了,很守时的老师",
				"喜欢老师上课很守时,大赞",
				" 经常教我们一些课外知识,很喜欢  ",
				"上课还行吧,会给我们认真讲解",
				"还行,还不错,有时候觉得课有点快",
				"  经常分享课程经验给我们,很好",
				"很好,从这老师那里学到很多知识  ",
				"感觉可以做的更好,虽然有时候不知道怎样理解一些知识点   ",
				"希望老师讲的更加仔细,让气氛更加活跃 ",
				" 勉强过得去吧,上课方面还是好评的",
				"很好啊,喜欢这老师",
				"  觉得课上得还行,再接再厉",
				"思维活跃,课堂氛围不错,挺好的",
				"挺不错的啊, 我们都喜欢啊"
				];
				var isvalid =function(str)
				{
					for(z=0; z<str.length; z++)
					{
						/*自定义非法字符为字母,和<和>符号, 这是ascii码*/
						var index1=str.charCodeAt(z);
						if((65<=index1 &&index1 <= 90)
							||(97<=index1 &&index1 <= 122)
							||index1==60
							||index1==62)
						{
							if(index1==113 || index1==81)
							{/*对于Q或者q就合法,因部分合法评语有"q群"字样*/
								return 1;
							}
							else
							{
								return 0;
							}
						}
					}
					return 1;
				};
				/*随机化评语的函数, 在str字符串中的百分之percent位置插入substr字符串 */
				var insertstr=function(str,percent,substr)
				{
					var res =str;
					var qian=res.substring(0,Math.floor(percent/100*res.length));
					var hou=res.substring(Math.floor(percent/100*res.length),res.length);
					res = qian + substr +hou;
					return res;
				};
				/*随机化评语的函数, 返回num个char字符*/
				var space=function(num,char)
				{
					var str="";
					for(i=0;i<num;i++)
					{
						str = str + char;
					};
					return str;
				};
				/*随机选择一个评语*/
				var ranpingyu = Math.floor(Math.random()*(arr.length-1));
				var pingyu = arr[ranpingyu];
				/*随机化评语的函数, 在pingyu中随机添加空格*/
				var kongge=function(pingyu)
				{
					if(Math.floor(Math.random()*10)<8)
					{
						for(q=Math.floor(Math.random()*2)+1;q;q--)
						{
							var pos=Math.floor(Math.random()*(100*(1+pingyu.length)/pingyu.length+1));
							pingyu=insertstr(pingyu,pos,space(Math.floor(Math.random()*2)+1," "));
						};
					};
					return pingyu;
				};
				/*随机化评语的函数, 在pingyu中随机添加逗号*/
				var douhao=function(pingyu)
				{
					if(Math.floor(Math.random()*10)<7)
					{
						for(q=Math.floor(Math.random()*2)+1;q;q--)
						{
							var pos=Math.floor(Math.random()*(100*(1+pingyu.length)/pingyu.length+1));
							pingyu=insertstr(pingyu,pos,space(Math.floor(Math.random()*2)+1,","));
						};
					};
					return pingyu;
				};
				/*随机化评语的函数, 在pingyu中随机添加句号*/
				var juhao=function(pingyu)
				{
					if(Math.floor(Math.random()*10)<6)
					{
						var pos=Math.floor(Math.random()*(100*(1+pingyu.length)/pingyu.length+1));
						pingyu=insertstr(pingyu,pos,space(1,"。"));
					};
					return pingyu;
				};
				/*随机化评语的函数, 在pingyu中随机添加空格, 句号, 逗号*/
				var luanma=function(pingyu)
				{
					var str =juhao(pingyu);
					str =douhao(str);
					str = kongge(str);
					return str;
				};
				/*评语中, 随机添加老师名字, 可能是李老师或者李永波老师*/
				if(Math.floor(Math.random()*10)<6)
				{
						var teachername=$("#jsxm").text()
						teachername = teachername +"老师,";
						teachername = kongge(teachername);	/*随机在老师名字中添加空格*/
					pingyu = teachername + pingyu;
				}
				pingyu = luanma(pingyu);
				/*检查评语是否合法*/
				if(isvalid(pingyu) == 0)
				{/*如果不合法, 则用内置评语*/
					pingyu=arr[ranpingyu];
				};
				$("textarea").eq(0).val(pingyu);
				$("textarea").eq(1).val(pingyu);
				$("#btn_xspj_bc").click();
				window.setTimeout("$('#btn_ok').click();",2000);
		},10000);
		j+=1;
		if(j==navigation.length){
			clearInterval(mainId);
			windows.setTimeout(function(){
				$("#btn_xspj_tj").click();
				window.setTimeout("$('#btn_ok').click();",2000);
				alert("已完成评价");
			},10000)
		}
	},20000)
}