feat(班级PK): 班级 PK 页重做:两个班看比分和每道题谁赢,三个班以上看题目对照格,学生也能比
Deploy / deploy (push) Canceled after 0s

- 两个班:大比分 + 一次就对副比分,每道题左右两根条、差得最多的在上,下面每周人均和全班分布
- 三个班以上:一行一道题、一格一个班,越深做对的人越多,皇冠是这道做得最好的班;右边谁领先的题多和赛跑
- 学生自己的班标「你们班」,输掉的题写「再 N 人做对就打平」;AI 分析只给老师,直接在页面里出
- 去掉综合分、雷达图、十张柱状图;手机版按稿改成上下排和页签
- 排名页、班级对抗、班级详情的入口对登录的人都开放,带上当前的班

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
xuyueandClaude Opus 5.5 committed 2026-10-10 09:06:21 +08:00
1 parent d83804b814
commit ce0093fc29
12 files changed
+2230 -873

No files matched your search

+6 -6
View File
@@ -14,9 +14,10 @@ import {
type ClassBoard,
type ClassLesson,
type KnowledgeMap,
type ClassComparisonResponse,
type ClassBattleItem,
type ClassDetail,
type ClassPk,
type ClassPkPeriod,
type RankBoard,
type RankPeriod,
type RankScope,
@@ -304,11 +305,10 @@ export function getLastVisit() {
return api.get<LastVisit>("me/last-visit")
}
export function getClassPK(classNames: string[], startTime?: string, endTime?: string) {
return api.post<ClassComparisonResponse>("classes/comparison", {
classNames,
...(startTime ? { startTime } : {}),
...(endTime ? { endTime } : {}),
/** 班级 PK:不给班就用自己的班(老师用默认的班),只给一个班就配一个同年级的对手 */
export function getClassPk(classes: string[], period: ClassPkPeriod) {
return api.get<ClassPk>("rankings/pk", {
params: { period, ...(classes.length ? { classes: classes.join(",") } : {}) },
})
}