一款专为大学生情侣设计的现代化、高颜值的双人课表应用。支持多视图无缝切换、云端实时同步、ICS 课表智能导入以及极高自由度的外观自定义。
- 三视图无缝切换:支持“我的课表”、“双人课表”、“Ta的课表”三种视图模式。
- 专属颜色与标识:在双人视图中,两人的课程会分别使用专属的统一颜色(可在设置中自定义),并且对方的课程右下角会带有专属的“爱心”标识。
- 智能重叠显示:在双人模式下,当两人的课程时间冲突时,卡片会自动并排显示,一目了然。
- 智能重叠与冲突检测:
- 单人模式最优显示:在“我的”或“Ta的”单人视图中,如果同一时间段有多门课程(如单双周交替),系统会自动挑选出当前周最需要关注的一门课(本周生效 > 距离本周最近)进行展示,保持界面清爽不拥挤。
- 冲突高亮示警:在单人模式下,如果多门课程在当前周真实发生了时间冲突,系统会以醒目的红色背景和红色发光边框高亮示警,并显示
[时间冲突]标签。
- 快速回到本周:在底部导航栏双击(或再次点击)当前所在视图的图标,即可一键快速跳转回当前真实周数。
- 周数滑动切换:支持左右滑动丝滑切换周数,支持“第 0 周(未开学)”状态。
- 单双周与临时课程:支持设置课程为“全周”、“单周”、“双周”,甚至可以添加仅在特定日期生效的“临时课程”。
- 已结束课程隐藏:当当前周数超过某门课的结束周数时,该课程会自动隐藏,保持课表清爽。
- 非本周课程提示:非本周上的课会以半透明灰色显示,并带有
[非本周]标签。
- 无感同步:配置 GitHub Token 和 Gist ID 后,每次修改课表都会自动在后台静默同步到云端。
- 多端漫游:在手机、平板、电脑上配置相同的 Token 和 ID,即可实现多端课表数据实时同步,完全免费且私密。
- 一键导入:支持从各大高校教务系统导出的标准
.ics日历文件一键导入。 - 智能解析引擎:
- 精准解析
DTSTART、DTEND、UNTIL和RRULE(重复规则),自动计算课程的起始周和结束周。 - 智能提取
DESCRIPTION中的精确上课节次(如“第1-2节”)、教室和教师信息。 - 自动适配时间段:导入时会自动根据 ICS 文件中的真实时间,重新生成 App 的每日时间段配置(Periods),无需手动排课。
- 精准解析
- 智能去重合并:自动识别并合并被拆分成多次的同名课程。
- 目标选择:导入时可自由选择覆盖“我的课表”或“Ta的课表”。
- 自定义背景壁纸:支持上传本地图片作为课表背景(内置 Canvas 自动压缩引擎,防止存储溢出)。
- 毛玻璃效果 (Glassmorphism):
- 支持一键开启/关闭全局毛玻璃效果。
- 提供滑动条,可自由调节毛玻璃的不透明度(0% - 100%),适配深色或浅色壁纸。
- 课程块信息定制:
- 字体大小调节:支持精确输入像素值(px)调节课程块字体大小。
- 显示内容开关:可自由勾选是否在课程块中显示“上课时间”、“课程名称”、“教室地点”和“教师姓名”。
- 自适应排版:采用左上角紧凑排版,白字高对比度显示,确保在任何背景下都清晰可见。
- 开学日期设置:设置开学日期后,系统会自动计算当前是第几周。
- 时间段自定义:支持自由添加、删除每天的上课节次,并可精确修改每节课的开始和结束时间。
- 点击底部导航栏的“设置” -> “学期配置”,设置你的开学日期。
- 在“设置” -> “同步配置”中,点击“选择 .ics 文件导入”,将你的课表导入到“我的课表”。
- 让你的另一半也导出
.ics文件并发送给你,再次点击导入,选择导入到“Ta的课表”。
- 前往 GitHub 申请一个 Personal Access Tokens (Classic) (只需勾选
gist权限)。 - 在 App 的“同步配置”中填入 Token,点击“自动创建新 Gist”。
- 稍等片刻,系统会自动为你创建一个 Gist 并填入 ID。点击“手动同步到云端”。
- 邀请另一半:将你的 Token 和生成的 Gist ID 发给 Ta,让 Ta 在自己的手机上填入相同的 Token 和 ID,点击“从云端拉取”,即可完成双人绑定!
去“外观”设置里上传一张你们的合照作为壁纸,调节一下毛玻璃透明度和字体大小,享受你们的专属课表吧!
- React 18 + TypeScript + Vite
- Tailwind CSS (样式与响应式)
- Framer Motion (动画与手势)
- Lucide React (图标)
- 纯前端解析引擎 (ICS 解析与图片压缩)