kindergarten_java/docs/dev-logs/2026-02-13.md
2026-02-28 16:41:39 +08:00

70 lines
2.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 开发日志 - 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 认证守卫和角色守卫