更新脚本版本号至2026-06-10.2,新增菜单命令注销功能,优化配置菜单注册逻辑
This commit is contained in:
parent
8c48de9be0
commit
c05fd567bc
|
|
@ -1,7 +1,7 @@
|
||||||
// ==UserScript==
|
// ==UserScript==
|
||||||
// @name 平顶山学院(青书学堂)自动学习脚本
|
// @name 平顶山学院(青书学堂)自动学习脚本
|
||||||
// @namespace http://tampermonkey.net/
|
// @namespace http://tampermonkey.net/
|
||||||
// @version 2026-06-10.1
|
// @version 2026-06-10.2
|
||||||
// @description 自动进入青书学堂未完成课件,支持视频播放、文本课件停留和运行状态提示
|
// @description 自动进入青书学堂未完成课件,支持视频播放、文本课件停留和运行状态提示
|
||||||
// @author JK
|
// @author JK
|
||||||
// @license MIT
|
// @license MIT
|
||||||
|
|
@ -14,6 +14,7 @@
|
||||||
// @grant GM_setValue
|
// @grant GM_setValue
|
||||||
// @grant GM_deleteValue
|
// @grant GM_deleteValue
|
||||||
// @grant GM_registerMenuCommand
|
// @grant GM_registerMenuCommand
|
||||||
|
// @grant GM_unregisterMenuCommand
|
||||||
// ==/UserScript==
|
// ==/UserScript==
|
||||||
|
|
||||||
(function () {
|
(function () {
|
||||||
|
|
@ -70,6 +71,7 @@
|
||||||
"qingshu_auto_course_list_refresh_count:" +
|
"qingshu_auto_course_list_refresh_count:" +
|
||||||
location.pathname +
|
location.pathname +
|
||||||
location.search;
|
location.search;
|
||||||
|
let menuCommandIds = [];
|
||||||
|
|
||||||
// 创建右下角提示消息容器和样式。
|
// 创建右下角提示消息容器和样式。
|
||||||
// 每次通知都会创建一个新的提示消息,所以多个通知会一起堆叠显示。
|
// 每次通知都会创建一个新的提示消息,所以多个通知会一起堆叠显示。
|
||||||
|
|
@ -175,6 +177,7 @@
|
||||||
const saveConfig = (patch) => {
|
const saveConfig = (patch) => {
|
||||||
Object.assign(CONFIG, patch);
|
Object.assign(CONFIG, patch);
|
||||||
GM_setValue(CONFIG_STORAGE_KEY, CONFIG);
|
GM_setValue(CONFIG_STORAGE_KEY, CONFIG);
|
||||||
|
registerConfigMenus();
|
||||||
notify("设置已保存,刷新页面后生效", "success", 6000);
|
notify("设置已保存,刷新页面后生效", "success", 6000);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -203,10 +206,22 @@
|
||||||
// 在 Tampermonkey 菜单里提供配置入口。
|
// 在 Tampermonkey 菜单里提供配置入口。
|
||||||
// 这些值保存在脚本存储区,脚本更新不会覆盖它们。
|
// 这些值保存在脚本存储区,脚本更新不会覆盖它们。
|
||||||
const registerConfigMenus = () => {
|
const registerConfigMenus = () => {
|
||||||
|
menuCommandIds.forEach((id) => {
|
||||||
|
if (id) {
|
||||||
|
GM_unregisterMenuCommand(id);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
menuCommandIds = [];
|
||||||
|
|
||||||
const menuTitle = (label, value, unit) =>
|
const menuTitle = (label, value, unit) =>
|
||||||
label + "(当前:" + value + unit + ")";
|
label + "(当前:" + value + unit + ")";
|
||||||
|
|
||||||
GM_registerMenuCommand(
|
const registerMenu = (title, callback) => {
|
||||||
|
const id = GM_registerMenuCommand(title, callback);
|
||||||
|
menuCommandIds.push(id);
|
||||||
|
};
|
||||||
|
|
||||||
|
registerMenu(
|
||||||
menuTitle("设置视频倍速", CONFIG.videoPlaybackRate, "倍"),
|
menuTitle("设置视频倍速", CONFIG.videoPlaybackRate, "倍"),
|
||||||
() => {
|
() => {
|
||||||
promptNumberConfig(
|
promptNumberConfig(
|
||||||
|
|
@ -218,7 +233,7 @@
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
GM_registerMenuCommand(
|
registerMenu(
|
||||||
menuTitle("设置课件最小学习时间", CONFIG.minStudySeconds / 60, "分钟"),
|
menuTitle("设置课件最小学习时间", CONFIG.minStudySeconds / 60, "分钟"),
|
||||||
() => {
|
() => {
|
||||||
promptNumberConfig(
|
promptNumberConfig(
|
||||||
|
|
@ -231,7 +246,7 @@
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
GM_registerMenuCommand(
|
registerMenu(
|
||||||
menuTitle("设置运行提醒间隔", CONFIG.heartbeatSeconds, "秒"),
|
menuTitle("设置运行提醒间隔", CONFIG.heartbeatSeconds, "秒"),
|
||||||
() => {
|
() => {
|
||||||
promptNumberConfig(
|
promptNumberConfig(
|
||||||
|
|
@ -243,7 +258,7 @@
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
GM_registerMenuCommand(
|
registerMenu(
|
||||||
menuTitle("设置课程列表等待时间", CONFIG.courseListWaitSeconds, "秒"),
|
menuTitle("设置课程列表等待时间", CONFIG.courseListWaitSeconds, "秒"),
|
||||||
() => {
|
() => {
|
||||||
promptNumberConfig(
|
promptNumberConfig(
|
||||||
|
|
@ -255,7 +270,7 @@
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
GM_registerMenuCommand(
|
registerMenu(
|
||||||
menuTitle(
|
menuTitle(
|
||||||
"设置课程列表自动刷新次数",
|
"设置课程列表自动刷新次数",
|
||||||
CONFIG.maxCourseListRefreshCount,
|
CONFIG.maxCourseListRefreshCount,
|
||||||
|
|
@ -272,7 +287,7 @@
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
GM_registerMenuCommand(
|
registerMenu(
|
||||||
menuTitle("设置提示消息显示时间", CONFIG.toastDefaultDuration / 1000, "秒"),
|
menuTitle("设置提示消息显示时间", CONFIG.toastDefaultDuration / 1000, "秒"),
|
||||||
() => {
|
() => {
|
||||||
promptNumberConfig(
|
promptNumberConfig(
|
||||||
|
|
@ -285,9 +300,10 @@
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
GM_registerMenuCommand("恢复默认设置", () => {
|
registerMenu("恢复默认设置", () => {
|
||||||
GM_deleteValue(CONFIG_STORAGE_KEY);
|
GM_deleteValue(CONFIG_STORAGE_KEY);
|
||||||
Object.assign(CONFIG, DEFAULT_CONFIG);
|
Object.assign(CONFIG, DEFAULT_CONFIG);
|
||||||
|
registerConfigMenus();
|
||||||
notify("设置已重置,刷新页面后生效", "success", 6000);
|
notify("设置已重置,刷新页面后生效", "success", 6000);
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue