您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
给满员、冲突的课程自动上色
北京理工大学物理实验选课系统不太人性化。如下图,这段脚本可以给满员、冲突的课程上色,方便选课。
开放选课后,一般选课是在“物理实验中心 →(侧边栏)教学选排课 → 我的课程 → 课程选修 → 已选课程列表”左键单击“实验选修”,这时对话框尺寸会很难受。
为此,请右键单击“实验选修”,选择“在新标签页中打开链接”(或直接Ctrl+左键单击)。这样舒服一些,本脚本也只支持如此。
弹出对话框后,就会自动上色了。
颜色 | 意义 |
---|---|
红 | 满员 |
黄 | 冲突 |
绿 | 可选 |
另外,红黄渐变表示既满员又冲突。
您需要自己配置如何判定课程冲突。(若不配置,此脚本也可正常使用。)
安装脚本后,找到这个脚本的编辑页。
修改函数my_conflict_referee()
中的变量bans
,或者完全重构my_conflict_referee()
。
例如下面这样表示周一第二大节、第四大节,周二第二大节有其它事,冲突。
/**
* 不能上的时间
* @type {number[][]} [[星期几(1-7), 第几大节(1-5)]]
*/
const bans = [
[1, 2], [1, 4],
[2, 2],
]
return bans.find(([day, section]) =>
day === course.class_time.day && section === course.class_time.section)
而下面这样表示第8–11周周三第五大节冲突。
if (course.class_time.week >= 8 && course.class_time.week <= 11 &&
course.class_time.day === 3 && course.class_time.section === 5) {
return true
} else {
return false
}
您也可利用course.class_time
的其它字段,下面是它的例子。
{
week: 11, // 第11周
day: 7, // 周日
section: 5, // 第五大节
date: new Date(), // 某年某月某日
start: [18, 30], // 18:30开始
end: [20, 55], // 20:55结束
}
关于如何使用Date
对象,可参考 Date - JavaScript | MDN。