feat(portal-shell): 学生域全页面迁移与规范合规修复

- 学生域 32 页全量迁移(含作答/自动保存/提交/诊断)

- 补齐 4 个 MSW mock 缺口,修 diagnostic case 名

- 修 4 处 Tailwind 任意值;新增共享组件与路由
This commit is contained in:
SpecialX
2026-08-31 11:25:21 +08:00
parent 039db5efdd
commit 04b7a40bdc
493 changed files with 70985 additions and 2112 deletions

View File

@@ -176,6 +176,67 @@ type StudentDashboard {
weak_points: WeakPoint
recent_trends: TrendPoint
pending_homework: Int
# @contract-pending P3 student dashboard extension fields.
# Not yet in analytics.proto; MSW mock returns these at runtime.
# To be upstreamed into proto when the contract is finalized.
student_name: String
enrolled_classes_count: Int
graded_count: Int
due_soon_count: Int
overdue_count: Int
grades: StudentDashboardGrades
upcoming_assignments: [StudentDashboardUpcomingAssignment!]
today_schedule: [StudentDashboardTodayScheduleItem!]
}
type StudentDashboardGrades {
ranking: StudentDashboardRanking
trend: [StudentDashboardTrendItem!]
recent: [StudentDashboardRecentItem!]
}
type StudentDashboardRanking {
rank: Int
class_size: Int
percentage: Float
}
type StudentDashboardTrendItem {
assignment_id: String
assignment_title: String
score: Float
max_score: Float
percentage: Float
class_avg: Float
submitted_at: String
}
type StudentDashboardRecentItem {
assignment_id: String
assignment_title: String
score: Float
max_score: Float
percentage: Float
submitted_at: String
}
type StudentDashboardUpcomingAssignment {
id: String
title: String
subject_name: String
due_at: String
progress_status: String
latest_score: Float
}
type StudentDashboardTodayScheduleItem {
id: String
class_id: String
class_name: String
course: String
start_time: String
end_time: String
location: String
}
type ParentDashboard {