// ==UserScript==
// @name 潭州课堂助手
// @namespace http://tampermonkey.net/
// @version 1.06
// @description 去除潭州课堂播轮播广告,头像下增加我的作业菜单,昵称完整展示,作业数量醒目展示、增加最近在学。
// @author QQ:619877197 Email:zjc877@outlook.com
// @match *://*.shiguangkey.com/*
// @require https://cdn.bootcss.com/jquery/3.4.1/jquery.min.js
// @grant none
// @downloadURL https://update.greasyfork.icu/scripts/386731/%E6%BD%AD%E5%B7%9E%E8%AF%BE%E5%A0%82%E5%8A%A9%E6%89%8B.user.js
// @updateURL https://update.greasyfork.icu/scripts/386731/%E6%BD%AD%E5%B7%9E%E8%AF%BE%E5%A0%82%E5%8A%A9%E6%89%8B.meta.js
// ==/UserScript==
(function() {
'use strict';
window.onload = function () {
// 移除轮播广告
$("div[class='_1-j4s']").remove();
// 直接展示课程目录
var tabs = $("div[role='tab']");
$.each(tabs, function (i, item) {
if ($(item).text() === "课程目录") {
$(item).click();
return false;
}
});
// 头像下面添加我的作业菜单
var avatarlis = $("div[class='memberHome___ReVBw']").length > 0 ? $("div[class='memberHome___ReVBw']").find("ul").find("li") : $("div[class='_2v85p']").find("ul").find("li");
$.each(avatarlis, function(i, item) {
if ($(item).find("a").text() === "我的课表") {
var homeworkdom = $("
我的作业");
$(item).after(homeworkdom);
}
})
// 昵称完整展示
var nickdom = $("span[class='avatarNick___3PfCp userNickname']").length > 0 ? $("span[class='avatarNick___3PfCp userNickname']") : $("span[class='_3Au-A userNickname']")
nickdom.css({
"margin-right": "30px",
"overflow": "visible"
})
setInterval(function() {
// 待完成/已完成作业数量展示
(function() {
var homeworktabs = $("div[role='tab']")
$.each(homeworktabs, function(i, item) {
var labelp = $(item).find("p");
shiguangkeyHelper.sethomeworknum(labelp);
})
})();
// 待完成作业数数量加粗标红醒目展示
(function() {
var thead = $("thead[class='rc-table-thead']");
var thead_th = $(thead).find("tr").find("th")[7];
if ($(thead_th).text() == "待完成作业数") {
var tbody = $(thead).next();
$.each(tbody, function (i, item) {
var trs = $(item).find("tr");
$.each(trs, function (i, item) {
var td = $(item).find("td")[7];
if ($(td).text() != 0) {
$(td).css({
"color": "red",
"font-weight": "bold",
"font-size": "200%"
});
}
})
})
}
})();
// 我的课程表增加最近在学
(function() {
if ($(".latelearnSH").length == 0) {
var latelearn = $("最近在学");
$("div[class='_2HiiN']").find("ul").append(latelearn);
$(".latelearnSH").click(shiguangkeyHelper.latelearnselect);
}
})();
}, 500)
};
var shiguangkeyHelper = {
sethomeworknum: function(homeworknumEle) {
if (RegExp(/待完成/).exec(homeworknumEle.text())) {
if (homeworknumEle.find("span[class='uncompletednumSH']").length == 0) {
$.ajax({
type: "GET",
async: false,
cache: false,
headers: {
"token": $.cookie.get("token"),
"terminaltype": 4
},
cookie: document.cookie,
url: "https://www.shiguangkey.com/api/student/homework/getUnCompletedList?classId=" + $.getUrlParam("classId") + "&activeKey=1&pageIndex=1&pageSize=10&terminalType=4",
dataType: "json",
success: function (res) {
var uncompleted = $($.stringFormat("({totalItem})", res.data));
homeworknumEle.find("span[style='color: red;']").remove();
homeworknumEle.append(uncompleted);
},
error: function () {}
});
}
} else if (RegExp(/已完成/).exec(homeworknumEle.text())) {
if (homeworknumEle.find("span[class='completednumSH']").length == 0) {
$.ajax({
type: "GET",
async: false,
cache: false,
headers: {
"token": $.cookie.get("token"),
"terminaltype": 4
},
cookie: document.cookie,
url: "https://www.shiguangkey.com/api/student/homework/getCompletedList?classId=" + $.getUrlParam("classId") + "&activeKey=1&pageIndex=1&pageSize=10&terminalType=4",
dataType: "json",
success: function (res) {
var completed = $($.stringFormat("({totalItem})", res.data));
homeworknumEle.find("span[style='color: green;']").remove();
homeworknumEle.append(completed);
},
error: function () {}
});
}
}
},
latelearnselect: function() {
var latelearnselectEle = $(".latelearnSH").parent("li");
if (latelearnselectEle.hasClass("_2Aysu")) {
latelearnselectEle.removeClass("_2Aysu");
top.location.reload();
} else {
$.ajax({
type: "POST",
async: false,
cache: false,
headers: {"token": $.cookie.get("token")},
cookie: document.cookie,
url: "https://www.shiguangkey.com/api/course/queryByStudent",
data: {"pageIndex": 1, "pageSize":10, "courseType": 5310, "terminalType":4},
dataType: "json",
success: function (res) {
var courses = res.data.courses,
num = 0,
courses_div = $("div[class='_2GxAN']").find("div[class='_2u4ro']");
$(courses_div.find("div[class='TlhQy']")).remove();
for (var i=0; i
暂时没有课程
去逛逛'));
}
latelearnselectEle.addClass("_2Aysu");
},
error: function () {}
})
}
},
setclassreminder: function(courseId, classId) {
var classreminderEle = $($.stringFormat(".classreminderSH{courseId}{classId}", {courseId: courseId, classId: classId}));
if (classreminderEle.hasClass("p3Y8Q")) {
$.ajax({
type: "POST",
async: false,
cache: false,
headers: {
"token": $.cookie.get("token")
},
cookie: document.cookie,
url: "https://www.shiguangkey.com/api/interaction/cancelCourseRemond",
data: {
"courseId": courseId,
"classId": classId,
"terminalType": 4
},
dataType: "json",
success: function (res) {
if (res.status == 0) {
classreminderEle.removeClass("p3Y8Q");
$($.stringFormat(".classreminderstatusSH{courseId}{classId}", {courseId: courseId, classId: classId})).text("开课提醒已关闭");
}
},
error: function () {}
})
} else {
$.ajax({
type: "POST",
async: false,
cache: false,
headers: {
"token": $.cookie.get("token")
},
cookie: document.cookie,
url: "https://www.shiguangkey.com/api/interaction/setCourseRemond",
data: {
"courseId": courseId,
"classId": classId,
"terminalType": 4
},
dataType: "json",
success: function (res) {
if (res.status == 0) {
classreminderEle.addClass("p3Y8Q");
$($.stringFormat(".classreminderstatusSH{courseId}{classId}", {courseId: courseId, classId: classId})).text("开课提醒已开启");
}
},
error: function () {}
})
}
},
}
$.extend({
stringFormat: function (str, obj) {
/*
字符串格式化
调用方式:
var result=$.format("我是{name},今年{age}了", {name:"小美",age:18});alert(result); //我是小美,今年18了。
*/
if (typeof(str) == "string" && typeof(obj) == "object") {
for (var key in obj) {
if (obj[key] != undefined) {
var reg = new RegExp("({" + key + "})", "g");
str = str.replace(reg, obj[key]);
}
}
}
return str;
},
timeFormat: function (t, format) {
/*
时间戳格式化
调用方法:$.timeFormat((new Date), "yyyy-MM-dd hh:mm:ss")
*/
if ((typeof t) == "object" && (typeof format) == "string") {
var o = {
"M+": t.getMonth() + 1,
"d+": t.getDate(),
"h+": t.getHours(),
"m+": t.getMinutes(),
"s+": t.getSeconds(),
"q+": Math.floor((t.getMonth() + 3) / 3),
"S": t.getMilliseconds()
}
if (/(y+)/.test(format)) {
format = format.replace(RegExp.$1, (t.getFullYear() + "").substr(4 - RegExp.$1.length));
}
for (var k in o) {
if (new RegExp("(" + k + ")").test(format)) {
format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length));
}
}
}
return format;
},
getUrlParam: function (name) {
/*
获取当前页面URL路径里指定参数的值
调用方式:$.getUrlParam("name")
*/
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
var r = window.location.search.substr(1).match(reg);
if (r != null)
return unescape(r[2]);
return null;
},
cookie: {
/*
操作cookies
调用方法:
$.cookie.get("token");
$.cookie.set("abc", "_ab111a001", 600, true);
$.cookie.remove("abc");
*/
get: function (t) {
for (var e = t + "=", n = document.cookie.split(";"), r = 0; r < n.length; r++) {
for (var o = n[r]; " " == o.charAt(0); )
o = o.substring(1, o.length);
if (0 == o.indexOf(e))
return decodeURIComponent(o.substring(e.length, o.length))
}
return null
},
set: function (t, e, n, r, o) {
var s = "",
a = "",
c = "";
if (r) {
var u = document.location.hostname.match(/[a-z0-9][a-z0-9\-]+\.[a-z\.]{2,6}$/i),
f = u ? u[0] : "";
s = f ? "; domain=." + f : ""
}
if (n) {
var d = new Date;
d.setTime(d.getTime() + 24 * n * 60 * 60 * 1e3),
a = "; expires=" + d.toGMTString()
}
o && (c = "; secure"),
document.cookie = t + "=" + encodeURIComponent(e) + a + "; path=/" + s + c
},
remove: function (t) {
var e = document.location.hostname.match(/[a-z0-9][a-z0-9\-]+\.[a-z\.]{2,6}$/i),
n = e ? e[0] : "";
this.set(t, "", -1, "." + n)
}
}
});
})();