zhonghua
|
2d9856edac
|
feat: 课程中心增加课程包主题筛选,过滤导入课/集体课
- 后端: 套餐筛选元数据新增 themes,getPackages 支持 themeId
- 前端: 学校端/教师端课程中心增加课程包主题下拉筛选
- 课程配置筛选和卡片展示均过滤导入课、集体课
Made-with: Cursor
|
2026-03-23 18:28:54 +08:00 |
|
zhonghua
|
da415703cf
|
fix: 排课弹窗移除重复套餐选择步骤,统一教师端与学校端
- 合并步骤1与步骤2,直接在选择课程包中展示套餐选择器
- 教师端、学校端均由5步改为4步流程
- 修复ID类型比较问题,使用宽松相等避免选中高亮异常
Made-with: Cursor
|
2026-03-23 14:31:48 +08:00 |
|
zhonghua
|
275b0da7a0
|
style: 我的课表课程信息主题色统一为橙色
Made-with: Cursor
|
2026-03-23 14:18:49 +08:00 |
|
zhonghua
|
80246c9dec
|
feat: 校园端排课、教师端预约排课添加套餐选择
- 多套餐时步骤1展示套餐选择器,支持切换套餐后加载对应课程包
- 单套餐时保持原行为,自动选中并展示课程包
- 管理端数据模型已支持一租户多套餐、一套餐多课程
Made-with: Cursor
|
2026-03-23 14:18:10 +08:00 |
|
zhonghua
|
7d659e87c8
|
fix: 成长档案 images JSON 格式化、排序与卡片排版
- 后端:GrowthRecordResponse.images 改为 List<String>,Mapper 解析 JSON
- 后端:TeacherGrowthController 返回 GrowthRecordResponse 统一 images 格式
- 后端:分页按 updatedAt、createdAt 倒序排序
- 前端:教师/学校端成长档案卡片封面与排版修复(cover 约束、flex 布局)
Made-with: Cursor
|
2026-03-23 11:58:10 +08:00 |
|
zhonghua
|
ac8e07c784
|
feat: 课程中心主题筛选改为课程配置筛选,课程包卡片展示课程配置
Made-with: Cursor
|
2026-03-23 11:12:09 +08:00 |
|
zhonghua
|
dc0ce2bf78
|
feat: 排课流程增加选择套餐步骤,课程详情预约跳过套餐选择
- 学校端/教师端排课:新增第一步「选择套餐」,支持租户一对多套餐
- 从课程详情预约上课:跳过套餐与课程包选择,从选择课程类型开始
- 课程详情页传递正确的 courseId/packageId 避免预约失败
Made-with: Cursor
|
2026-03-23 10:20:24 +08:00 |
|
|
|
e8219e5aab
|
Merge branch 'retirado'
# Conflicts:
# docs/dev-logs/2026-03-21.md
|
2026-03-21 21:37:17 +08:00 |
|
|
|
b361b1885b
|
fix: 教师端首页今日课程 courseName 和 className 关联查询
问题:
- 今日课程功能只查询了 lesson 表,没有 JOIN 关联表
- TeacherLessonVO 的 courseName 和 className 字段为 null
- 前端无法显示课程名称和班级名称
修复:
- LessonMapper 新增 selectTodayLessonsWithDetails() 方法
- 通过 LEFT JOIN course_package 和 clazz 表获取名称
- TeacherStatsServiceImpl 重写 getTodayLessons() 方法
- 添加类型转换辅助方法 (getLong/getString/getLocalDate/getLocalTime/getLocalDateTime)
影响范围:
- 教师端首页 - 今日课程模块
- API: GET /api/v1/teacher/today-lessons
- API: GET /api/v1/teacher/dashboard
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-03-21 18:43:47 +08:00 |
|
Claude Opus 4.6
|
3183d1d388
|
feat: 学校端课程中心优化 - 照搬教师端实现
主要变更:
- 学校端课程详情页返回完整 CourseResponse(与教师端一致)
- 新增课程中心视图 CourseCenterView.vue(学校端/教师端)
- 新增 course-center.ts API 层
- 新增 PackageFilterMetaResponse 用于筛选元数据
- 菜单文案修改:课程管理 -> 课程中心
后端优化:
- SchoolCourseController.getCourse() 返回 CourseResponse
- CourseCollectionService 新增筛选元数据查询方法
- CoursePackageResponse 新增 filterMeta 字段
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-03-21 18:14:49 +08:00 |
|
|
|
6e1758a44d
|
Merge remote-tracking branch 'origin/master'
# Conflicts:
# reading-platform-frontend/openapi.json
# reading-platform-frontend/src/api/generated/index.ts
# reading-platform-frontend/src/api/generated/model/index.ts
# reading-platform-frontend/src/api/generated/model/taskCreateRequest.ts
|
2026-03-21 12:54:02 +08:00 |
|
|
|
6f64723428
|
feat: 教师端数据看板与学校端课程统计功能
教师端数据看板:
- 新增 TeacherDashboardResponse/TeacherLessonVO/TeacherLessonTrendVO
- 新增 TeacherWeeklyStatsResponse 周统计响应
- 新增 TeacherActivityLevel 枚举和 TeacherActivityRankResponse 活跃度排行
- 实现教师端课程统计、任务完成详情、任务反馈接口
学校端课程统计:
- 新增 CourseUsageVO/CourseUsageStatsVO/CoursePackageVO
- 新增 SchoolCourseResponse 和学校端课程使用查询接口
- 实现学校端统计数据和课程趋势接口
用户资料功能:
- 新增 UpdateProfileRequest/UpdateProfileResponse
- 实现用户资料更新接口
前后端对齐:
- 更新 OpenAPI 规范和前端 API 类型生成
- 优化 DashboardView 组件和 API 调用
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-03-21 12:45:56 +08:00 |
|
zhonghua
|
c55b2266fb
|
fix: task_feedback 表字段对齐与完成情况图片展示
- 新增 V47 迁移:为 task_feedback 添加 create_by、update_by、deleted 字段
- 修复 TaskFeedbackMapper 使用 deleted 替代 deleted_at
- 教师端完成情况:将「X张照片」改为图片缩略图展示,支持点击预览
- 评价弹窗提交内容预览区显示图片网格,参考家长端提交页面
Made-with: Cursor
|
2026-03-20 19:05:59 +08:00 |
|
zhonghua
|
5cb903d7ed
|
feat: 家长端任务、教师端统计、数据库迁移等
- 家长端阅读任务:从 task_target 获取任务(学生+班级),支持家长关联孩子查看
- 家长端提交任务:修复照片上传,使用 uploadFile(file, poster) 符合 API 规范
- 教师端任务列表:TaskResponse 新增 targetCount、completionCount,填充目标人数与完成人数
- 数据库迁移:V45 添加 task_completion.photos,V46 添加 submitted_at、reviewed_at
- 其他:班级学生、家长孩子、学校班级统计等修复
Made-with: Cursor
|
2026-03-20 18:43:47 +08:00 |
|
zhonghua
|
c93d325cee
|
fix: 课后记录页面前后端对齐 - 修改 getStudentRecords 返回 { lesson, students } 结构 - 修改 batchSaveStudentRecords 接受 { records } 请求体 - 新增 StudentRecordsResponse/StudentWithRecordResponse/BatchStudentRecordsRequest - 前端增强数据容错
Made-with: Cursor
|
2026-03-20 16:11:08 +08:00 |
|
zhonghua
|
463c3d9922
|
feat: 阅读任务模块 - 关联绘本、任务模板与教师端优化
Made-with: Cursor
|
2026-03-20 15:55:33 +08:00 |
|
zhonghua
|
26f55da670
|
Merge branch 'retirado' of http://8.148.151.56:3000/tonytech/kindergarten_java
# Conflicts:
# reading-platform-frontend/src/api/school.ts
# reading-platform-frontend/src/api/teacher.ts
# reading-platform-frontend/src/views/school/tasks/TaskListView.vue
# reading-platform-frontend/src/views/teacher/tasks/TaskListView.vue
# reading-platform-java/src/main/java/com/reading/platform/controller/school/SchoolTaskController.java
# reading-platform-java/src/main/java/com/reading/platform/controller/teacher/TeacherTaskController.java
# reading-platform-java/src/main/java/com/reading/platform/dto/response/TaskCompletionDetailResponse.java
# reading-platform-java/src/main/java/com/reading/platform/service/TaskService.java
# reading-platform-java/src/main/java/com/reading/platform/service/impl/TaskServiceImpl.java
|
2026-03-20 14:27:28 +08:00 |
|
Claude Opus 4.6
|
f62aa18e72
|
feat: 阅读任务模块重写(Phase 1-4)
## 主要变更
### 后端改造 (Phase 1)
- 新增 task_feedback 表存储教师评价
- task 表添加 related_book_name 字段
- task_completion 表添加 video_url, audio_url 字段
- 新增 TaskFeedback 实体和服务层
- 扩展 TaskService 支持完成情况查询和评价功能
- 学校端 API 改为只读模式 (/v1/school/reading-tasks)
### 教师端前端 (Phase 2)
- 创建任务弹窗添加关联绘本字段
- 完成情况弹窗支持新状态值 (PENDING/SUBMITTED/REVIEWED)
- 新增评价弹窗组件(评价结果、评分、评语)
- 显示提交内容预览(照片、视频、音频、文字)
### 家长端前端 (Phase 3)
- 提交功能改造支持照片上传(最多9张)
- 支持视频/音频链接输入
- 阅读心得文字输入
- 新增查看教师评价功能
- 状态驱动操作(待提交/已提交/已评价)
### 学校端前端 (Phase 4)
- 完全重写为只读模式
- 移除创建/编辑/删除功能
- 多维度筛选(关键字、类型、状态、日期、排序)
- 统计卡片(任务数、进行中、已提交、已评价)
- 任务详情弹窗
- 完成情况列表弹窗
- 提交详情弹窗
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-03-20 14:08:36 +08:00 |
|
zhonghua
|
37a6aba8cc
|
feat: 任务完成情况 API 与 UI 优化
- 学校/教师端: 新增 GET/PUT 任务完成情况接口,支持分页与状态筛选
- 后端: TaskCompletionDetailResponse 含学生姓名、班级信息
- 后端: 新增 getTaskCompletionStats、getTaskCompletionsWithStudent
- 学校端: 状态筛选移至弹框标题后,分页始终显示
- 班级字段: 支持 ACTIVE 状态,无记录时用 student.grade 兜底
- 迁移 V43: 添加 student_class_history 测试数据
Made-with: Cursor
|
2026-03-20 11:48:56 +08:00 |
|
zhonghua
|
f90037dd17
|
feat: 根据排课lessonType直接进入子课程,子课程结束即上课结束;右侧添加课程类型展示
- 后端:LessonDetailResponse 新增 lessonType,从 SchedulePlan 读取
- 前端:根据 lessonType 直接进入对应子课程,子课程结束即上课结束
- 前端:右侧面板课程资源上方添加课程类型标签展示
Made-with: Cursor
|
2026-03-20 10:56:41 +08:00 |
|
zhonghua
|
8502d8b2d3
|
fix:优化上课备课路由死循环
|
2026-03-20 10:07:17 +08:00 |
|
zhonghua
|
ed9371b21f
|
feat: 排课/预约优化与国际化
- main.ts: dayjs 时间国际化使用中文
- 排课日期禁止选择过去时间(学校端、教师端、校本课程预约)
- 移除选择课程套餐,租户仅一个套餐直接展示课程包
- 教师端预约上课增加排课计划参考表格
Made-with: Cursor
|
2026-03-19 18:31:54 +08:00 |
|
zhonghua
|
824ce7ad80
|
feat: 教师端预约上课与学校端新建排课流程一致
- 后端:教师可访问课程套餐/课程包/lesson-types API
- 后端:TeacherScheduleServiceImpl 支持 coursePackageId、lessonType
- 前端:新增 TeacherCreateScheduleModal 四步流程(选择课程包→课程类型→班级→时间)
- 前端:ScheduleView 集成新弹窗
- 前端:课程中心 PrepareModeView 预约上课使用相同四步流程,支持预设
Made-with: Cursor
|
2026-03-19 18:14:25 +08:00 |
|
zhonghua
|
3f6696d7bb
|
feat: 教师端排课优化
- 排课详情/课表:显示班级、课程、课程类型(使用 toSchedulePlanResponse 填充)
- 开始上课:改用 from-schedule API,避免 teacherId/title/lessonDate 校验失败
- 前端:TeacherSchedule 增加 lessonType/coursePackageName,课程展示兼容 coursePackageName
Made-with: Cursor
|
2026-03-19 18:00:03 +08:00 |
|
zhonghua
|
20c500e921
|
feat: 教师课程中心 - 年级/领域/课程类型筛选与 lessonTags 展示
- 新增 lessonType 筛选参数,支持 SOCIAL/SOCIETY/DOMAIN_* 等格式兼容
- 列表接口返回 lessonTags(name,lessonType) 供 tag 展示
- 新增 LessonTagResponse DTO
- 完善 tagMaps 与 LESSON_TYPE_NAMES 映射(INTRO/DOMAIN_*)
- 修复筛选参数未传递到接口的问题
Made-with: Cursor
|
2026-03-19 15:01:13 +08:00 |
|
zhonghua
|
81dd74662e
|
fix: 修复 /api/v1/school/courses 接口 gradeTags 前端显示数据丢失
- 后端: 增强 SchoolCourseController.parseJsonArray 兼容多种 JSON 格式
- 后端: 新增 SchoolCourseResponse,gradeTags/domainTags 规范为 String[]
- 前端: 学校端课程列表/详情统一使用 parseGradeLevels 解析 gradeTags
- 前端: 兼容 grade_tags/domain_tags snake_case 字段
Made-with: Cursor
|
2026-03-19 14:05:28 +08:00 |
|
zhonghua
|
43d5bc8662
|
fix: 教学资源区域增加间距,避免动画被遮挡
Made-with: Cursor
|
2026-03-18 14:13:57 +08:00 |
|
zhonghua
|
eb1b1a3153
|
课程包详情: 核心发展目标字段翻译为中文显示
Made-with: Cursor
|
2026-03-17 17:56:30 +08:00 |
|
zhonghua
|
0baf3936d0
|
课程详情: 收藏/已收藏图标颜色区分(红/灰)
Made-with: Cursor
|
2026-03-17 17:47:49 +08:00 |
|
zhonghua
|
971f78e630
|
KidsMode: 取消 controlsVisible 自动隐藏底部导航
Made-with: Cursor
|
2026-03-17 17:25:43 +08:00 |
|
|
|
6af88225c9
|
fix: 数据看板前后端接口数据结构差异修复
- admin.ts: 新增后端响应类型定义和数据映射函数
- AdminStatsResponse, StatsTrendResponse, ActiveTenantResponse, PopularCourseResponse
- mapStatsData, mapTrendData, mapActiveTenants, mapPopularCourses
- admin/DashboardView: 活跃租户列表显示调整
- teacher/DashboardView: 数据加载添加字段映射和默认值处理
- school/DashboardView: 图表初始化添加空数据处理和数据校验
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-03-17 16:21:51 +08:00 |
|
zhonghua
|
459fa434ac
|
feat: KidsMode 文档/视频预览调整,player 增强
- KidsMode: 视频对接 player 组件,文档对接 WebOffice 组件
- WebOffice: 新增 noPage 嵌入模式,支持 props 传入 url/fileName
- player: 参考 VideoPlayer 增强功能(title、emit、键盘快捷键、加载遮罩、唯一ID)
Made-with: Cursor
|
2026-03-17 14:43:08 +08:00 |
|
zhonghua
|
c8ecbe277c
|
fix: 教师端课程与授课记录优化
- 修复 assessment_data JSON 字段:普通文本自动包装为有效 JSON
- 修复返回时页面 ID 丢失:校验无效 ID 并跳转,goBackToDetail 优先使用路由 ID
- 修复上课记录列表:getLessons 支持 pageNum、日期范围、状态映射,list 转 items
- 修复班级与课程取值:LessonResponse 增加 courseName/className,接口返回时自动填充
- 备课/详情页增加 ID 校验,防止跳转到 undefined
Made-with: Cursor
|
2026-03-17 11:24:25 +08:00 |
|
zhonghua
|
03726b5ab8
|
样式优化
|
2026-03-17 09:56:38 +08:00 |
|
zhonghua
|
709e59e142
|
feat: 展播模式优化与排课表修复
- 展播模式:空状态/错误状态添加返回上课按钮
- 展播模式:退出时自动跳转回上课页面或关闭标签页
- 数据库:lesson表id添加AUTO_INCREMENT,修复预约上课报错
Made-with: Cursor
|
2026-03-16 19:22:06 +08:00 |
|
zhonghua
|
4a713c41d3
|
chore: 隐藏通知设置及顶部通知铃铛
- 学校端系统设置:移除通知设置卡片
- 超管端系统设置:移除通知设置标签页
- 各端 Layout:移除顶部通知铃铛图标
Made-with: Cursor
|
2026-03-16 15:32:19 +08:00 |
|
zhonghua
|
f25664cf9a
|
feat: 实现各端个人信息功能
- 新增 ProfileView 共享个人信息页面
- 扩展 auth API UserProfile 支持各角色
- 为 admin/school/teacher/parent 添加 profile 路由
- 各端 Layout 用户菜单增加个人信息入口及跳转
- 家长端移动版抽屉菜单增加个人信息入口
Made-with: Cursor
|
2026-03-16 15:04:48 +08:00 |
|
zhonghua
|
23eab43590
|
fix(teacher): 教师端多项修复
- 课程中心: 修复搜索框重复图标、页面无数据、gradeTags/domainTags 解析
- 备课/上课: 课程/授课 ID 使用 string 避免 Long 精度丢失
- 预约上课: 补充 teacherId/title/lessonDate 等必填字段
- 备课模式: 解析 gradeTags 字符串修复 translateGradeTags 报错
- 涉及: CourseListView, PrepareModeView, LessonView, BroadcastView, LessonRecordsView
Made-with: Cursor
|
2026-03-16 14:54:18 +08:00 |
|
|
|
6e11c874d2
|
chore: 忽略 target 目录和 .class 文件
- 添加 target/ 到 .gitignore
- 从 git 暂存区移除已追踪的 target 目录
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-03-14 16:50:54 +08:00 |
|
|
|
1aec778dd6
|
fix: 修复教师端成长档案列表 loading 问题
- 删除 teacher.ts 中重复的 getTeacherCourseUsage 导出
- 修复 GrowthRecordView.vue 中字段名不匹配:items -> list
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-03-14 16:36:57 +08:00 |
|
Claude Opus 4.6
|
e07e21f430
|
Merge design branch - 代码重构规范化完成
合并内容:
- 后端 Swagger/OpenAPI 配置
- 后端 DTO 规范化
- 前端 Orval API 客户端自动生成
- 前端文件路由配置
- 所有测试文件和配置
冲突解决:
- main.ts: 保留 Swagger 和 TransformInterceptor
- package.json: 合并 orval 相关脚本和依赖
- playwright.config.ts: 使用 design 分支配置
- .env: 保留 design 分支配置
- 启动脚本: 保留 design 分支版本
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-03-12 17:27:48 +08:00 |
|
Claude Opus 4.6
|
4e13f186f3
|
fix: 统一修改错误处理逻辑
- 将所有 error.response?.data?.message 改为 error.message
- 影响所有教师端组件的错误处理
- 适配新的响应拦截器返回的错误对象结构
修改的文件:
- CourseListView.vue
- CourseDetailView.vue
- PrepareModeView.vue
- LessonListView.vue
- LessonView.vue
- LessonRecordsView.vue
- SchoolCourseEditView.vue
- ClassListView.vue
- ClassStudentsView.vue
- TaskListView.vue
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-03-12 14:33:44 +08:00 |
|
张逸遥
|
ad0204a59a
|
提交说明
|
2026-02-28 16:41:39 +08:00 |
|
zhonghua
|
0d4d9f5768
|
菜单顶部栏优化
|
2026-02-28 06:44:56 +08:00 |
|
lesingle
|
54f6daea62
|
Initialize the Kindergarten platform source code.
|
2026-02-26 15:22:26 +08:00 |
|