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