北京理工大学物理实验选课系统不太人性化。如下图,这段脚本可以给满员、冲突的课程上色,方便选课。
开放选课后,一般选课是在“物理实验中心 →(侧边栏)教学选排课 → 我的课程 → 课程选修 → 已选课程列表”左键单击“实验选修”,这时对话框尺寸会很难受。
为此,请右键单击“实验选修”,选择“在新标签页中打开链接”(或直接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。