feat: 完善课程直播页面和首页Dashboard数据同步

- 修复6月17日单元小结归属问题,正确归入商业设计基础单元
- 添加单元海报功能,非直播状态显示单元海报图片
- 更新首页Dashboard开始上课和当日事项板块数据
- 实现课程数据与Dashboard数据自动同步
- 优化课程列表显示,包含完整100门课程数据

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
KQL
2025-09-02 22:09:48 +08:00
parent ed5b65ea41
commit 316dd9b6bf
27 changed files with 2287 additions and 719 deletions

View File

@@ -3,7 +3,7 @@ import StartClass from "./components/StartClass";
import QuickAccess from "./components/QuickAccess";
import CalendarTaskModule from "./components/CalendarTaskModule";
import StudyStatus from "./components/StudyStatus";
import Rank from "@/components/Rank";
import ClassRank from "@/components/ClassRank";
import StageProgress from "@/components/StageProgress";
import TaskList from "./components/TaskList";
import { getDashboardStatistics } from "@/services";
@@ -52,38 +52,39 @@ const Dashboard = () => {
<div className="dashboard">
<StageProgress showBlockageAlert={true} />
<div className="dashboard-grid">
<StartClass
courses={dashboardData?.courses}
tasks={dashboardData?.tasks}
loading={loading}
/>
<QuickAccess />
<CalendarTaskModule
tasks={dashboardData?.tasks?.allTasks}
selectedDate={selectedDate}
onDateChange={setSelectedDate}
loading={loading}
/>
<StudyStatus
progress={dashboardData?.overview?.overallProgress}
loading={loading}
/>
<Rank
data={
dashboardData?.ranking
? {
rankings: dashboardData.ranking.topStudents,
}
: null
}
loading={loading}
/>
<TaskList
tasks={getTasksForDate(selectedDate)}
selectedDate={selectedDate}
loading={loading}
/>
<div className="dashboard-wrapper">
<div className="dashboard-left-content">
<StartClass
courses={dashboardData?.courses}
tasks={dashboardData?.tasks}
loading={loading}
/>
<QuickAccess />
<div className="status-rank-wrapper">
<StudyStatus
progress={dashboardData?.overview?.overallProgress}
loading={loading}
/>
<ClassRank
className="class-rank-wrapper"
data={
dashboardData?.ranking
? {
rankings: dashboardData.ranking.topStudents,
}
: null
}
/>
</div>
</div>
<div className="dashboard-right-content">
<CalendarTaskModule
tasks={dashboardData?.tasks?.allTasks}
selectedDate={selectedDate}
onDateChange={setSelectedDate}
/>
<TaskList tasks={getTasksForDate(selectedDate)} loading={loading} />
</div>
</div>
</div>
);