feat: enhance textbook reader with anchor text support and improve knowledge point management
This commit is contained in:
@@ -201,102 +201,42 @@ Seed 脚本已覆盖班级相关数据,以便在开发环境快速验证页面
|
||||
|
||||
---
|
||||
|
||||
## 7. 教师仪表盘体验优化 (2026-01-12)
|
||||
## 7. 班级管理重构与角色分离 (2026-01-14)
|
||||
|
||||
**目标**: 提升教师仪表盘的信息密度与易用性,优化核心指标展示,调整布局以符合教师工作流。
|
||||
**日期**: 2026-01-14
|
||||
**范围**: 班级创建权限收归管理端,教师端仅保留查看与加入
|
||||
|
||||
### 7.1 核心指标卡片重构 (TeacherStats)
|
||||
- **原有问题**: 展示的总学生数、总课程数等静态指标对日常教学决策帮助有限。
|
||||
- **优化方案**: 替换为高频动态指标,并增强视觉提示。
|
||||
- **Needs Grading (待批改)**: 高亮显示待处理事项,使用 Amber 色彩引起注意。
|
||||
- **Active Assignments (活跃作业)**: 显示当前发布的作业数量,反映教学负载。
|
||||
- **Average Score (平均分)**: 展示近期作业平均分,快速了解学情。
|
||||
- **Submission Rate (提交率)**: 展示整体作业完成度,反映学生参与度。
|
||||
### 7.1 职责分离 (Role Separation)
|
||||
|
||||
### 7.2 布局调整 (Layout Restructuring)
|
||||
- **原有问题**: "Needs Grading" 位于侧边栏,空间受限;"Homework" 列表占据主栏,信息密度低。
|
||||
- **优化方案**:
|
||||
- **Needs Grading 移至主栏**: 给予更多宽幅空间,展示详细的学生、作业信息及操作按钮。
|
||||
- **Homework 移至侧边栏**: 改为紧凑列表视图,作为快速导航入口。
|
||||
- **Schedule 优化**: 引入时间轴 (Timeline) 视图,支持滚动提示与当前状态指示。
|
||||
- **管理端 (Management)**:
|
||||
- 新增 `src/app/(dashboard)/management/grade/classes/page.tsx`
|
||||
- 供年级组长 (Grade Head) 与管理员创建、编辑、删除班级
|
||||
- 引入 `GradeClassesView` 组件,支持按年级管理班级
|
||||
- **教师端 (Teacher)**:
|
||||
- 移除创建班级入口
|
||||
- 新增「通过邀请码加入班级」功能 (`JoinClassDialog`)
|
||||
- `MyClassesGrid` 样式优化,移除硬编码渐变,使用标准 `bg-card`
|
||||
|
||||
### 7.3 组件功能增强
|
||||
- **RecentSubmissions (Needs Grading)**:
|
||||
- 升级为 Table 视图,展示头像、作业名、提交时间。
|
||||
- 增加 "Grade" 快捷按钮,一键进入批改页面。
|
||||
- 增加 "Late" 状态标记。
|
||||
- **TeacherSchedule**:
|
||||
- 采用垂直时间轴设计。
|
||||
- 增加滚动提示 (Scroll Hint) 与 "No more classes" 状态提示。
|
||||
- **TeacherHomeworkCard**:
|
||||
- 优化为紧凑型列表,显示发布状态 (Published/Draft) 与截止日期。
|
||||
### 7.2 数据访问与权限
|
||||
|
||||
### 7.4 技术细节
|
||||
- 引入 `recharts` 替换手写 SVG 图表,统一图表风格。
|
||||
- 优化 Grid 布局响应式表现 (`lg:grid-cols-12`)。
|
||||
- **New Components**:
|
||||
- `TeacherGradeTrends`: 基于 Recharts 的趋势图组件。
|
||||
- `Chart`: 基于 Shadcn/UI 规范的通用图表包装器 (`src/shared/components/ui/chart.tsx`)。
|
||||
- 新增 `getGradeManagedClasses`: 仅返回用户作为 Grade Head 或 Teaching Head 管理的年级下的班级
|
||||
- Server Actions (`createGradeClassAction` 等) 增加严格的 RBAC 校验,确保操作者对目标年级有管理权限
|
||||
|
||||
### 7.5 代码管理
|
||||
- **Branch**: `ui_opt`
|
||||
- **Scope**: `src/modules/dashboard`, `src/shared/components/ui/chart.tsx`
|
||||
- **Commit**: "feat(dashboard): optimize teacher dashboard ui and layout"
|
||||
## 8. 课表模块视觉升级与架构优化 (2026-01-15)
|
||||
|
||||
---
|
||||
**日期**: 2026-01-15
|
||||
**范围**: 课表视图 (Schedule View) 视觉重构、Insights 模块移除
|
||||
|
||||
## 8. 班级详情页与学生管理优化 (2026-01-14)
|
||||
### 8.1 课表视图重构 (Schedule Optimization)
|
||||
|
||||
**目标**: 提升班级管理效率与信息可视化程度,优化大班级场景下的性能与体验。
|
||||
- **视觉对齐**: 重构 `ScheduleView` (`src/modules/classes/components/schedule-view.tsx`) 以完全匹配 `ClassScheduleGrid` 组件的视觉风格。
|
||||
- **无边框设计**: 移除网格线与外边框,采用更现代的洁净布局。
|
||||
- **时间轴定位**: 废弃 Grid 布局,改用基于时间的绝对定位 (`top`, `height` 百分比计算),支持 8:00 - 18:00 时间段。
|
||||
- **语义化配色**: 新增 `getSubjectColor` 工具函数,根据课程名称 (Math, Physics, etc.) 自动映射语义化背景色与边框色。
|
||||
- **过滤器优化**: `ScheduleFilters` 移除边框与阴影,居中显示当前选中的班级名称 (`{Class Name} Schedule`),移除冗余的 Reset 按钮。
|
||||
|
||||
### 8.1 学生管理列表优化 (Students Table)
|
||||
- **分页 (Pagination)**: 引入客户端分页(每页 10 条),解决大班级列表渲染性能问题。
|
||||
- **信息增强**:
|
||||
- 增加学生头像 (Avatar)、性别、加入时间展示。
|
||||
- 增加可视化状态徽章 (Status Badge):Active (Emerald) / Inactive (Muted)。
|
||||
- **筛选能力**:
|
||||
- 新增状态筛选器 (Active/Inactive),支持服务端过滤。
|
||||
- **涉及组件**:
|
||||
- `src/modules/classes/components/students-table.tsx`
|
||||
- `src/modules/classes/components/students-filters.tsx`
|
||||
### 8.2 架构精简 (Insights Removal)
|
||||
|
||||
### 8.2 班级详情页重构 (Class Detail Dashboard)
|
||||
- **布局重构**: 采用响应式双栏布局 (Main Content + Sidebar),提升空间利用率。
|
||||
- **核心指标 (Key Metrics)**: 顶部增加 4 卡片统计网格:
|
||||
- **Total Students**: 活跃/非活跃人数细分。
|
||||
- **Schedule Items**: 每周课程数。
|
||||
- **Active Assignments**: 活跃作业数与逾期数。
|
||||
- **Class Average**: 基于已评分作业的平均分。
|
||||
- **侧边栏小部件**:
|
||||
- **Class Schedule**: 快速查看近期课程。
|
||||
- **Homework History**: 快速查看历史作业状态。
|
||||
- **涉及页面**:
|
||||
- `src/app/(dashboard)/teacher/classes/my/[id]/page.tsx`
|
||||
|
||||
### 8.3 数据访问层更新
|
||||
- **getClassStudents**: 扩展查询字段(头像、性别、加入时间),支持 `status` 过滤参数。
|
||||
|
||||
### 8.4 权限与流程调整 (Role Separation)
|
||||
- **教师端变更**:
|
||||
- 移除了“创建班级”入口,教师不再直接创建班级。
|
||||
- 新增“加入班级” (Join Class) 功能,通过 6 位邀请码加入已由管理员创建的班级。
|
||||
- 涉及组件:`src/modules/classes/components/my-classes-grid.tsx`
|
||||
|
||||
## 9. 年级管理端班级模块 (2026-01-14)
|
||||
|
||||
**目标**: 实现年级维度的班级集中管理,支持年级组长与管理员统一创建与维护班级。
|
||||
|
||||
### 9.1 路由与入口
|
||||
- **路由**: `src/app/(dashboard)/management/grade/classes/page.tsx`
|
||||
- **权限**: 仅限拥有年级管理权限的角色(Grade Director / Teaching Head / Admin)。
|
||||
|
||||
### 9.2 功能特性
|
||||
- **GradeClassesView**:
|
||||
- 展示用户所管理年级的所有班级列表。
|
||||
- 支持按年级筛选。
|
||||
- **CRUD**: 提供创建、编辑、删除班级的完整能力。
|
||||
- **RBAC**: 操作前校验用户对目标年级的管理权限。
|
||||
|
||||
### 9.3 核心变更
|
||||
- **Data Access**: 新增 `getManagedGrades` 与 `getGradeManagedClasses`。
|
||||
- **Actions**: 新增 `createGradeClassAction` 等带权限校验的 Server Actions。
|
||||
- **移除 Insights**: 经评估,`src/app/(dashboard)/teacher/classes/insights` 模块功能冗余,已全量移除。
|
||||
- **保留核心数据**: 保留 `data-access.ts` 中的 `getClassHomeworkInsights` 函数,继续服务于班级详情页的统计卡片与图表。
|
||||
- **导航更新**: 从 `NAV_CONFIG` 中移除 Insights 入口。
|
||||
|
||||
Reference in New Issue
Block a user