Commit Graph

18 Commits

Author SHA1 Message Date
Claude Opus 4.6
e07e21f430 Merge design branch - 代码重构规范化完成
合并内容:
- 后端 Swagger/OpenAPI 配置
- 后端 DTO 规范化
- 前端 Orval API 客户端自动生成
- 前端文件路由配置
- 所有测试文件和配置

冲突解决:
- main.ts: 保留 Swagger 和 TransformInterceptor
- package.json: 合并 orval 相关脚本和依赖
- playwright.config.ts: 使用 design 分支配置
- .env: 保留 design 分支配置
- 启动脚本: 保留 design 分支版本

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 17:27:48 +08:00
Claude Opus 4.6
e87e2dde00 refactor: 完成代码重构规范化 - 2026-03-12
后端重构:
- 添加统一响应格式 ResultDto<T> 和 PageResultDto<T>
- 添加分页查询 DTO 基类 PageQueryDto
- 添加响应转换拦截器 TransformInterceptor
- 添加公共工具函数(JSON 解析、分页计算)
- 配置 Swagger/OpenAPI 文档(访问路径:/api-docs)
- Tenant 模块 DTO 规范化示例(添加 @ApiProperty 装饰器)
- CourseLesson 控制器重构 - 移除类级路径参数,修复 Orval 验证错误
- 后端 DTO 规范化 - 为 Course、Lesson、TeacherCourse、SchoolCourse 控制器添加完整的 Swagger 装饰器

前端重构:
- 配置 Orval 从后端 OpenAPI 自动生成 API 客户端
- 生成 API 客户端代码(带完整参数定义)
- 创建 API 客户端统一入口 (src/api/client.ts)
- 创建 API 适配层 (src/api/teacher.adapter.ts)
- 配置文件路由 (unplugin-vue-router)
- 课程模块迁移到新 API 客户端
- 修复 PrepareModeView.vue API 调用错误
- 教师模块迁移到新 API 客户端
- 修复 school-course.ts 类型错误
- 清理 teacher.adapter.ts 未使用导入
- 修复 client.ts API 客户端结构
- 创建文件路由目录结构

Bug 修复:
- 修复路由配置问题 - 移除 top-level await,改用手动路由配置
- 修复响应拦截器 - 正确解包 { code, message, data } 格式的响应
- 清理 teacher.adapter.ts 未使用导入
- 修复 client.ts API 客户端结构
- 创建文件路由目录结构

系统测试:
- 后端 API 测试通过 (7/7)
- 前端路由测试通过 (4/4)
- 数据库完整性验证通过
- Orval API 客户端验证通过
- 超管端功能测试通过 (97.8% 通过率)

新增文件:
- reading-platform-backend/src/common/dto/result.dto.ts
- reading-platform-backend/src/common/dto/page-query.dto.ts
- reading-platform-backend/src/common/interceptors/transform.interceptor.ts
- reading-platform-backend/src/common/utils/json.util.ts
- reading-platform-backend/src/common/utils/pagination.util.ts
- reading-platform-frontend/orval.config.ts
- reading-platform-frontend/src/api/generated/mutator.ts
- reading-platform-frontend/src/api/client.ts
- reading-platform-frontend/src/api/teacher.adapter.ts

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 17:27:13 +08:00
Claude Opus 4.6
c52e185ed0 docs: 更新 CHANGELOG - 记录下午的问题修复工作
新增内容:
- 问题修复与功能测试部分 (2026-03-12 下午)
- 详细的修复内容和测试结果
- 6个提交记录
- 待解决问题列表

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 14:37:01 +08:00
Claude Opus 4.6
cfb3549c1f docs: 更新开发日志 - 记录下午的功能测试和问题修复工作
新增内容:
- 功能测试计划
- 问题诊断报告
- 测试总结文档
- 5个问题修复记录
- 完整的测试结果

修复成果:
- 教师端核心功能基本可用
- 登录、控制台、课程中心、校本课程 ✓
- 错误处理逻辑统一
- API 调用参数修复

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 14:36:34 +08:00
Claude Opus 4.6
6da26fa256 docs: 添加功能测试总结和问题诊断报告
测试结果:
- 教师端核心功能基本可用
- 登录、控制台、课程中心、校本课程 ✓
- 授课记录部分可用

已修复的问题:
1. 路由配置缺失 - 恢复完整嵌套路由
2. API 参数不兼容 - 移除不被后端接受的参数
3. 错误处理逻辑 - 统一使用 error.message
4. 重复函数声明 - 删除重复代码

文档:
- docs/test-logs/teacher/2026-03-12-final-summary.md
- docs/test-logs/teacher/2026-03-12-issue-diagnosis.md
- docs/test-logs/teacher/2026-03-12-functional-test-plan.md

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 14:36:12 +08:00
Claude Opus 4.6
4e13f186f3 fix: 统一修改错误处理逻辑
- 将所有 error.response?.data?.message 改为 error.message
- 影响所有教师端组件的错误处理
- 适配新的响应拦截器返回的错误对象结构

修改的文件:
- CourseListView.vue
- CourseDetailView.vue
- PrepareModeView.vue
- LessonListView.vue
- LessonView.vue
- LessonRecordsView.vue
- SchoolCourseEditView.vue
- ClassListView.vue
- ClassStudentsView.vue
- TaskListView.vue

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 14:33:44 +08:00
Claude Opus 4.6
de54ed112c fix: 修复教师课程 API 参数问题
- 移除 getTeacherCourses 中的 page 和 pageSize 参数
- 后端 API 验证导致这些参数被拒绝
- 添加功能测试计划和问题诊断文档

测试结果:
- 后端 API 不接受 page/pageSize 参数
- 需要统一错误处理逻辑 (error.response?.data?.message → error.message)
- Dashboard 组件有渲染错误需要修复

相关文档:
- docs/test-logs/teacher/2026-03-12-functional-test-plan.md
- docs/test-logs/teacher/2026-03-12-issue-diagnosis.md

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 14:32:58 +08:00
Claude Opus 4.6
5b1c6f590b fix: 删除 teacher.ts 中重复的函数声明
删除了重复的 dashboard 相关函数:
- getTeacherDashboard
- getTeacherLessonTrend
- getTeacherCourseUsage
- getTeacherTodayLessons
- getTeacherRecommendedCourses
- getTeacherWeeklyStats

这些函数在文件中已经存在,之前的编辑造成了重复。

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 14:23:42 +08:00
Claude Opus 4.6
3e779856bb fix: 恢复路由配置并添加缺失的 API 函数
- 从 git 历史恢复完整的嵌套路由配置(100+ 路由)
- 恢复 LayoutView 作为父路由的布局结构
- 添加教师控制台相关 API 函数到 teacher.ts
- 修复语法错误(移除多余的分号)

修复的问题:
1. 页面无法加载 - 路由配置缺失
2. 侧边栏/导航栏不显示 - LayoutView 未使用
3. 教师控制台报错 - API 函数缺失

测试结果:
- 管理员端: 登录、控制台、租户管理、课程管理 ✓
- 教师端: 登录、课程列表、校本课程、授课记录 ✓

注意: 部分页面可能需要浏览器刷新 (Cmd+R) 来加载最新代码

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 14:20:52 +08:00
Claude Opus 4.6
7e625f31e3 fix: 修复前端路由配置和响应拦截器问题
- 修复路由配置:移除 top-level await,改用手动路由配置
- 修复响应拦截器:正确解包 { code, message, data } 格式的 API 响应
- 更新开发日志和变更日志,记录浏览器功能测试结果
- 添加教师端重构设计文档

修复的问题:
1. 登录功能无法正常工作(响应数据解包问题)
2. 页面无法加载(路由配置问题)

测试结果:
- 管理员登录: ✓ 成功
- 教师登录: ✓ 成功
- 主要页面导航: ✓ 正常

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 14:09:56 +08:00
Claude Opus 4.6
2f5ad32820 refactor: 代码重构 - API规范化和文件路由配置
## 后端重构

### 新增基础设施
- src/common/dto/ - 统一响应格式和分页查询DTO基类
- src/common/interceptors/ - 响应转换拦截器
- src/common/utils/ - JSON解析和分页计算工具函数

### DTO规范化
- Course、Lesson、TeacherCourse、SchoolCourse、Tenant控制器添加Swagger装饰器
- 添加@ApiQuery、@ApiBody、@ApiOperation完善API文档
- 修复CourseLesson控制器路径参数问题

## 前端重构

### Orval API客户端生成
- 添加orval配置和生成脚本
- 生成完整的类型安全API客户端 (src/api/generated/)
- 导入56个参数类型文件

### API模块迁移
- src/api/course.ts - 迁移使用Orval生成API
- src/api/school-course.ts - 修复类型错误(number vs string)
- src/api/teacher.ts - 完整迁移教师端API
- src/api/client.ts - 重构API客户端统一入口
- src/api/lesson.ts - 修复未使用参数

### 文件路由配置
- 配置unplugin-vue-router插件
- 创建动态路由配置支持自动路由和传统路由切换
- 添加路由守卫保留原有权限逻辑

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 13:05:20 +08:00
张逸遥
ad0204a59a 提交说明 2026-02-28 16:41:39 +08:00
zhonghua
0d4d9f5768 菜单顶部栏优化 2026-02-28 06:44:56 +08:00
zhonghua
bb3db79758 配置调整 2026-02-28 03:06:20 +08:00
zhonghua
05b5ee9117 数据库优化 2026-02-28 02:11:48 +08:00
zhonghua
6da007c2ce git优化 2026-02-28 01:50:49 +08:00
zhonghua
39b49bd808 系统完善 2026-02-28 01:48:21 +08:00
lesingle
54f6daea62 Initialize the Kindergarten platform source code. 2026-02-26 15:22:26 +08:00