kindergarten_java/docs/dev-logs/2026-02-13.md

70 lines
2.2 KiB
Markdown
Raw Normal View History

2026-02-28 16:41:39 +08:00
# 开发日志 - 2026年2月13日
## 今日工作概要
完成课程包编辑页面数据持久化修复UI优化以及提交审核验证逻辑修复。
## 详细工作内容
### 1. 数据持久化问题修复 (重要)
**问题描述**:
课程编辑页面的课堂计划、延伸活动、测评工具三个步骤的数据无法正确保存,刷新页面后数据丢失。
**根本原因**:
- 前端 `saveDraft` 函数没有将这些复杂数据序列化后存储到数据库
- 后端数据库 schema 缺少对应的 JSON 存储字段
**解决方案**:
| 模块 | 数据库字段 | 存储内容 |
|-----|-----------|---------|
| 课堂计划 | `lessonPlanData` | phases[] + scriptPages[] |
| 延伸活动 | `activitiesData` | activities[] |
| 测评工具 | `assessmentData` | assessment object |
**代码变更**:
1. `prisma/schema.prisma` - 添加三个新字段:
```prisma
lessonPlanData String? @map("lesson_plan_data")
activitiesData String? @map("activities_data")
assessmentData String? @map("assessment_data")
```
### 2. 逐页脚本自动展开功能
**需求**: 如果脚本页中有内容(教师话术、预期回答、注意事项任一填写),则该页默认展开。
### 3. 延伸活动 UI 重新设计
**优化内容**:
- 采用卡片式布局替代列表式
- 活动编号使用蓝色圆形徽章
- 活动类型使用彩色标签区分
- 双列布局显示类型和时长
- 删除按钮改为图标样式
### 4. "保存课程"按钮状态修复
**问题**: 点击"保存课程"后课程状态变成"已发布"
**原因**: `saveCourse` 函数硬编码 `status: 'PUBLISHED'`
**解决**: 改为 `status: 'DRAFT'`,发布应通过审核流程
### 5. 提交审核验证逻辑修复
**问题**: 已配置教学环节但仍提示"请至少配置一个教学环节"
**原因**: 验证逻辑检查 `scripts` 字段,但数据存储在 `lessonPlanData.phases`
**解决**: 更新 `course-validation.service.ts`
### 6. 其他修复
- 其他素材不回显问题修复 - 修复字段名 `otherPaths``otherResources`
- 文件大小限制调整 - 从 50MB 更新到 300MB
- 电子绘本格式支持 - 添加 ppt/pptx 格式支持
- 认证守卫配置 - 课程包控制器添加 JWT 认证守卫和角色守卫