课程中心改版:高项 / 系规 一眼可辨
很多朋友进 /courses 之后第一句话是:"我考的是高项(或系规),到底买哪个?" 老页面把所有课程混在一起,得逐张卡片读才能看出学科方向,体验确实不够直接。
这次把 /courses 重构成 4 大板块:
- 一对一学习班(顶部 featured,琥珀色,明示双方向通用)
- 高项专区(蓝色主题,包含精品文章合集、冲刺特辑合集等高项专属课程)
- 系规专区(紫色主题,包含系规精品图文课程,并预留"系规冲刺特辑"即将上线占位)
- 通用服务(论文专班、考前论文辅导、互助学习群——高项 / 系规 都适用)
页面顶部新增 4 块快速锚点导航,点一下直达对应板块。每张课程卡左上角统一彩色 SubjectBadge:
- 蓝色 = 高项
- 紫色 = 系规
- 琥珀 = 双方向通用
不需要读完描述就能判断这门课是不是冲你来的。
学习时长展示:从"11230h17m"到"X小时Y分钟"
/learn 页右侧"累计学习"栏位之前显示的是 XXXXXh YYm 这种格式。我自己账号一度显示"11230h17m",相当于 1.28 年 7×24 在线学习——明显不科学。
这次做了三件事:
一、展示自适应到年/月/日
不再固定用 Xh Ym。新规则:
- 不到 1 小时 → "X分钟"
- 不到 1 天 → "X小时Y分钟"
- 不到 1 个月 → "X天Y小时"
- 不到 1 年 → "X个月Y天"
- 超过 1 年 → "X年Y个月"
/learn、/learn/history、/user/dashboard 三处统一更新。
二、根因修复:按"页面真的看着"计时
之前的学习时长是按"打开课时到关闭课时"的墙钟时间算的,所以 tab 留着没关一晚上、就被记成 8 小时学习。
现在课时阅读页改为:每秒判断一次 document.visibilityState === 'visible' 且窗口处于聚焦状态——只有这两个条件同时满足,有效时长才 +1。同时加了单课时 4 小时硬上限,超过这个值就不再累加。
三、历史数据清洗
136 条历史记录的 effective_duration 已统一 cap 到 4 小时,原始记录全部备份在 learning_records_cap_backup_20260501 表,未来需要恢复也找得到。
接下来还会做的
系规这条线刚启动,后续会陆续上:
- 系规冲刺特辑(已在筹备)
- 系规真题题库扩充
- 论文专班的系规专属选题模板
关于学习时长的小细节如果你还看到不对劲,欢迎在 /feedback 留言,我会盯着改。