kindergarten_java/docs/CHANGELOG.md

371 lines
11 KiB
Markdown
Raw Normal View History

2026-02-28 16:41:39 +08:00
# 变更日志 (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 开始规范化维护。*