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

371 lines
11 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.

# 变更日志 (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 开始规范化维护。*