// 湖北民族大学教务系统(jwgl.hbmzu.edu.cn/edu)拾光课表导入适配脚本
// 课表查询页(/edu/report/mySchedule.mvc)直接渲染课表 DOM:
// #container 内每行 tr:首 td 为节次("上午1-2节"…"晚上11-12节"),后续 7 个 td 对应周一~周日
// 每格 .course-block 含 span:课程名、教室、周次、教师(无教室时仅 3 个)
// 注意:无开学日期/总周数接口,config 仅保存作息时间
// 预设作息时间(12 节,含午间/晚间)
const HBMZU_TIME_SLOTS = [
{ number: 1, startTime: "08:00", endTime: "08:45" },
{ number: 2, startTime: "08:50", endTime: "09:35" },
{ number: 3, startTime: "10:05", endTime: "10:50" },
{ number: 4, startTime: "10:55", endTime: "11:40" },
{ number: 5, startTime: "14:00", endTime: "14:45" },
{ number: 6, startTime: "14:50", endTime: "15:35" },
{ number: 7, startTime: "16:05", endTime: "16:50" },
{ number: 8, startTime: "16:55", endTime: "17:40" },
{ number: 9, startTime: "18:30", endTime: "19:15" },
{ number: 10, startTime: "19:20", endTime: "20:05" },
{ number: 11, startTime: "20:15", endTime: "21:00" },
{ number: 12, startTime: "21:05", endTime: "21:50" }
];
function getErrorMessage(error) {
if (error && typeof error.message === "string" && error.message.trim()) return error.message;
if (typeof error === "string" && error.trim()) return error;
try {
const serialized = JSON.stringify(error);
if (serialized && serialized !== "{}") return serialized;
} catch (_) {
// Ignore serialization failures.
}
return "未知错误";
}
// 收集可访问的 document(frameset 用 ,普通页面用