# 变更日志 (CHANGELOG) 本文档记录项目的所有重要变更。 --- ## [Unreleased] ### 待处理 - TypeScript 编译警告修复(约63个) - 性能优化 --- ## [2026-02-28] ### 新增 - **课程包第7步 - 环创建设** - 课程包创建/编辑增加第7步"环创建设" - 富文本输入框(最大3000字) - 填写提示(主题环境布置、区域活动环境、阅读角创设、材料投放建议等) - 超管端和学校端课程包详情页展示环创建设内容 ### 优化 - **学校端课程管理年级Tab重设计** - 原设计:使用 Ant Design Radio.Group,与页面风格不协调 - 新设计:白色卡片容器 + 自定义Tab按钮 - 选中状态:绿色渐变背景,与页面头部呼应 - 筛选功能:支持按年级(全部/小班/中班/大班)筛选课程 ### 数据库变更 - Course 表添加 `environment_construction` 字段(TEXT类型) ### 文件变更 - 新增:`Step7Environment.vue` 组件 - 修改:7个文件(后端2个,前端5个) --- ## [2026-02-27] ### 新增 - **课程包创建/编辑6步流程重构** - 步骤1:基本信息(名称、主题、年级、核心内容、封面) - 步骤2:课程介绍(8个Tab:简介、亮点、目标、安排、重难点、方法、评价、注意事项) - 步骤3:排课计划参考(可编辑表格) - 步骤4:导入课配置(含资源上传、教学反思) - 步骤5:集体课配置(含核心资源、4环节模板) - 步骤6:五大领域课配置(健康/语言/社会/科学/艺术) - **新组件** - FileUploader - 统一文件上传组件 - LessonStepsEditor - 教学环节编辑器 - LessonConfigPanel - 课程配置面板 - **文件类型扩展** - 新增 audio 音频类型支持 - 新增 document 文档类型支持 - PPT类型同时支持PDF格式 - **数据库字段** - 课程介绍8个字段(introSummary等) - coreContent 核心内容字段 - scheduleRefData 排课参考字段 ### 优化 - 富文本输入框字符限制从500增加到1500 - 添加字数统计显示(show-count) - 课程封面图片URL构建逻辑优化 - 保存错误处理优化,添加详细日志 ### 修复 - 课程封面图片不显示 - URL路径重复问题 - 导入课缺少资源上传功能 - 导入课缺少教学反思字段 - 教学课件只支持PPT不支持PDF - 保存课程偶发失败 - 文件预览URL路径错误 - 学校端课程详情不显示课程配置 - API缺少courseLessons关联 - 超管端排课参考表格列名不匹配 - dayOfWeek/activity - 学校端排课参考表格不显示 - 数组类型判断 ### 学校端新功能(晚上) - **套餐管理重构** - 已授权套餐列表(卡片布局) - 套餐详情弹窗 - 续订功能(6/12/24个月) - 到期状态提醒 - **课程详情页适配新结构** - 信息卡片网格布局 - 课程介绍8个Tab - 排课参考表格 - 课程配置卡片 - 数字资源汇总 - **校本课程包功能完善** - 列表页统计概览 - 预约功能弹窗 - 排课管理弹窗 - 详情页预约记录 ### 文件变更 - 后端新增:14 个文件(新模块) - 后端修改:3 个文件 - 前端新增:16 个文件(页面和组件) - 前端修改:5 个文件 --- ## [2026-02-24] ### 新增 - **学校端家长管理功能** - 家长列表(卡片网格布局) - 家长CRUD操作(创建、编辑、删除) - 重置密码(生成临时密码) - 管理关联孩子(查看、添加、解除) - 关系标签显示(父亲/母亲/祖父/祖母/其他,不同颜色) - **选择孩子功能优化** - 弹窗+表格+搜索方式替代下拉框 - 支持按姓名搜索、按班级筛选 - 分页加载,支持大量学生数据 ### 修复 - 家长管理页面重复变量声明错误 - 合并重复代码块 - 学生选择表格行选择类型错误 - 修正 onChange 参数类型 ### 优化 - 孩子列表显示关系标签,格式为"关系:XX" - 不同关系使用不同颜色标签区分 - 移除未使用的代码(allStudents、loadAllStudents、availableStudents) --- ## [2026-02-23] ### 新增 - **学校端任务管理 API** - SchoolTask、TaskCompletion 类型定义 - getSchoolTasks、createSchoolTask、updateSchoolTask、deleteSchoolTask - getSchoolTaskCompletions 获取任务完成情况 - **学校端导航菜单二级结构** - 人员管理:教师管理、学生管理、班级管理 - 教学管理:课程管理、课程排期、阅读任务、任务模板、课程反馈 - 数据中心:数据报告、成长档案 - 系统管理:套餐管理、操作日志、系统设置 ### 修复 - 学校端任务列表无法加载数据 - 补全 API 函数和类型定义 - 教师端上课记录缺少布置任务入口 - 添加"课后记录"按钮跳转 ### 优化 - 学校端导航菜单重构:14个扁平菜单 → 5个一级菜单 + 子菜单 - 移除所有 Emoji 图标,使用 Ant Design Vue 图标组件 - 添加 UI 规范:禁止使用 Emoji 图标 ### 功能确认(已实现) - **P1 数据统计增强** ✅ - 学校端授课统计图表(stats.service.ts) - 教师端个人统计(teacher-course.service.ts) - 数据导出功能(export.service.ts) - **P2 排课功能增强** ✅ - 课程提醒(schedule-notification.service.ts) - 排课模板(school.service.ts) - 批量排课(batchCreateSchedules) - 拖拽调课(CalendarView.vue + fullcalendar) - **P0 阅读任务模块** ✅ - 家长端任务功能 - 教师端完成情况详情页 - 课后记录→布置任务流程 - **P2/P3 任务模块增强** ✅ - 任务模板功能(TaskTemplate) - 任务提醒通知(定时任务+手动提醒) - 任务统计报表 --- ## [2026-02-22] ### 新增 - 测试记录文档系统 (`/docs/test-logs/`) - 各端测试记录模板和规范 - **班级管理功能增强** - 数据模型:ClassTeacher 关联表(支持多教师协作)、StudentClassHistory 调班历史表 - 学校端:班级教师团队管理(添加/编辑/移除教师,设置角色和班主任) - 学校端:学生调班功能(选择目标班级、填写原因、查看调班历史) - 教师端:班级角色显示(主班/配班/保育员标签、班主任标记) - **超管端功能完善** - 租户管理完整功能(CRUD、配额调整、密码重置、状态管理) - 系统设置后端API - 数据看板图表(ECharts:趋势图、统计卡片) - **展播模式独立页面** - 新路由 `/teacher/broadcast/:id` - 新标签页打开,便于教师投屏给学生看的同时自己查看讲稿 - 支持通过 URL 参数 `?step=N` 指定初始环节 - 自动全屏、键盘快捷键支持 - Lucide Vue Next 图标库 ### 优化 - "投屏模式"改名为"展播模式" - 移除授课页面冗余的全屏按钮 - 展播页面深色主题设计,高对比度配色,适合课堂投影 ### 测试 - 超管端完整功能测试 - 数据看板、资源库管理正常 - 租户管理、系统设置已实现 - 学校端回归测试 - 所有模块正常 - 修复系统设置页面导入错误 - 教师端回归测试 - 所有模块正常 - 家长端功能测试 - 所有模块正常 - **展播模式自动化测试** (Playwright) - 新标签页打开功能 ✅ - KidsMode 组件显示 ✅ - 导航控制正常 ✅ ### 修复 - 学校端系统设置页面无法加载 - 修复 fileApi 导入方式 (`SettingsView.vue`) - 租户详情API 500错误 - BigInt转String序列化 - 租户配额显示模板语法错误 - 资源上传响应属性名不匹配 - 文件下载URL未定义 - 课程年级筛选API 500错误 - SQLite JSON查询兼容 - 学生性别统计/显示不一致 - 课程授权后统计未更新 - 课程搜索不工作 - 套餐配额数据不同步 - 学生年龄显示格式异常 - 学生调班API 500错误 - 前端变量名冲突 + 数据库字段约束 (`StudentListView.vue`, `schema.prisma`) - 学校端导航栏缺少班级管理入口 - 添加菜单项 (`LayoutView.vue`) - 教师端移除"添加新班级"功能 - 班级创建应由学校管理员操作 (`ClassListView.vue`) - **PDF资源无法显示** - EbookViewer 使用 embed 标签替代 img 标签 (`EbookViewer.vue`) ### 测试验证 - 班级教师管理功能 - 添加/编辑教师角色 ✅ - 学生调班功能 - 调班操作和历史记录 ✅ - 教师端班级角色显示 - 主班/班主任标签 ✅ - 展播模式新标签页功能 ✅ --- ## [2026-02-21] ### 新增 - 家长端完整功能 - 登录、孩子信息 - 阅读记录 - 任务查看 - 成长档案 - 通知系统(NotificationBell组件) - 数据导出功能 - 教师端课程反馈页面 - `GET /teacher/feedbacks` - 反馈列表 - `GET /teacher/feedbacks/stats` - 反馈统计 ### 修复 - 家长登录400错误 - LoginDto 添加 `parent` 角色 - User 接口缺少 `parent` 角色类型 - NotificationBell.vue 未使用的导入 - tagMaps.ts 重复的 ART 属性 - 教师端课程反馈404错误 --- ## [2026-02-14] ### 新增 - 学校端核心管理模块 - 教师管理 CRUD - 学生管理 CRUD + 批量导入 - 班级管理 - 统计数据 - 套餐信息 - 教师端首页API - 今日课程 - 推荐课程 - 本周统计 - P1功能模块 - 资源库管理 - 成长档案 - 阅读任务 - 课程反馈 ### 修复 - 学校端登录失败 - Tenant模型添加 loginAccount/passwordHash - SQLite不支持@db.Text - 移除注解 - classEntity.lessons不存在 - 使用 lessonCount 替代 --- ## [2026-02-13] ### 新增 - 课程发布审核流程 - 状态流转:草稿 → 待审核 → 已发布/已驳回 - 发布前完整性验证 - 版本历史快照 - 文件预览功能 - PDF预览(iframe) - 音视频播放器 - 图片预览 - PPT在线预览 - 逐页脚本自动展开功能 ### 修复 - 课程编辑数据持久化问题 - 课堂计划数据保存/加载 - 延伸活动数据保存/加载 - 测评工具数据保存/加载 - "保存课程"按钮状态错误 - 改为 DRAFT - 提交审核验证逻辑错误 - PaletteOutlined 图标不存在 - 替换为 BgColorsOutlined ### 优化 - 延伸活动 UI 重新设计(卡片式布局) --- ## [2026-02-12] ### 新增 - 教师端核心业务流程打通 - 课程中心 - 备课模式 - 上课模式 - 课后记录 - 种子数据脚本 - 超管端课程包发布功能 ### 修复 - 教师端LayoutView编译错误 - JSX语法问题 - 教师端API 404错误 - 模块未编译 --- ## [2026-02-10] ### 新增 - 文件上传系统重构 - FormData文件上传 - Multer处理multipart/form-data - 本地文件系统存储 - 多文件上传支持(每分类15个,单文件200MB) - 统一启动脚本 (start-all.sh / stop-all.sh) ### 修复 - 封面图片显示文件名问题 - 静态文件路径配置 - 中文文件名乱码 - 安全文件名生成 - Vue编译错误 - 重复函数声明 --- ## [2026-01-29] - 项目启动 ### 新增 - 项目初始化 - 技术选型确定 - 数据库模型设计(15张表) - 认证系统基础框架 - 四端页面框架 --- ## 版本说明 - **[Unreleased]**: 开发中功能 - **[日期]**: 当天发布的版本 --- *本变更日志从 2026-02-22 开始规范化维护。*