轻屿课表文档

导入与迁移

教务系统导入、表格导入、ICS 导入、AI 识图、二维码传输的完整操作步骤。

进入方式:首页右上角菜单 → 导入课程。页面顶部有一个随机课程颜色开关, 打开后会按课程名与教师自动分配预设色,不用手动挑色。

四种方式按推荐顺序排列,学校有没有被适配都能用。

教务系统导入(推荐)

适配脚本来自 qingyu_warehouse,已覆盖一部分学校。

在导入页点**「教务系统导入」**,进入学校列表。

搜索或找到你的学校,点击进入。页面会显示「匹配适配器:XXX」。 一所学校可能有多个适配器(不同教务系统版本)。搜不到时试试学校全称、 适配器名称(如 WakeUp)或学校代码;列表里会单独列出「最近使用」。

选择要用的适配器,应用会在内置浏览器中打开教务系统登录页。

登录。如果之前记住过账号,会询问是否自动填充;登录成功后也可以选择 记住密码(下次自动填充,凭据只存在本机)。

登录后点**「执行导入脚本」**。脚本会注入并抓取课表,页面底部有实时状态提示。

确认解析出的课程数量,然后确认开学日期与「课表第 1 周对应校历第几周」。 如果学校前几周没课,这里通常要往后调——选好之后页面会直接告诉你 「导入后会把所有课程周次整体顺延 N 周」,下面还会提示课表第 1 周落在校历第几周, 照着核对一遍。

选择导入为当前课表,或保存为一张新课表。

教务系统的账号密码只在你本机与学校服务器之间传输,不会上传到应用作者。

适配器详情页能看什么

在适配器条目上点**「查看详情」**,能看到这些信息,排查问题时很有用:

字段说明
学校 / 类别 / 维护者适配器来源与维护人
说明维护者写的 markdown 说明,通常含适用校区与已知限制
adapter_id适配器标识,反馈问题时带上能省一轮沟通
脚本路径脚本在适配仓里的位置
登录入口实际使用的教务网址。为空表示这个适配器没配默认地址
仓库适配器所在仓库地址
脚本状态显示「脚本已成功读取,长度 N 字符」说明正常;「脚本为空」说明没拉到

详情页底部还有四个操作:

  • 系统浏览器打开:在系统浏览器里打开登录地址(应用内网页异常时用它对照)
  • 复制登录地址 / 复制脚本地址:反馈时直接贴给开发者
  • 自定义登录地址 / 修改自定义地址:学校换过教务网址时,自己填一个覆盖默认值 (保存后下次直接用,也可以随时「清除自定义地址」恢复默认)

教务网页显示不对时,试试右上角的桌面端 / 移动端页面切换按钮。 有些学校的课表页只在桌面版布局下能被脚本识别。

快捷导入(录制一次,之后一键)

第一次按上面 7 步走完后,会问你要不要把这次的操作路径保存成快捷导入。 保存后下次就不用再手动点「执行导入脚本」了。

在导入页点右上角的**「⚡ 快捷导入」**,选一条已保存的记录 (显示「适配器名 · N 步」)。只有一条时会直接开跑,不弹选择框。

应用会自动重放录制好的步骤、自动执行脚本并把结果导入。

期间页面上有**「取消导入」**按钮,随时可以中断。

也可以只录制不导入:在适配器条目上点**「录制导入」**, 按正常流程操作一遍教务网站,点停止后问你是否保存。

快捷导入不保存你的账号密码,录的是「点了哪些按钮、访问了哪些页面」这些步骤。 教务网站改版后录制的步骤会失效,重新录一次即可。

学校列表里没有我的学校

页面底部有「学校列表里没有你的学校?」入口。点进去提一个 Issue, 建议一起写上学校名称、教务系统网址、登录后课表页链接或截图,方便补适配。

如果你会网页调试、抓包或 JavaScript,也可以自己写适配器—— 见AI 协作适配教务。

导入出问题时的自助排查

  • 页面右上角**「更多」里三个入口:缺少学校去反馈、自定义调试、「课表导入执行日志」** (导出后发给开发者能大幅加快定位)
  • 学校列表读不出来时,通常会提示尝试了几个镜像线路,可先检查网络; 也可以到「关于软件 → 版本更新」里切换下载镜像后重试
  • 教务系统改版会导致原有适配失效,在适配仓库提 issue 即可
  • 提示**「时间模板节次不足」**时,选「自动补齐并导入」会帮你把课表时间模板 扩到需要的节数
  • 提示**「未识别到可导入课程」**:脚本跑了但没解析出课, 先确认是不是选错了适配器,或教务系统的学期还没排课

表格导入

适合已经有 Excel / CSV 课表的情况。格式对不上时,导入页的模板能补齐。

在导入页点**「表格导入」**。

点**「下载轻屿课表模板」**获取模板。必填列为:课程名、星期、开始节、结束节, 以及周次(「上课周」或「开始周 + 结束周」)。其余列可选,可以只保留必要列。

填写完成后另存为 .csv,或保留 .xlsx。只读取第一个工作表。

点**「选择表格文件」**导入。如有识别不了的行,会先弹出「导入提醒」列出问题行, 点「继续导入」可跳过这些行、导入其余课程。

选择追加或替换现有课程。

模板有哪些列

官方模板的完整表头是这样的(第一行是格式标记,别删):

课程名,星期,开始节,结束节,上课周,简称,教师,教室,开始时间,结束时间,颜色,停课周,性质,简介,备注,时间模板
列必填说明
课程名✅唯一标识。同一门课多行同名会自动归为一门
星期✅1–7 对应周一到周日
开始节 / 结束节✅单节课两列相同;连堂填起止。结束节不能小于开始节
上课周✅见下方「周次怎么写」
简称建议 3 字以内,超级岛和小组件用它
教师 / 教室留空会显示「未知教师 / 未知地点」
开始时间 / 结束时间留空则按时间模板推算;填了就按填的来
颜色#RRGGBB 十六进制,如 #2196F3
停课周这几周不上,填法同上课周
性质必修 或 选修
简介 / 备注简介是课程级共享,备注是这一条排课的
时间模板填模板 ID;留空或 default 表示跟随课表主时间表

周次怎么写

「上课周」和「停课周」都支持这些写法,多个段用中文逗号、英文逗号或顿号隔开:

写法含义
1-16第 1 周到第 16 周,全上
1-16单只上单周
1-16双只上双周
1-8、10-16两段合起来,第 9 周不上
1-5、7-11单可以一段全上、一段只上单周
3只上第 3 周

周次最大到 30。超过学期周数的部分会被自动忽略并给出提醒—— 想让它们生效,先去「课表设置 → 选择学期周数」把周数调大。

也兼容 WakeUp 等同列格式(7 列,顺序为 课程名称 / 星期 / 开始节数 / 结束节数 / 老师 / 地点 / 周数)。如果提示「未识别表格格式」, 说明表头对不上,建议用官方模板重填。

ICS 日历导入

适用于从其他课表应用、学校导出的日历文件迁移。

先在别的课表应用里导出 .ics 文件。文件后缀必须是 .ics。

回到导入页点**「.ics 日历导入」→「选择 .ics 文件」**。

选择**「追加导入」或「替换现有」**。替换会同时清空当前课表上的独立日程 (自习、会议等),注意先备份。

导入前会让你确认开学日期,以及课表第 1 周对应校历第几周。 系统会根据文件里最早的上课日期给出默认值,可手动调整。

手里只有截图的话不要走这条路。返回上一页选「识图导入」。

AI 识图导入

学校未适配、又没有 ICS 或表格文件时,用截图 + AI 识别。

在导入页点**「识图导入」,点「提示词」**按钮复制提示词。

打开豆包,左下角切换为「专家模式」(支持多图)。

把课表截图和提示词一起发过去。截图务必带星期表头,否则识别不准。

让豆包只返回 JSON,把返回的 JSON 复制回来。

在导入页点**「粘贴」**,填入 JSON 框(支持纯 JSON,也兼容 ```json 代码块)。

点**「预览」**核对:会显示课程数量、最大节次,以及识别提醒。 展开「课程预览」可逐条检查。

点**「确认导入」**,再选择开学日期与周次对应。

返回 JSON 长什么样

提示词已经写死了输出格式,AI 应该只返回这样的纯 JSON:

{
  "schema": "mikcb_ai_import_v1",
  "courses": [
    {
      "name": "高等数学",
      "teacher": "张老师",
      "location": "A101",
      "dayOfWeek": 1,
      "startSection": 1,
      "endSection": 2,
      "customWeeks": [1, 2, 3],
      "courseNature": "required",
      "note": ""
    }
  ],
  "warnings": []
}
字段说明
dayOfWeek1–7 对应周一到周日
startSection / endSection起止节次,单节课两者相同
customWeeks上课周次的数组,如 [1,2,3]
courseNaturerequired 必修 / elective 选修
note班级信息等备注

AI 识别结果可能存在偏差,导入后请逐条核对课程名称、时间、地点与周次。 提示「解析失败,请确认粘贴的是完整 JSON」时,多半是复制时被截断了。

预览里出现**「识别提醒」**不要跳过——那是 AI 自己标出的可疑行, 点开看清楚再决定要不要继续。

二维码面对面传输

两台设备之间直接传课表,不需要网络。

发送方:进入「设置 → 数据备份与迁移 → 二维码面对面传输」, 选择二维码发送当前课表或二维码发送全部数据。

接收方:点**「扫码接收课表数据」**,把摄像头对准对方屏幕。

双方保持稳定,等待进度条走完。页面会显示已发送 / 已接收帧数、解码进度与传输速度。

接收完成后自动导入,可按需覆盖或导入为新课表。

也可分享更轻量的一周课表:选择「分享本周课表」或「分享勾选的课程」。

二维码传输是明文的,附近摄像头可能读取内容。应用会先提示风险确认, 未经确认不会覆盖数据。传输过程中只对准一台设备,否则会提示「检测到不同传输内容」。

传输页会实时显示已发送 / 已接收帧数与总帧数、新增帧、重复帧、解码帧率、 采样帧率、已用时间和接收速度——卡住时能一眼看出是画面对不上还是单纯慢。

中断或失败时(超时、解码失败、校验失败、数据超出上限等)的提示含义与处理, 统一见故障排查 → 二维码传输中断。

发送页上点**「停止发送」可随时中断;接收页有「重新开始」**。

导入后的收尾

不管用哪种方式导入,建议做三件事:

核对时间模板:检查节次时间是否和本校作息一致。不一致的话课表行高和提醒时刻都会偏。

核对开学日期与当前周:在「课表设置」顶部摘要卡看「当前第 N 周 / 共 M 周」。

补课程简称:简称不会自动生成。批量导入后建议给主要课程补上 3 字以内的简称, 超级岛和小组件才不会截断。

相关

On this page