zhonghua
b3b04c8ea3
前端优化字段取值
2026-03-12 10:18:57 +08:00
ef2dfdfeaf
feat: 补全旧后端缺失接口
...
新增接口:
- admin/resources: 批量删除资源项、全平台资源统计
- school/courses: 校本课程列表(无分页)
- school/task-templates: 任务模板管理(兼容旧路径)
- school/packages: 课程包列表(兼容旧路径)
- school/school-courses: 校本课程 CRUD(兼容旧路径)
- teacher/students: 教师学生列表(兼容旧路径)
修改文件:
- AdminResourceController: 新增批量删除和统计接口
- ResourceService/ResourceServiceImpl: 新增 getAdminStats() 方法
- SchoolCourseController: 重构路径,支持/courses 和/school-courses 双路径
- SchoolCoursePackageController: 新增/packages 兼容路径
- SchoolTaskController: 新增 SchoolTaskTemplateController 支持独立/task-templates 路径
- TeacherCourseController: 重构路径,支持/students 兼容路径
文档更新:
- 旧后端接口完整清单.md: 更新已实现接口标记
2026-03-11 21:47:30 +08:00
zhonghua
bd0e72d22b
修复分页
2026-03-11 18:27:28 +08:00
zhonghua
4f717dc8d7
前端接口修复
2026-03-11 18:19:11 +08:00
97fec4f450
普通推送
2026-03-11 17:57:08 +08:00
zhonghua
6d62195a1f
添加忽略
2026-03-11 17:38:47 +08:00
zhonghua
dbac0cca95
接口优化
2026-03-11 16:57:22 +08:00
zhonghua
2d33866e19
Merge branch 'main' of http://8.148.151.56:3000/tonytech/kindergarten_java
...
# Conflicts:
# reading-platform-frontend/src/components.d.ts
2026-03-11 16:53:16 +08:00
zhonghua
8c5bef7de5
git忽略
2026-03-11 16:52:29 +08:00
zhonghua
b12b87b17f
接口接口优化
2026-03-11 16:46:42 +08:00
a3ec8f47f4
Merge branch 'main_dev'
2026-03-11 16:29:34 +08:00
zhonghua
128b89241e
接口同步
2026-03-11 16:27:37 +08:00
8c79bc81c1
Merge branch 'main_dev'
2026-03-11 16:24:41 +08:00
e501e17403
feat: 完善学校统计报告、资源服务及实体类字段
...
主要变更:
1. 新增学校报告服务 (SchoolReportService)
- 学校概览统计 (getOverviewStats)
- 教师统计报表 (getTeacherStats)
- 课程统计报表 (getCourseStats)
- 学生统计报表 (getStudentStats)
- 课时趋势分析 (getLessonTrend)
2. 新增学校端 Controller
- SchoolReportController: 学校统计报告接口
- SchoolResourceController: 学校资源管理接口
- SchoolFeedbackController: 学校反馈管理接口
3. 完善实体类字段
- CourseLesson: 添加 lessonOrder 字段
- ResourceItem: 添加 tenantId、type 字段
- Task: 添加 name 字段
- LessonFeedback: 添加 courseId、tenantId、overallRating 字段
4. 完善服务层实现
- ResourceServiceImpl: 实现资源库和资源项管理方法
- SchoolReportServiceImpl: 实现学校统计报表逻辑
- TeacherDashboardServiceImpl: 修复时间类型转换
- AdminStatsServiceImpl: 完善统计逻辑
5. 新增 Flyway 迁移脚本 (V2)
- 添加 ORM 实体类缺失字段的数据库迁移
6. 修复路由冲突
- 移除 AdminCourseController 中重复的 getCourseLessons 方法
7. 添加测试工具类
- CheckDatabase, CheckClazzTable: 数据库检查工具
- InitDatabase, InitClasses: 数据初始化工具
- GeneratePasswordHash: 密码哈希生成工具
8. 配置 Maven Wrapper
- 添加 maven-wrapper.properties 和 mvnw.cmd
- 确保使用 Java 17 编译
2026-03-11 16:21:22 +08:00
zhonghua
271e02032c
开发规范完善
2026-03-11 14:38:43 +08:00
zhonghua
0dbbdb0813
tem
2026-03-11 14:00:07 +08:00
zhonghua
7d86fb08c5
Merge branch 'main' of http://8.148.151.56:3000/tonytech/kindergarten_java into main_dev
2026-03-11 13:53:48 +08:00
zhonghua
a51e334107
Merge branch 'main' of http://8.148.151.56:3000/tonytech/kindergarten_java
2026-03-11 11:26:47 +08:00
0d4275b235
feat: 完善 OpenAPI 注解和前端 API 客户端
...
主要变更:
1. 所有 Entity/DTO/VO 添加 @Schema 注解,完善 API 文档
2. 新增前端 API 封装模块 (src/apis),包含 fetch.ts 和 apis.ts
3. 生成完整的 TypeScript 类型定义(100+ 个模型)
4. pom.xml 添加 Maven 编译配置和 UTF-8 编码支持
5. 更新 CLAUDE.md 开发文档,新增接口规范和 Swagger 注解规范
6. 清理旧的文档文件和 Flyway 迁移脚本
技术细节:
- 后端:27 个实体类 + 所有 DTO/Response 添加 Swagger 注解
- 前端:新增 orval 生成的 API 客户端类型
- 构建:配置 Maven compiler plugin 和 Spring Boot 插件的 JVM 参数
- 数据库:新增 schema 导出文件,删除旧 Flyway 迁移脚本
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 23:51:02 +08:00
9204f9329e
feat: 完善 OpenAPI 注解和前端 API 客户端
...
主要变更:
1. 所有 Entity/DTO/VO 添加 @Schema 注解,完善 API 文档
2. 新增前端 API 封装模块 (src/apis),包含 fetch.ts 和 apis.ts
3. 生成完整的 TypeScript 类型定义(100+ 个模型)
4. pom.xml 添加 Maven 编译配置和 UTF-8 编码支持
5. 更新 CLAUDE.md 开发文档
6. 清理旧的文档文件
技术细节:
- 后端:27 个实体类 + 所有 DTO/Response 添加 Swagger 注解
- 前端:新增 orval 生成的 API 客户端类型
- 构建:配置 Maven compiler plugin 和 Spring Boot 插件的 JVM 参数
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 23:50:25 +08:00
zhonghua
aa71d18dd4
feat(stats): 完善前端统计与任务 API
...
Made-with: Cursor
2026-03-10 17:28:31 +08:00
zhonghua
5d96c832f6
refactor(api): 重构 API 接口以使用新的 readingApi 客户端
...
- 将多个 API 函数从旧的 http 实现迁移到新的 readingApi 客户端
- 更新登录、登出、获取用户信息等功能以适应新的数据结构
- 统一课程、主题和课时的 API 调用方式,简化代码结构
- 保留部分旧接口以兼容后端,确保现有功能不受影响
2026-03-10 16:44:24 +08:00
583b47c430
feat: 新增学校通知、任务模板和日程管理功能
...
- 新增学校通知控制器 (SchoolNotificationController)
- 新增任务模板创建/更新请求 DTO
- 新增日程计划创建和模板应用请求 DTO
- 新增 TokenService 服务实现
- 新增多个服务实现类 (AdminStats, CourseLesson, CoursePackage 等)
- 添加数据库迁移脚本 V7__fix_schedule_plans.sql
- 更新配置文件和依赖
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 01:06:03 +08:00
70e9683506
fix(auth): 修正后端返回数据结构,从 res.data 中提取登录数据
2026-03-09 19:09:53 +08:00
73ed8015b9
fix(login): 添加登录调试日志
2026-03-09 19:05:59 +08:00
a2b9b3478d
feat(debug): 添加远程调试支持,开放 JDWP 端口 5005
2026-03-09 18:37:59 +08:00
c7737ea490
fix(db): 本地开发配置改用远程开发服务器数据库 8.148.151.56
2026-03-09 18:19:58 +08:00
745f4e4b06
feat(api): 新增自动化 API 更新工具和协作文档
...
- 添加 api-generator.bat/api-generator.sh 脚本,简化后端接口修改后的前端 API 同步流程
- 新增 reading-platform-frontend/README.md,说明 API 开发协作规范
- 更新 docs/开发协作指南.md,补充协作模式说明和新功能开发检查清单
- 同步最新 API 规范和生成的 TypeScript 类型代码
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 18:04:29 +08:00
32d2364c77
refactor(i18n): 全面翻译Swagger注解和实体注释为中文
...
- 翻译41个控制器的所有@Tag和@Operation注解为中文
- Admin系列控制器:9个
- School系列控制器:13个
- Teacher系列控制器:9个
- Parent系列控制器:4个
- AuthController和FileUploadController:2个
- 翻译41个实体类的类注释为中文
- 管理员/教师/学生/家长/租户等核心实体
- 课程/课时/任务/成长档案等业务实体
- 各类关系映射实体
- 翻译21个DTO的@Schema注解为中文
- Request DTOs: 19个(创建/更新请求)
- Response DTOs: 4个(登录/用户信息/课程/租户响应)
- 新增CLAUDE.md项目文档
所有翻译确保符合上下文语义,保持代码功能不变。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 12:23:10 +08:00
lesingle
14b38039b2
fix(deploy): 为 docker-compose 添加 image 标签以对齐 CI/CD 流程
...
switch.sh 依赖 reading-platform-backend:latest 和
reading-platform-frontend:latest 镜像名来启动容器,
不加 image 字段时 docker compose build 会生成错误的镜像名
导致 CI/CD 部署后实际运行的仍是旧镜像
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-04 16:08:55 +08:00
lesingle
3f2815a47e
docs: 更新开发协作指南,补充数据库连接信息和本地启动方式
...
- 新增共享数据库连接信息(Host/Port/账号密码/JDBC URL)
- 更新本地启动方式为 Docker Compose,说明共享数据库机制
- 更新 FAQ 中数据库连接失败的排查方法
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-03 16:11:49 +08:00
lesingle
0d506cf19c
chore(deploy): 本地开发连接远程开发服务器数据库
...
- 去掉本地 MySQL 容器,直接连 8.148.151.56:3306
- 关闭 Flyway 自动迁移(SPRING_FLYWAY_ENABLED=false),防止本地误跑
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-03 16:07:06 +08:00
lesingle
146923bcdd
chore(deploy): 更新本地开发 docker-compose 使用 Java 后端
...
- docker-compose.yml: 替换 NestJS 后端为 Java (Spring Boot) + MySQL 8.0
- 前端端口 3000:80,后端端口 8080:8080,MySQL 端口 3306:3306
- nginx.conf: proxy_pass 改为 http://backend:8080(Java 内部端口)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-03 15:41:28 +08:00
lesingle
bbddb57104
fix(backend): 修复管理员创建系统课程时 isSystem 未持久化的 bug
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-03 15:05:53 +08:00
lesingle
e700029ee7
fix(backend): 修复课程套餐路径和新增状态变更接口
...
- AdminCoursePackageController: 路径从 /admin/course-packages 改为 /admin/packages
- AdminCoursePackageController: 分页参数 pageNum → page,新增 submit/review/publish/offline
- CoursePackageService: 新增 submit/review/publish/offline 方法
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-03 15:04:43 +08:00
lesingle
01897a7ecc
Merge branch 'main' of http://8.148.151.56:3000/tonytech/kindergarten_java
2026-03-03 14:50:42 +08:00
lesingle
18170609d9
fix: 修复前端API路径和后端课程管理接口
...
- 前端 course.ts: /courses → /admin/courses (匹配Java后端路径)
- 路由守卫: 修复token存在但role缺失时的无限循环404问题
- AdminCourseController: 新增审核相关接口 (submit/withdraw/approve/reject/unpublish/republish/direct-publish)
- AdminCourseController: 课程列表支持status过滤,显示所有状态课程
- CourseService/Impl: 新增提交审核、审批、拒绝等方法
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-03 14:49:16 +08:00
71d8819361
fix(frontend): 修复登录响应字段映射,适配 Java 后端平铺结构
2026-03-03 14:24:59 +08:00
30677a7c02
fix(auth): 登录接口同时接受 account 和 username 字段
2026-03-03 14:21:21 +08:00
995e18d399
fix(frontend): 修复本地开发代理指向 Java 后端端口 8080
2026-03-03 14:19:25 +08:00
e9dff31242
feat(backend): 补全所有未提交的 Java 源码文件
...
新增 44 个此前仅在本地存在、从未提交到 git 的源码文件:
- Controllers: FileUpload, AdminStats, AdminTheme, AdminCoursePackage,
AdminCourseLesson, AdminResource, AdminOperationLog,
School(Course/Schedule/Settings/Stats/Export/OperationLog/CoursePackage),
Teacher(Dashboard/Schedule/SchoolCourse/CourseLesson)
- Entities: CourseLesson, CoursePackage, SchoolCourse, Theme
- Mappers: CourseLesson, CoursePackage, SchoolCourse, Theme
- Services: All 13 service classes
- Config: WebMvcConfig
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-03 13:51:33 +08:00
3f3ed084f7
docs: 新增开发协作指南(前后端/测试/原型工程师)
2026-03-03 11:43:17 +08:00
076d832a42
chore(api): 将 OpenAPI 规范文件改为 YAML 格式
...
- api-spec.json → api-spec.yml(内容相同,YAML 更易读)
- api:fetch 脚本自动转换 JSON→YAML 后删除 json 临时文件
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-03 11:11:53 +08:00
2a394a4882
chore(api): 接入 orval 自动生成 API 客户端
...
- 新增 orval.config.ts:从 OpenAPI spec 自动生成 TypeScript 代码
- 新增 src/api/request.ts:orval mutator,复用现有 axios 实例
- 新增 src/api/generated/:自动生成的 API 函数和类型定义(106个接口,155个类型)
- 新增 api-spec.json:后端 OpenAPI 规范快照
- package.json 新增脚本:api:fetch / api:gen / api:update
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-03 11:03:56 +08:00
8b7615bcf1
fix(auth): 修复学校账号登录角色返回错误问题
...
loginWithRole()中SCHOOL/TEACHER分支改为返回请求中指定的role(school或teacher),
而非硬编码"teacher"。同步修复getCurrentUserInfo()和changePassword()支持"school"角色。
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-02 15:41:58 +08:00
859c71db09
fix(backend): 修复租户创建、接口字段和500错误
...
Bug 1: 创建租户时同步创建学校登录账号(teachers表)
- TenantCreateRequest支持loginAccount/contactPerson/studentQuota/teacherQuota字段
- TenantServiceImpl.createTenant()后自动插入Teacher记录,包含BCrypt加密密码
- 返回tempPassword字段供前端展示
Bug 2: 修复多个接口500错误
- 新增POST /auth/logout端点(JWT无状态,直接返回成功)
- 新增GET /admin/stats/trend端点(最近6个月统计趋势)
- 完善getStats()返回activeTenantCount/publishedCourseCount/monthlyLessons字段
- 新增AdminSettingsController(GET/PUT /admin/settings)
- 新增租户操作端点:/status、/reset-password、/quota
Bug 3: 统一前后端接口字段名
- Tenant实体用@JsonProperty重命名:code→loginAccount, contactName→contactPerson
maxStudents→studentQuota, maxTeachers→teacherQuota, expireAt→expireDate
- status字段用UpperCaseSerializer返回大写值(前端期望ACTIVE/SUSPENDED)
- TenantCreateRequest/UpdateRequest用@JsonAlias接受前端字段名
- PageResult用@JsonProperty重命名:list→items, pageNum→page, pages→totalPages
- 所有分页控制器将pageNum参数改为page(与前端对齐)
- 新增TenantService.resetSchoolAccountPassword()方法
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-02 15:20:37 +08:00
5e0c87768c
chore(frontend): 更新依赖锁文件和组件类型声明
...
- package-lock.json:本地 npm install 后依赖树更新
- components.d.ts:unplugin-vue-components 自动生成的
组件类型声明同步更新
2026-02-28 19:33:01 +08:00
0b3998489d
feat(deploy): 添加 docker-compose 一键部署配置
...
定义 backend 和 frontend 两个服务:
- backend 监听 3001 端口,设置 Prisma OpenSSL 3.x 环境变量,
JWT_SECRET 通过宿主机环境变量注入避免硬编码
- frontend 监听 8080 端口,depends_on backend 保证启动顺序
使用方式:
JWT_SECRET=your-secret docker-compose up -d
2026-02-28 19:32:54 +08:00
92071e5ba6
feat(frontend): 添加 Docker 部署配置和生产环境变量
...
- Dockerfile:多阶段构建,node:20-alpine 编译 Vue3,
nginx:alpine 提供静态资源服务,使用国内 npm 镜像加速
- nginx.conf:配置 Vue Router history 模式(try_files),
/api/ 和 /uploads/ 反向代理到后端容器
- .env.production:生产环境 API 地址(8.148.151.56:3001)
- .gitignore:放开 .env.production 提交权限(无敏感信息)
2026-02-28 19:32:45 +08:00
3a921250c3
feat(backend): 添加 Docker 部署配置
...
- Dockerfile:基于 node:20-alpine,包含 TypeScript 编译和
Prisma Client 生成步骤,对外暴露 3001 端口
- .env.example:提供环境变量模板,团队成员按此创建 .env 文件
(.env 本身含敏感信息,已加入 .gitignore 不提交)
2026-02-28 19:32:14 +08:00