For AI agents: the complete documentation index is available at /llms.txt, the full documentation bundle is available at /llms-full.txt, and this page is available as Markdown at /manual/features/schedule.md.

课表功能

课表是 AstraSchedule 客户端的核心功能,显示当天的课程安排,通过颜色、动画和倒计时提示上课状态。

课程显示

每节课程支持简称全称两种显示方式。简称通常为单字科目名,全称则为完整名称(如简称"语"对应全称"语文")。在科目配置中,简称支持特殊的 @ 下标语法:@ 之前的部分为简称,@ 之后的部分显示为下角标。例如配置为 自@物,课表上将渲染为"自",表示"自习(物理)"。这一语法仅影响简称的显示,全称字段不受影响。

课表按照作息表中配置的每日课程顺序排列。每节课显示科目简称,当前时间所在的课程或课间会被高亮标记。

简称、全称、下角标演示图片

三种高亮状态

课程根据当前时间与作息表的匹配关系,呈现三种不同的高亮状态:

  • 已结束(灰色):当前时间已超过该课程结束时间,课程名称显示为灰色,表示该课程已上完。
  • 当前课程(绿色/橙色):当前时间正处于该课程的范围内。在 WebSocket 连接正常时显示绿色,异常断开时显示橙色,意味着当前可能存在网络问题。Serverless 模式下总是显示为绿色。
  • 即将到来(闪烁):当前时间处于上一节课和本节课之间(即课间休息),下一节即将开始的课程会以闪烁动画提示。闪烁的颜色同样随 WebSocket 连接状态变化:连接时为白色与绿色交替闪烁,断开时为白色与橙色交替闪烁。

高亮状态的切换由客户端的实时时钟和作息表数据共同计算得出,每秒更新一次。

四种显示模式

通过托盘菜单中的三个开关——"课上计时""上课隐藏""始终缩小"——可以组合出四种显示模式:

是否上课课上计时上课隐藏始终缩小显示效果
上课中开启开启关闭仅显示迷你倒计时窗口(课程名和倒计时),完整课表和普通倒计时框均隐藏
上课中开启关闭关闭显示完整课表和普通倒计时框,迷你倒计时隐藏
上课中关闭任意关闭上课时段整体隐藏(课表主体、倒计时框、迷你倒计时均不显示),下课后恢复
下课/课间任意任意开启显示迷你倒计时(当前课程名和下一节课提示),完整课表和普通倒计时框均隐藏
下课/课间任意任意关闭显示完整课表和普通倒计时框

默认配置为课上计时开启、上课隐藏开启、始终缩小关闭。上课时段课表主体和普通倒计时框隐藏,仅保留迷你倒计时窗口;下课时段恢复完整显示。

倒计时框

倒计时框显示在当前高亮课程的下方,包含课程的全称和以 MM:SS 格式显示的剩余时间。倒计时框的位置会根据当前时段移动。

倒计时框顶部有一个指向当前高亮课程的三角形箭头,指示倒计时所属的课程。倒计时每秒更新一次,显示距离课程结束剩余的时间(精确到秒,如“离下课还有 05:32”)。

分隔线

作息表中可以配置分隔线(divider),在特定课程序号之前插入一条水平分隔线。分隔线的宽度、颜色和间距可通过 CSS 变量控制,默认为灰色圆角线条。可以用于分隔上下午等大时间段。

每周轮换课程

部分学校存在单双周甚至多周交替上课的情况(如单周上物理、双周上化学)。系统支持 任意周 轮换课程。

多周轮换页面展示

托盘菜单"切换日程"

"切换日程"菜单项可以将当天的课表显示为本周内的任意一天。选择后客户端替换 daily_class 数据源,显示目标日期的课程安排。日期自然变化时自动重置回当天。菜单中提供"重置至当前日期"选项以立即恢复。

可用于本地临时切换显示日程,供临时调休时使用。

托盘菜单"配置课表"

"配置课表"菜单项提供临时的单节课修改功能,供临时换课时使用。点击后弹出两步对话框:第一步选择要修改的课程时段,第二步从所有可用科目中选择替换科目。

此修改仅在当前运行实例的内存中生效,不会持久化或同步到服务端,重启客户端后恢复为服务端配置。