更新平顶山学院自动学习脚本,优化视频选择逻辑并修复学习时长判断
This commit is contained in:
parent
e9a67cb851
commit
3a570ed375
|
|
@ -1,7 +1,7 @@
|
||||||
// ==UserScript==
|
// ==UserScript==
|
||||||
// @name 平顶山学院(青书学堂)自动学习脚本
|
// @name 平顶山学院(青书学堂)自动学习脚本
|
||||||
// @namespace http://tampermonkey.net/
|
// @namespace http://tampermonkey.net/
|
||||||
// @version 2025-11-26
|
// @version 2026-06-03
|
||||||
// @description try to take over the world!
|
// @description try to take over the world!
|
||||||
// @author You
|
// @author You
|
||||||
// @match https://degree.qingshuxuetang.com/pdsu/Student/Course/CourseStudy*
|
// @match https://degree.qingshuxuetang.com/pdsu/Student/Course/CourseStudy*
|
||||||
|
|
@ -13,8 +13,32 @@
|
||||||
(function () {
|
(function () {
|
||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
const url = window.location.href;
|
const url = window.location.href;
|
||||||
console.log("插件加载完成,等待界面渲染");
|
const MIN_STUDY_SECONDS = 5 * 60;
|
||||||
|
console.log("插件加载完成,等待界面渲染");
|
||||||
|
|
||||||
|
const parseStudySeconds = (text) => {
|
||||||
|
const hourMatch = text.match(/(\d+)\s*小时/);
|
||||||
|
const minuteMatch = text.match(/(\d+)\s*分钟/);
|
||||||
|
const secondMatch = text.match(/(\d+)\s*秒/);
|
||||||
|
|
||||||
|
return (
|
||||||
|
(hourMatch ? Number(hourMatch[1]) * 3600 : 0) +
|
||||||
|
(minuteMatch ? Number(minuteMatch[1]) * 60 : 0) +
|
||||||
|
(secondMatch ? Number(secondMatch[1]) : 0)
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
const shouldEnterCourseware = (item) => {
|
||||||
|
const mark = item.querySelector(".study_being");
|
||||||
|
|
||||||
|
if (!mark) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
const studiedSeconds = parseStudySeconds(mark.innerText);
|
||||||
|
return studiedSeconds < MIN_STUDY_SECONDS;
|
||||||
|
};
|
||||||
|
|
||||||
const onPageLoad = () => {
|
const onPageLoad = () => {
|
||||||
console.log("页面加载完成,开始执行脚本");
|
console.log("页面加载完成,开始执行脚本");
|
||||||
|
|
@ -36,14 +60,19 @@
|
||||||
console.error("课程数量为空,结束脚本");
|
console.error("课程数量为空,结束脚本");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
for (const item of items) {
|
for (const item of items) {
|
||||||
if (!item.querySelector(".study_being")) {
|
if (shouldEnterCourseware(item)) {
|
||||||
console.log(
|
const mark = item.querySelector(".study_being");
|
||||||
"点击下一个未播放的视频:" +
|
const studiedSeconds = mark ? parseStudySeconds(mark.innerText) : 0;
|
||||||
item.querySelector(".title").innerText
|
console.log(
|
||||||
);
|
"点击未完成学习时长的视频:" +
|
||||||
item.click();
|
item.querySelector(".title").innerText +
|
||||||
return;
|
",已学习:" +
|
||||||
|
studiedSeconds +
|
||||||
|
"秒"
|
||||||
|
);
|
||||||
|
item.click();
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
console.log("所有视频均已播放完毕,结束脚本");
|
console.log("所有视频均已播放完毕,结束脚本");
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue