diff --git a/reading-platform-frontend/src/api/course.ts b/reading-platform-frontend/src/api/course.ts
index bd9cb6d..a957f50 100644
--- a/reading-platform-frontend/src/api/course.ts
+++ b/reading-platform-frontend/src/api/course.ts
@@ -48,6 +48,7 @@ export interface Course {
// 新增字段
themeId?: number;
theme?: { id: number; name: string };
+ themeName?: string;
coreContent?: string;
coverImagePath?: string;
domainTags?: string[];
diff --git a/reading-platform-frontend/src/api/generated/model/courseResponse.ts b/reading-platform-frontend/src/api/generated/model/courseResponse.ts
index fe341b3..62ab810 100644
--- a/reading-platform-frontend/src/api/generated/model/courseResponse.ts
+++ b/reading-platform-frontend/src/api/generated/model/courseResponse.ts
@@ -62,6 +62,8 @@ export interface CourseResponse {
environmentConstruction?: string;
/** 主题 ID */
themeId?: number;
+ /** 主题名称 */
+ themeName?: string;
/** 绘本名称 */
pictureBookName?: string;
/** 封面图片路径 */
diff --git a/reading-platform-frontend/src/views/admin/courses/CourseListView.vue b/reading-platform-frontend/src/views/admin/courses/CourseListView.vue
index 003d581..139c873 100644
--- a/reading-platform-frontend/src/views/admin/courses/CourseListView.vue
+++ b/reading-platform-frontend/src/views/admin/courses/CourseListView.vue
@@ -53,6 +53,10 @@
+
+ {{ record.themeName || record.theme?.name || '-' }}
+
+
{{ record.pictureBookName }}
@@ -239,6 +243,7 @@ const pagination = reactive({
const columns = [
{ title: '课程包名称', key: 'name', width: 250 },
+ { title: '课程主题', key: 'theme', width: 120 },
{ title: '关联绘本', key: 'pictureBook', width: 120 },
{ title: '课程配置', key: 'lessonConfig', width: 200 },
{ title: '状态', key: 'status', width: 90 },
diff --git a/reading-platform-java/src/main/java/com/reading/platform/dto/response/CourseResponse.java b/reading-platform-java/src/main/java/com/reading/platform/dto/response/CourseResponse.java
index d9f7c95..1c6522c 100644
--- a/reading-platform-java/src/main/java/com/reading/platform/dto/response/CourseResponse.java
+++ b/reading-platform-java/src/main/java/com/reading/platform/dto/response/CourseResponse.java
@@ -96,6 +96,9 @@ public class CourseResponse {
@Schema(description = "主题 ID")
private Long themeId;
+ @Schema(description = "主题名称")
+ private String themeName;
+
@Schema(description = "绘本名称")
private String pictureBookName;
diff --git a/reading-platform-java/src/main/java/com/reading/platform/service/impl/CoursePackageServiceImpl.java b/reading-platform-java/src/main/java/com/reading/platform/service/impl/CoursePackageServiceImpl.java
index 8182fc4..00973a3 100644
--- a/reading-platform-java/src/main/java/com/reading/platform/service/impl/CoursePackageServiceImpl.java
+++ b/reading-platform-java/src/main/java/com/reading/platform/service/impl/CoursePackageServiceImpl.java
@@ -16,9 +16,11 @@ import com.reading.platform.entity.CourseLesson;
import com.reading.platform.entity.CoursePackage;
import com.reading.platform.entity.LessonStep;
import com.reading.platform.entity.TenantPackage;
+import com.reading.platform.entity.Theme;
import com.reading.platform.mapper.CourseCollectionPackageMapper;
import com.reading.platform.mapper.CoursePackageMapper;
import com.reading.platform.mapper.TenantPackageMapper;
+import com.reading.platform.mapper.ThemeMapper;
import com.reading.platform.service.CourseLessonService;
import com.reading.platform.service.CoursePackageService;
import lombok.RequiredArgsConstructor;
@@ -47,6 +49,7 @@ public class CoursePackageServiceImpl extends ServiceImpl lessons = courseLessonService.findByCourseId(id);
List lessonResponses = lessons.stream()
.map(this::toLessonResponse)