- 修改后端目录从 reading-platform-backend 改为 reading-platform-java - 修改后端端口从 3000 改为 8080 - 修改启动命令从 npm run start:dev 改为 mvn spring-boot:run - 添加 JAVA_HOME 自动检测和设置(默认使用 /f/Java/jdk-17) - 修改日志文件从 reading-platform-backend.log 改为 reading-platform-java.log - 修改健康检查接口为 /actuator/health - 增加启动等待超时时间到 60 秒(Java 启动较慢) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2.1 KiB
2.1 KiB
套餐和课程数据前端显示问题修复
问题描述
数据库中有很多套餐和课程包数据,但超管端、学校端、老师端页面上没有显示数据。接口有返回数据,但前端无法正确解析显示。
问题原因
- 字段格式不匹配:后端
gradeLevels存储的是逗号分隔字符串,前端期望数组格式 - 数据结构不匹配:学校端期望的数据结构与后端返回不一致
修复内容
后端修改
1. CoursePackageResponse.java
gradeLevels:String→String[]- 新增
courses字段(包含的课程列表) - 新增
startDate、endDate字段(租户套餐信息)
2. CoursePackageService.java
toResponse(): 添加gradeLevels转换和courses填充逻辑findTenantPackages(): 返回CoursePackageResponse列表,包含租户套餐信息
3. CoursePackageMapper.java
- 添加 MapStruct 类型转换方法处理
String↔String[]
4. SchoolPackageController.java
- 导入
CoursePackageResponse - 修改返回类型
前端修改
1. src/views/school/PackageView.vue
- 修改数据访问路径:
item.package.xxx→item.xxx - 更新类型定义
2. src/api/school.ts
- 更新
CoursePackage接口定义 - 修改 API 返回类型
测试验证
- 启动后端服务:
mvn spring-boot:run - 启动前端服务:
npm run dev - 访问超管端套餐列表页:
/admin/packages - 访问学校端套餐视图页:
/school/package
相关文件
-
后端:
reading-platform-java/src/main/java/com/reading/platform/dto/response/CoursePackageResponse.javareading-platform-java/src/main/java/com/reading/platform/service/CoursePackageService.javareading-platform-java/src/main/java/com/reading/platform/common/mapper/CoursePackageMapper.javareading-platform-java/src/main/java/com/reading/platform/controller/school/SchoolPackageController.java
-
前端:
reading-platform-frontend/src/views/school/PackageView.vuereading-platform-frontend/src/api/school.ts
修复日期
2026-03-14