fix: orval API 生成优化 - 修复 oneOf schema 验证错误

- 新增 scripts/fetch-openapi.js:拉取并修复 OpenAPI 文档
- 内联 ResultObject[] 的 \,移除非法 schema 名
- orval 使用本地 openapi.json,api:update 自动执行 api:fetch
- AdminStatsController: Result<Object[]> 改为 Result<List<Map<String, Object>>>
- .gitignore: 忽略 openapi.json

Made-with: Cursor
This commit is contained in:
zhonghua 2026-03-16 10:45:15 +08:00
parent 938503f2b8
commit a461f58d3a
146 changed files with 4350 additions and 1000 deletions

3
.gitignore vendored
View File

@ -36,3 +36,6 @@ package-lock.json
stats.html stats.html
*.class *.class
target/ target/
# 前端生成的 OpenAPI 文档(由 api:fetch 生成)
reading-platform-frontend/openapi.json

File diff suppressed because one or more lines are too long

View File

@ -1,5 +1,15 @@
import { defineConfig } from 'orval'; import { defineConfig } from 'orval';
/** 内联 schema避免 ResultObject[] 的 $ref 导致 oneOf 验证错误 */
const RESULT_OBJECT_ARRAY_SCHEMA = {
type: 'object',
properties: {
code: { type: 'integer', format: 'int32' },
message: { type: 'string' },
data: { type: 'array', items: { type: 'object', additionalProperties: true } },
},
};
export default defineConfig({ export default defineConfig({
readingPlatform: { readingPlatform: {
output: { output: {
@ -24,21 +34,33 @@ export default defineConfig({
}, },
}, },
input: { input: {
// 从 Java 后端 OpenAPI 文档生成 // 使用 api:fetch 生成的 openapi.jsonapi:update 会自动先执行 api:fetch
target: 'http://localhost:8080/v3/api-docs', target: './openapi.json',
// 路径重写:确保 OpenAPI 文档中的路径正确 // 路径重写:确保 OpenAPI 文档中的路径正确
override: { override: {
// 使用转换器修复路径 - 将 `/api/xxx` 转换为 `/api/v1/xxx` // 使用转换器修复路径 - 将 `/api/xxx` 转换为 `/api/v1/xxx`
transformer: (openAPIObject) => { transformer: (spec) => {
// 遍历所有路径,修复缺少的 `/v1` 前缀 const paths = spec.paths || {};
Object.keys(openAPIObject.paths).forEach((path) => { for (const path of Object.keys(paths)) {
const newKey = path.replace(/^\/api\//, '/api/v1/'); let newKey = path.replace(/\/v1\/v1\//g, '/v1/');
if (newKey === path) newKey = path.replace(/^\/api\/(?!v1\/)/, '/api/v1/');
if (newKey !== path) { if (newKey !== path) {
openAPIObject.paths[newKey] = openAPIObject.paths[path]; paths[newKey] = paths[path];
delete openAPIObject.paths[path]; delete paths[path];
} }
}); }
return openAPIObject; for (const pathObj of Object.values(paths)) {
for (const op of Object.values(pathObj)) {
const content = op?.responses?.['200']?.content;
if (!content) continue;
for (const media of Object.values(content)) {
if (media?.schema?.['$ref']?.endsWith('ResultObject[]')) {
media.schema = { ...RESULT_OBJECT_ARRAY_SCHEMA };
}
}
}
}
return spec;
}, },
}, },
}, },

View File

@ -11,7 +11,8 @@
"test:e2e": "playwright test", "test:e2e": "playwright test",
"test:e2e:ui": "playwright test --ui", "test:e2e:ui": "playwright test --ui",
"test:e2e:headed": "playwright test --headed", "test:e2e:headed": "playwright test --headed",
"api:update": "orval", "api:fetch": "node scripts/fetch-openapi.js",
"api:update": "npm run api:fetch && orval",
"api:watch": "orval --watch" "api:watch": "orval --watch"
}, },
"dependencies": { "dependencies": {

View File

@ -0,0 +1,89 @@
/**
* 拉取 OpenAPI 文档并修复 SpringDoc 生成的 oneOf schema 问题
* 解决 orval 报错: "oneOf must match exactly one schema in oneOf"
*/
import { writeFileSync } from 'fs';
import { join, dirname } from 'path';
import { fileURLToPath } from 'url';
const __dirname = dirname(fileURLToPath(import.meta.url));
const TARGET = 'http://localhost:8080/v3/api-docs';
const OUTPUT = join(__dirname, '../openapi.json');
async function fetchAndFix() {
const res = await fetch(TARGET);
if (!res.ok) throw new Error(`Failed to fetch: ${res.status} ${res.statusText}. 请确保后端已启动 (mvn spring-boot:run)`);
let spec = await res.json();
const paths = spec.paths || {};
for (const path of Object.keys(paths)) {
let newKey = path.replace(/\/v1\/v1\//g, '/v1/');
if (newKey === path) newKey = path.replace(/^\/api\/(?!v1\/)/, '/api/v1/');
if (newKey !== path) {
paths[newKey] = paths[path];
delete paths[path];
}
}
fixOneOfInPaths(paths);
inlineResultObjectArrayRef(paths);
// 移除非法 schema 名 ResultObject[](含 [] 不符合 OpenAPI 规范)
if (spec.components?.schemas) {
delete spec.components.schemas['ResultObject[]'];
}
writeFileSync(OUTPUT, JSON.stringify(spec, null, 2));
console.log('OpenAPI spec written to:', OUTPUT);
}
function fixOneOfInPaths(paths) {
for (const pathObj of Object.values(paths)) {
for (const op of Object.values(pathObj)) {
const res200 = op?.responses?.['200'];
if (!res200?.content) continue;
for (const media of Object.values(res200.content)) {
if (media?.schema) fixSchema(media.schema);
}
}
}
}
function fixSchema(schema) {
if (!schema || typeof schema !== 'object') return;
if (schema.oneOf && Array.isArray(schema.oneOf)) {
schema.type = 'array';
schema.items = { type: 'object', additionalProperties: true };
delete schema.oneOf;
}
if (schema.properties) {
for (const p of Object.values(schema.properties)) fixSchema(p);
}
if (schema.items) fixSchema(schema.items);
}
function inlineResultObjectArrayRef(paths) {
const inlineSchema = {
type: 'object',
properties: {
code: { type: 'integer', format: 'int32' },
message: { type: 'string' },
data: { type: 'array', items: { type: 'object', additionalProperties: true } },
},
};
for (const pathObj of Object.values(paths)) {
for (const op of Object.values(pathObj)) {
const res200 = op?.responses?.['200'];
if (!res200?.content) continue;
for (const media of Object.values(res200.content)) {
if (media?.schema?.['$ref']?.endsWith('ResultObject[]')) {
media.schema = { ...inlineSchema };
}
}
}
}
}
fetchAndFix().catch((e) => {
console.error(e);
process.exit(1);
});

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,9 @@
/**
* Generated by orval v8.5.3 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation
* OpenAPI spec version: 1.0.0
*/
export type BatchCreateSchedulesBody = {[key: string]: { [key: string]: unknown }};

View File

@ -7,15 +7,15 @@
*/ */
/** /**
* Class Create Request *
*/ */
export interface ClassCreateRequest { export interface ClassCreateRequest {
/** Class name */ /** 班级名称 */
name: string; name: string;
/** Grade */ /** 年级 */
grade?: string; grade?: string;
/** Description */ /** 描述 */
description?: string; description?: string;
/** Capacity */ /** 容量 */
capacity?: number; capacity?: number;
} }

View File

@ -0,0 +1,31 @@
/**
* Generated by orval v8.5.3 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation
* OpenAPI spec version: 1.0.0
*/
/**
*
*/
export interface ClassResponse {
/** ID */
id?: number;
/** 租户 ID */
tenantId?: number;
/** 班级名称 */
name?: string;
/** 年级 */
grade?: string;
/** 描述 */
description?: string;
/** 容量 */
capacity?: number;
/** 状态 */
status?: string;
/** 创建时间 */
createdAt?: string;
/** 更新时间 */
updatedAt?: string;
}

View File

@ -0,0 +1,23 @@
/**
* Generated by orval v8.5.3 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation
* OpenAPI spec version: 1.0.0
*/
/**
*
*/
export interface ClassTeacherResponse {
/** ID */
id?: number;
/** 班级 ID */
classId?: number;
/** 教师 ID */
teacherId?: number;
/** 角色 */
role?: string;
/** 创建时间 */
createdAt?: string;
}

View File

@ -7,17 +7,17 @@
*/ */
/** /**
* Class Update Request *
*/ */
export interface ClassUpdateRequest { export interface ClassUpdateRequest {
/** Class name */ /** 班级名称 */
name?: string; name?: string;
/** Grade */ /** 年级 */
grade?: string; grade?: string;
/** Description */ /** 描述 */
description?: string; description?: string;
/** Capacity */ /** 容量 */
capacity?: number; capacity?: number;
/** Status */ /** 状态 */
status?: string; status?: string;
} }

View File

@ -6,64 +6,126 @@
* OpenAPI spec version: 1.0.0 * OpenAPI spec version: 1.0.0
*/ */
/**
*
*/
export interface Course { export interface Course {
/** 主键 ID */
id?: number; id?: number;
tenantId?: number; /** 创建人 */
name?: string; createBy?: string;
code?: string; /** 创建时间 */
description?: string;
coverUrl?: string;
category?: string;
ageRange?: string;
difficultyLevel?: string;
durationMinutes?: number;
objectives?: string;
status?: string;
isSystem?: number;
coreContent?: string;
introSummary?: string;
introHighlights?: string;
introGoals?: string;
introSchedule?: string;
introKeyPoints?: string;
introMethods?: string;
introEvaluation?: string;
introNotes?: string;
scheduleRefData?: string;
environmentConstruction?: string;
themeId?: number;
pictureBookName?: string;
coverImagePath?: string;
ebookPaths?: string;
audioPaths?: string;
videoPaths?: string;
otherResources?: string;
pptPath?: string;
pptName?: string;
posterPaths?: string;
tools?: string;
studentMaterials?: string;
lessonPlanData?: string;
activitiesData?: string;
assessmentData?: string;
gradeTags?: string;
domainTags?: string;
hasCollectiveLesson?: number;
version?: string;
parentId?: number;
isLatest?: number;
submittedAt?: string;
submittedBy?: number;
reviewedAt?: string;
reviewedBy?: number;
reviewComment?: string;
reviewChecklist?: string;
publishedAt?: string;
usageCount?: number;
teacherCount?: number;
avgRating?: number;
createdBy?: number;
createdAt?: string; createdAt?: string;
/** 更新人 */
updateBy?: string;
/** 更新时间 */
updatedAt?: string; updatedAt?: string;
deleted?: number; /** 租户 ID */
tenantId?: number;
/** 课程名称 */
name?: string;
/** 课程编码 */
code?: string;
/** 课程描述 */
description?: string;
/** 封面 URL */
coverUrl?: string;
/** 课程类别 */
category?: string;
/** 适用年龄范围 */
ageRange?: string;
/** 难度等级 */
difficultyLevel?: string;
/** 课程时长(分钟) */
durationMinutes?: number;
/** 课程目标 */
objectives?: string;
/** 状态 */
status?: string;
/** 是否系统课程 */
isSystem?: number;
/** 核心内容 */
coreContent?: string;
/** 课程介绍 - 概要 */
introSummary?: string;
/** 课程介绍 - 亮点 */
introHighlights?: string;
/** 课程介绍 - 目标 */
introGoals?: string;
/** 课程介绍 - 进度安排 */
introSchedule?: string;
/** 课程介绍 - 重点 */
introKeyPoints?: string;
/** 课程介绍 - 方法 */
introMethods?: string;
/** 课程介绍 - 评估 */
introEvaluation?: string;
/** 课程介绍 - 注意事项 */
introNotes?: string;
/** 进度计划参考数据JSON */
scheduleRefData?: string;
/** 环境创设(步骤 7 */
environmentConstruction?: string;
/** 主题 ID */
themeId?: number;
/** 绘本名称 */
pictureBookName?: string;
/** 封面图片路径 */
coverImagePath?: string;
/** 电子绘本路径JSON 数组) */
ebookPaths?: string;
/** 音频资源路径JSON 数组) */
audioPaths?: string;
/** 视频资源路径JSON 数组) */
videoPaths?: string;
/** 其他资源JSON 数组) */
otherResources?: string;
/** PPT 课件路径 */
pptPath?: string;
/** PPT 课件名称 */
pptName?: string;
/** 海报图片路径 */
posterPaths?: string;
/** 教学工具 */
tools?: string;
/** 学生材料 */
studentMaterials?: string;
/** 教案数据JSON */
lessonPlanData?: string;
/** 活动数据JSON */
activitiesData?: string;
/** 评估数据JSON */
assessmentData?: string;
/** 年级标签JSON 数组) */
gradeTags?: string;
/** 领域标签JSON 数组) */
domainTags?: string;
/** 是否有集体课 */
hasCollectiveLesson?: number;
/** 版本号 */
version?: string;
/** 父版本 ID */
parentId?: number;
/** 是否最新版本 */
isLatest?: number;
/** 提交时间 */
submittedAt?: string;
/** 提交人 ID */
submittedBy?: number;
/** 审核时间 */
reviewedAt?: string;
/** 审核人 ID */
reviewedBy?: number;
/** 审核意见 */
reviewComment?: string;
/** 审核检查清单 */
reviewChecklist?: string;
/** 发布时间 */
publishedAt?: string;
/** 使用次数 */
usageCount?: number;
/** 教师数量 */
teacherCount?: number;
/** 平均评分 */
avgRating?: number;
} }

View File

@ -7,83 +7,83 @@
*/ */
/** /**
* Course Create Request *
*/ */
export interface CourseCreateRequest { export interface CourseCreateRequest {
/** Course name */ /** 课程名称 */
name: string; name: string;
/** Course code */ /** 课程编码 */
code?: string; code?: string;
/** Description */ /** 描述 */
description?: string; description?: string;
/** Cover URL */ /** 封面 URL */
coverUrl?: string; coverUrl?: string;
/** Cover image path */ /** 封面图片路径 */
coverImagePath?: string; coverImagePath?: string;
/** Category */ /** 分类 */
category?: string; category?: string;
/** Age range */ /** 年龄范围 */
ageRange?: string; ageRange?: string;
/** Difficulty level */ /** 难度等级 */
difficultyLevel?: string; difficultyLevel?: string;
/** Duration in minutes */ /** 时长(分钟) */
durationMinutes?: number; durationMinutes?: number;
/** Objectives */ /** 教学目标 */
objectives?: string; objectives?: string;
/** Core content */ /** 核心内容 */
coreContent?: string; coreContent?: string;
/** Course summary */ /** 课程摘要 */
introSummary?: string; introSummary?: string;
/** Course highlights */ /** 课程亮点 */
introHighlights?: string; introHighlights?: string;
/** Course goals */ /** 课程目标 */
introGoals?: string; introGoals?: string;
/** Content schedule */ /** 内容安排 */
introSchedule?: string; introSchedule?: string;
/** Key points and difficulties */ /** 重点难点 */
introKeyPoints?: string; introKeyPoints?: string;
/** Teaching methods */ /** 教学方法 */
introMethods?: string; introMethods?: string;
/** Evaluation methods */ /** 评估方法 */
introEvaluation?: string; introEvaluation?: string;
/** Notes and precautions */ /** 注意事项 */
introNotes?: string; introNotes?: string;
/** Schedule reference data (JSON) */ /** 进度安排参考数据JSON */
scheduleRefData?: string; scheduleRefData?: string;
/** Environment construction content */ /** 环境创设内容 */
environmentConstruction?: string; environmentConstruction?: string;
/** Theme ID */ /** 主题 ID */
themeId?: number; themeId?: number;
/** Picture book name */ /** 绘本名称 */
pictureBookName?: string; pictureBookName?: string;
/** Ebook paths (JSON array) */ /** 电子书路径JSON 数组) */
ebookPaths?: string; ebookPaths?: string;
/** Audio paths (JSON array) */ /** 音频路径JSON 数组) */
audioPaths?: string; audioPaths?: string;
/** Video paths (JSON array) */ /** 视频路径JSON 数组) */
videoPaths?: string; videoPaths?: string;
/** Other resources (JSON array) */ /** 其他资源JSON 数组) */
otherResources?: string; otherResources?: string;
/** PPT file path */ /** PPT 文件路径 */
pptPath?: string; pptPath?: string;
/** PPT file name */ /** PPT 文件名称 */
pptName?: string; pptName?: string;
/** Poster paths (JSON array) */ /** 海报路径JSON 数组) */
posterPaths?: string; posterPaths?: string;
/** Teaching tools (JSON array) */ /** 教学工具JSON 数组) */
tools?: string; tools?: string;
/** Student materials */ /** 学生材料 */
studentMaterials?: string; studentMaterials?: string;
/** Lesson plan data (JSON) */ /** 教案数据JSON */
lessonPlanData?: string; lessonPlanData?: string;
/** Activities data (JSON) */ /** 活动数据JSON */
activitiesData?: string; activitiesData?: string;
/** Assessment data (JSON) */ /** 评估数据JSON */
assessmentData?: string; assessmentData?: string;
/** Grade tags (JSON array) */ /** 年级标签JSON 数组) */
gradeTags?: string; gradeTags?: string;
/** Domain tags (JSON array) */ /** 领域标签JSON 数组) */
domainTags?: string; domainTags?: string;
/** Has collective lesson */ /** 是否有集体课 */
hasCollectiveLesson?: boolean; hasCollectiveLesson?: boolean;
} }

View File

@ -6,26 +6,54 @@
* OpenAPI spec version: 1.0.0 * OpenAPI spec version: 1.0.0
*/ */
/**
*
*/
export interface CourseLesson { export interface CourseLesson {
/** 主键 ID */
id?: number; id?: number;
courseId?: number; /** 创建人 */
lessonType?: string; createBy?: string;
name?: string; /** 创建时间 */
description?: string;
duration?: number;
videoPath?: string;
videoName?: string;
pptPath?: string;
pptName?: string;
pdfPath?: string;
pdfName?: string;
objectives?: string;
preparation?: string;
extension?: string;
reflection?: string;
assessmentData?: string;
useTemplate?: boolean;
sortOrder?: number;
createdAt?: string; createdAt?: string;
/** 更新人 */
updateBy?: string;
/** 更新时间 */
updatedAt?: string; updatedAt?: string;
/** 课程 ID */
courseId?: number;
/** 课程类型INTRODUCTION、LANGUAGE、SOCIETY、SCIENCE、ART、HEALTH */
lessonType?: string;
/** 课程名称 */
name?: string;
/** 课程描述 */
description?: string;
/** 时长(分钟) */
duration?: number;
/** 视频路径 */
videoPath?: string;
/** 视频名称 */
videoName?: string;
/** PPT 路径 */
pptPath?: string;
/** PPT 名称 */
pptName?: string;
/** PDF 路径 */
pdfPath?: string;
/** PDF 名称 */
pdfName?: string;
/** 教学目标 */
objectives?: string;
/** 教学准备 */
preparation?: string;
/** 教学延伸 */
extension?: string;
/** 教学反思 */
reflection?: string;
/** 评测数据JSON */
assessmentData?: string;
/** 是否使用模板 */
useTemplate?: boolean;
/** 排序号 */
sortOrder?: number;
} }

View File

@ -22,13 +22,13 @@ export interface CourseLessonCreateRequest {
videoPath?: string; videoPath?: string;
/** 视频名称 */ /** 视频名称 */
videoName?: string; videoName?: string;
/** PPT路径 */ /** PPT 路径 */
pptPath?: string; pptPath?: string;
/** PPT名称 */ /** PPT 名称 */
pptName?: string; pptName?: string;
/** PDF路径 */ /** PDF 路径 */
pdfPath?: string; pdfPath?: string;
/** PDF名称 */ /** PDF 名称 */
pdfName?: string; pdfName?: string;
/** 教学目标 */ /** 教学目标 */
objectives?: string; objectives?: string;

View File

@ -6,22 +6,46 @@
* OpenAPI spec version: 1.0.0 * OpenAPI spec version: 1.0.0
*/ */
/**
*
*/
export interface CoursePackage { export interface CoursePackage {
/** 主键 ID */
id?: number; id?: number;
name?: string; /** 创建人 */
description?: string; createBy?: string;
price?: number; /** 创建时间 */
discountPrice?: number;
discountType?: string;
gradeLevels?: string;
courseCount?: number;
status?: string;
submittedAt?: string;
submittedBy?: number;
reviewedAt?: string;
reviewedBy?: number;
reviewComment?: string;
publishedAt?: string;
createdAt?: string; createdAt?: string;
/** 更新人 */
updateBy?: string;
/** 更新时间 */
updatedAt?: string; updatedAt?: string;
/** 套餐名称 */
name?: string;
/** 套餐描述 */
description?: string;
/** 价格(分) */
price?: number;
/** 折后价格(分) */
discountPrice?: number;
/** 折扣类型PERCENTAGE、FIXED */
discountType?: string;
/** 适用年级JSON 数组) */
gradeLevels?: string;
/** 课程数量 */
courseCount?: number;
/** 状态DRAFT、PENDING_REVIEW、APPROVED、REJECTED、PUBLISHED、OFFLINE */
status?: string;
/** 提交时间 */
submittedAt?: string;
/** 提交人 ID */
submittedBy?: number;
/** 审核时间 */
reviewedAt?: string;
/** 审核人 ID */
reviewedBy?: number;
/** 审核意见 */
reviewComment?: string;
/** 发布时间 */
publishedAt?: string;
} }

View File

@ -0,0 +1,129 @@
/**
* Generated by orval v8.5.3 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation
* OpenAPI spec version: 1.0.0
*/
/**
*
*/
export interface CourseResponse {
/** ID */
id?: number;
/** 租户 ID */
tenantId?: number;
/** 课程名称 */
name?: string;
/** 课程编码 */
code?: string;
/** 描述 */
description?: string;
/** 封面 URL */
coverUrl?: string;
/** 分类 */
category?: string;
/** 年龄范围 */
ageRange?: string;
/** 难度等级 */
difficultyLevel?: string;
/** 时长(分钟) */
durationMinutes?: number;
/** 教学目标 */
objectives?: string;
/** 状态 */
status?: string;
/** 是否系统课程 */
isSystem?: number;
/** 核心内容 */
coreContent?: string;
/** 课程摘要 */
introSummary?: string;
/** 课程亮点 */
introHighlights?: string;
/** 课程目标 */
introGoals?: string;
/** 内容安排 */
introSchedule?: string;
/** 重点难点 */
introKeyPoints?: string;
/** 教学方法 */
introMethods?: string;
/** 评估方法 */
introEvaluation?: string;
/** 注意事项 */
introNotes?: string;
/** 进度安排参考数据 */
scheduleRefData?: string;
/** 环境创设内容 */
environmentConstruction?: string;
/** 主题 ID */
themeId?: number;
/** 绘本名称 */
pictureBookName?: string;
/** 封面图片路径 */
coverImagePath?: string;
/** 电子书路径 */
ebookPaths?: string;
/** 音频路径 */
audioPaths?: string;
/** 视频路径 */
videoPaths?: string;
/** 其他资源 */
otherResources?: string;
/** PPT 文件路径 */
pptPath?: string;
/** PPT 文件名称 */
pptName?: string;
/** 海报路径 */
posterPaths?: string;
/** 教学工具 */
tools?: string;
/** 学生材料 */
studentMaterials?: string;
/** 教案数据 */
lessonPlanData?: string;
/** 活动数据 */
activitiesData?: string;
/** 评估数据 */
assessmentData?: string;
/** 年级标签 */
gradeTags?: string;
/** 领域标签 */
domainTags?: string;
/** 是否有集体课 */
hasCollectiveLesson?: number;
/** 版本号 */
version?: string;
/** 父课程 ID */
parentId?: number;
/** 是否最新版本 */
isLatest?: number;
/** 提交时间 */
submittedAt?: string;
/** 提交人 ID */
submittedBy?: number;
/** 审核时间 */
reviewedAt?: string;
/** 审核人 ID */
reviewedBy?: number;
/** 审核意见 */
reviewComment?: string;
/** 审核清单 */
reviewChecklist?: string;
/** 发布时间 */
publishedAt?: string;
/** 使用次数 */
usageCount?: number;
/** 教师数量 */
teacherCount?: number;
/** 平均评分 */
avgRating?: number;
/** 创建人 ID */
createdBy?: number;
/** 创建时间 */
createdAt?: string;
/** 更新时间 */
updatedAt?: string;
}

View File

@ -7,85 +7,85 @@
*/ */
/** /**
* Course Update Request *
*/ */
export interface CourseUpdateRequest { export interface CourseUpdateRequest {
/** Course name */ /** 课程名称 */
name?: string; name?: string;
/** Course code */ /** 课程编码 */
code?: string; code?: string;
/** Description */ /** 描述 */
description?: string; description?: string;
/** Cover URL */ /** 封面 URL */
coverUrl?: string; coverUrl?: string;
/** Cover image path */ /** 封面图片路径 */
coverImagePath?: string; coverImagePath?: string;
/** Category */ /** 分类 */
category?: string; category?: string;
/** Age range */ /** 年龄范围 */
ageRange?: string; ageRange?: string;
/** Difficulty level */ /** 难度等级 */
difficultyLevel?: string; difficultyLevel?: string;
/** Duration in minutes */ /** 时长(分钟) */
durationMinutes?: number; durationMinutes?: number;
/** Objectives */ /** 教学目标 */
objectives?: string; objectives?: string;
/** Status */ /** 状态 */
status?: string; status?: string;
/** Core content */ /** 核心内容 */
coreContent?: string; coreContent?: string;
/** Course summary */ /** 课程摘要 */
introSummary?: string; introSummary?: string;
/** Course highlights */ /** 课程亮点 */
introHighlights?: string; introHighlights?: string;
/** Course goals */ /** 课程目标 */
introGoals?: string; introGoals?: string;
/** Content schedule */ /** 内容安排 */
introSchedule?: string; introSchedule?: string;
/** Key points and difficulties */ /** 重点难点 */
introKeyPoints?: string; introKeyPoints?: string;
/** Teaching methods */ /** 教学方法 */
introMethods?: string; introMethods?: string;
/** Evaluation methods */ /** 评估方法 */
introEvaluation?: string; introEvaluation?: string;
/** Notes and precautions */ /** 注意事项 */
introNotes?: string; introNotes?: string;
/** Schedule reference data (JSON) */ /** 进度安排参考数据JSON */
scheduleRefData?: string; scheduleRefData?: string;
/** Environment construction content */ /** 环境创设内容 */
environmentConstruction?: string; environmentConstruction?: string;
/** Theme ID */ /** 主题 ID */
themeId?: number; themeId?: number;
/** Picture book name */ /** 绘本名称 */
pictureBookName?: string; pictureBookName?: string;
/** Ebook paths (JSON array) */ /** 电子书路径JSON 数组) */
ebookPaths?: string; ebookPaths?: string;
/** Audio paths (JSON array) */ /** 音频路径JSON 数组) */
audioPaths?: string; audioPaths?: string;
/** Video paths (JSON array) */ /** 视频路径JSON 数组) */
videoPaths?: string; videoPaths?: string;
/** Other resources (JSON array) */ /** 其他资源JSON 数组) */
otherResources?: string; otherResources?: string;
/** PPT file path */ /** PPT 文件路径 */
pptPath?: string; pptPath?: string;
/** PPT file name */ /** PPT 文件名称 */
pptName?: string; pptName?: string;
/** Poster paths (JSON array) */ /** 海报路径JSON 数组) */
posterPaths?: string; posterPaths?: string;
/** Teaching tools (JSON array) */ /** 教学工具JSON 数组) */
tools?: string; tools?: string;
/** Student materials */ /** 学生材料 */
studentMaterials?: string; studentMaterials?: string;
/** Lesson plan data (JSON) */ /** 教案数据JSON */
lessonPlanData?: string; lessonPlanData?: string;
/** Activities data (JSON) */ /** 活动数据JSON */
activitiesData?: string; activitiesData?: string;
/** Assessment data (JSON) */ /** 评估数据JSON */
assessmentData?: string; assessmentData?: string;
/** Grade tags (JSON array) */ /** 年级标签JSON 数组) */
gradeTags?: string; gradeTags?: string;
/** Domain tags (JSON array) */ /** 领域标签JSON 数组) */
domainTags?: string; domainTags?: string;
/** Has collective lesson */ /** 是否有集体课 */
hasCollectiveLesson?: boolean; hasCollectiveLesson?: boolean;
} }

View File

@ -0,0 +1,9 @@
/**
* Generated by orval v8.5.3 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation
* OpenAPI spec version: 1.0.0
*/
export type CreateFromTemplateBody = {[key: string]: { [key: string]: unknown }};

View File

@ -0,0 +1,9 @@
/**
* Generated by orval v8.5.3 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation
* OpenAPI spec version: 1.0.0
*/
export type CreateSchedule1Body = {[key: string]: { [key: string]: unknown }};

View File

@ -0,0 +1,9 @@
/**
* Generated by orval v8.5.3 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation
* OpenAPI spec version: 1.0.0
*/
export type CreateScheduleBody = {[key: string]: { [key: string]: unknown }};

View File

@ -0,0 +1,9 @@
/**
* Generated by orval v8.5.3 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation
* OpenAPI spec version: 1.0.0
*/
export type CreateTemplate1Body = {[key: string]: { [key: string]: unknown }};

View File

@ -0,0 +1,9 @@
/**
* Generated by orval v8.5.3 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation
* OpenAPI spec version: 1.0.0
*/
export type CreateTemplateBody = {[key: string]: { [key: string]: unknown }};

View File

@ -0,0 +1,11 @@
/**
* Generated by orval v8.5.3 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation
* OpenAPI spec version: 1.0.0
*/
export type ExportGrowthRecordsParams = {
studentId?: number;
};

View File

@ -0,0 +1,12 @@
/**
* Generated by orval v8.5.3 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation
* OpenAPI spec version: 1.0.0
*/
export type ExportLessonsParams = {
startDate?: string;
endDate?: string;
};

View File

@ -8,6 +8,6 @@
export type FindAll1Params = { export type FindAll1Params = {
status?: string; status?: string;
page?: number; pageNum?: number;
pageSize?: number; pageSize?: number;
}; };

View File

@ -10,6 +10,6 @@ export type FindAllItemsParams = {
libraryId?: string; libraryId?: string;
fileType?: string; fileType?: string;
keyword?: string; keyword?: string;
page?: number; pageNum?: number;
pageSize?: number; pageSize?: number;
}; };

View File

@ -9,6 +9,6 @@
export type FindAllLibrariesParams = { export type FindAllLibrariesParams = {
libraryType?: string; libraryType?: string;
keyword?: string; keyword?: string;
page?: number; pageNum?: number;
pageSize?: number; pageSize?: number;
}; };

View File

@ -0,0 +1,14 @@
/**
* Generated by orval v8.5.3 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation
* OpenAPI spec version: 1.0.0
*/
import type { GetActiveTenants200DataItem } from './getActiveTenants200DataItem';
export type GetActiveTenants200 = {
code?: number;
message?: string;
data?: GetActiveTenants200DataItem[];
};

View File

@ -0,0 +1,9 @@
/**
* Generated by orval v8.5.3 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation
* OpenAPI spec version: 1.0.0
*/
export type GetActiveTenants200DataItem = { [key: string]: unknown };

View File

@ -0,0 +1,11 @@
/**
* Generated by orval v8.5.3 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation
* OpenAPI spec version: 1.0.0
*/
export type GetActiveTenantsParams = {
limit?: number;
};

View File

@ -0,0 +1,13 @@
/**
* Generated by orval v8.5.3 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation
* OpenAPI spec version: 1.0.0
*/
export type GetAllStudentsParams = {
pageNum?: number;
pageSize?: number;
keyword?: string;
};

View File

@ -0,0 +1,12 @@
/**
* Generated by orval v8.5.3 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation
* OpenAPI spec version: 1.0.0
*/
export type GetClassStudents1Params = {
pageNum?: number;
pageSize?: number;
};

View File

@ -0,0 +1,13 @@
/**
* Generated by orval v8.5.3 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation
* OpenAPI spec version: 1.0.0
*/
export type GetClassStudentsParams = {
pageNum?: number;
pageSize?: number;
keyword?: string;
};

View File

@ -0,0 +1,15 @@
/**
* Generated by orval v8.5.3 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation
* OpenAPI spec version: 1.0.0
*/
export type GetFeedbacks1Params = {
pageNum?: number;
pageSize?: number;
teacherId?: number;
courseId?: number;
keyword?: string;
};

View File

@ -0,0 +1,13 @@
/**
* Generated by orval v8.5.3 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation
* OpenAPI spec version: 1.0.0
*/
export type GetFeedbacksParams = {
pageNum?: number;
pageSize?: number;
type?: string;
};

View File

@ -0,0 +1,14 @@
/**
* Generated by orval v8.5.3 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation
* OpenAPI spec version: 1.0.0
*/
export type GetLogListParams = {
pageNum?: number;
pageSize?: number;
module?: string;
operator?: string;
};

View File

@ -0,0 +1,13 @@
/**
* Generated by orval v8.5.3 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation
* OpenAPI spec version: 1.0.0
*/
export type GetMyTasksParams = {
pageNum?: number;
pageSize?: number;
status?: string;
};

View File

@ -0,0 +1,14 @@
/**
* Generated by orval v8.5.3 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation
* OpenAPI spec version: 1.0.0
*/
import type { GetPopularCourses200DataItem } from './getPopularCourses200DataItem';
export type GetPopularCourses200 = {
code?: number;
message?: string;
data?: GetPopularCourses200DataItem[];
};

View File

@ -0,0 +1,9 @@
/**
* Generated by orval v8.5.3 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation
* OpenAPI spec version: 1.0.0
*/
export type GetPopularCourses200DataItem = { [key: string]: unknown };

View File

@ -0,0 +1,11 @@
/**
* Generated by orval v8.5.3 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation
* OpenAPI spec version: 1.0.0
*/
export type GetPopularCoursesParams = {
limit?: number;
};

View File

@ -0,0 +1,14 @@
/**
* Generated by orval v8.5.3 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation
* OpenAPI spec version: 1.0.0
*/
import type { GetRecentActivities1200DataItem } from './getRecentActivities1200DataItem';
export type GetRecentActivities1200 = {
code?: number;
message?: string;
data?: GetRecentActivities1200DataItem[];
};

View File

@ -0,0 +1,9 @@
/**
* Generated by orval v8.5.3 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation
* OpenAPI spec version: 1.0.0
*/
export type GetRecentActivities1200DataItem = { [key: string]: unknown };

View File

@ -0,0 +1,11 @@
/**
* Generated by orval v8.5.3 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation
* OpenAPI spec version: 1.0.0
*/
export type GetRecentActivities1Params = {
limit?: number;
};

View File

@ -0,0 +1,14 @@
/**
* Generated by orval v8.5.3 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation
* OpenAPI spec version: 1.0.0
*/
export type GetSchedules1Params = {
startDate?: string;
endDate?: string;
classId?: number;
teacherId?: number;
};

View File

@ -0,0 +1,12 @@
/**
* Generated by orval v8.5.3 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation
* OpenAPI spec version: 1.0.0
*/
export type GetSchedulesParams = {
startDate?: string;
endDate?: string;
};

View File

@ -0,0 +1,13 @@
/**
* Generated by orval v8.5.3 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation
* OpenAPI spec version: 1.0.0
*/
export type GetTemplates1Params = {
pageNum?: number;
pageSize?: number;
type?: string;
};

View File

@ -0,0 +1,13 @@
/**
* Generated by orval v8.5.3 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation
* OpenAPI spec version: 1.0.0
*/
export type GetTemplatesParams = {
pageNum?: number;
pageSize?: number;
type?: string;
};

View File

@ -0,0 +1,13 @@
/**
* Generated by orval v8.5.3 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation
* OpenAPI spec version: 1.0.0
*/
export type GetTimetable1Params = {
classId?: number;
startDate?: string;
endDate?: string;
};

View File

@ -0,0 +1,12 @@
/**
* Generated by orval v8.5.3 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation
* OpenAPI spec version: 1.0.0
*/
export type GetTimetableParams = {
startDate?: string;
endDate?: string;
};

View File

@ -0,0 +1,13 @@
/**
* Generated by orval v8.5.3 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation
* OpenAPI spec version: 1.0.0
*/
export interface GrantRequest {
tenantId?: number;
endDate?: string;
pricePaid?: number;
}

View File

@ -6,19 +6,38 @@
* OpenAPI spec version: 1.0.0 * OpenAPI spec version: 1.0.0
*/ */
/**
*
*/
export interface GrowthRecord { export interface GrowthRecord {
/** 主键 ID */
id?: number; id?: number;
tenantId?: number; /** 创建人 */
studentId?: number; createBy?: string;
type?: string; /** 创建时间 */
title?: string;
content?: string;
images?: string;
recordedBy?: number;
recorderRole?: string;
recordDate?: string;
tags?: string;
createdAt?: string; createdAt?: string;
/** 更新人 */
updateBy?: string;
/** 更新时间 */
updatedAt?: string; updatedAt?: string;
deleted?: number; /** 租户 ID */
tenantId?: number;
/** 学生 ID */
studentId?: number;
/** 记录类型 */
type?: string;
/** 记录标题 */
title?: string;
/** 记录内容 */
content?: string;
/** 图片JSON 数组) */
images?: string;
/** 记录人 ID */
recordedBy?: number;
/** 记录人角色 */
recorderRole?: string;
/** 记录日期 */
recordDate?: string;
/** 标签JSON 数组) */
tags?: string;
} }

View File

@ -7,21 +7,21 @@
*/ */
/** /**
* Growth Record Create Request *
*/ */
export interface GrowthRecordCreateRequest { export interface GrowthRecordCreateRequest {
/** Student ID */ /** 学生 ID */
studentId: number; studentId: number;
/** Type: reading, behavior, achievement, milestone */ /** 类型reading-阅读behavior-行为achievement-成就milestone-里程碑 */
type: string; type: string;
/** Title */ /** 标题 */
title: string; title: string;
/** Content */ /** 内容 */
content?: string; content?: string;
/** Images (JSON array) */ /** 图片JSON 数组) */
images?: string; images?: string;
/** Record date */ /** 记录日期 */
recordDate?: string; recordDate?: string;
/** Tags */ /** 标签 */
tags?: string[]; tags?: string[];
} }

View File

@ -0,0 +1,39 @@
/**
* Generated by orval v8.5.3 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation
* OpenAPI spec version: 1.0.0
*/
/**
*
*/
export interface GrowthRecordResponse {
/** ID */
id?: number;
/** 租户 ID */
tenantId?: number;
/** 学生 ID */
studentId?: number;
/** 类型 */
type?: string;
/** 标题 */
title?: string;
/** 内容 */
content?: string;
/** 图片 */
images?: string;
/** 记录人 ID */
recordedBy?: number;
/** 记录人角色 */
recorderRole?: string;
/** 记录日期 */
recordDate?: string;
/** 标签 */
tags?: string;
/** 创建时间 */
createdAt?: string;
/** 更新时间 */
updatedAt?: string;
}

View File

@ -7,19 +7,19 @@
*/ */
/** /**
* Growth Record Update Request *
*/ */
export interface GrowthRecordUpdateRequest { export interface GrowthRecordUpdateRequest {
/** Type */ /** 类型 */
type?: string; type?: string;
/** Title */ /** 标题 */
title?: string; title?: string;
/** Content */ /** 内容 */
content?: string; content?: string;
/** Images (JSON array) */ /** 图片JSON 数组) */
images?: string; images?: string;
/** Record date */ /** 记录日期 */
recordDate?: string; recordDate?: string;
/** Tags */ /** 标签 */
tags?: string[]; tags?: string[];
} }

View File

@ -12,11 +12,14 @@ export * from './adminStatsControllerGetPopularCoursesParams';
export * from './adminStatsControllerGetRecentActivitiesParams'; export * from './adminStatsControllerGetRecentActivitiesParams';
export * from './approveCourseDto'; export * from './approveCourseDto';
export * from './approveCourseDtoChecklist'; export * from './approveCourseDtoChecklist';
export * from './batchCreateSchedulesBody';
export * from './batchStudentRecordsDto'; export * from './batchStudentRecordsDto';
export * from './batchStudentRecordsDtoRecordsItem'; export * from './batchStudentRecordsDtoRecordsItem';
export * from './bindStudentParams'; export * from './bindStudentParams';
export * from './changePasswordParams'; export * from './changePasswordParams';
export * from './classCreateRequest'; export * from './classCreateRequest';
export * from './classResponse';
export * from './classTeacherResponse';
export * from './classUpdateRequest'; export * from './classUpdateRequest';
export * from './clazz'; export * from './clazz';
export * from './completeTaskParams'; export * from './completeTaskParams';
@ -28,22 +31,28 @@ export * from './courseLesson';
export * from './courseLessonCreateRequest'; export * from './courseLessonCreateRequest';
export * from './coursePackage'; export * from './coursePackage';
export * from './coursePackageControllerFindAllParams'; export * from './coursePackageControllerFindAllParams';
export * from './courseResponse';
export * from './courseUpdateRequest'; export * from './courseUpdateRequest';
export * from './createClassDto'; export * from './createClassDto';
export * from './createFromSourceDto'; export * from './createFromSourceDto';
export * from './createFromSourceDtoSaveLocation'; export * from './createFromSourceDtoSaveLocation';
export * from './createFromTemplateBody';
export * from './createFromTemplateDto'; export * from './createFromTemplateDto';
export * from './createGrowthRecordDto'; export * from './createGrowthRecordDto';
export * from './createLessonDto'; export * from './createLessonDto';
export * from './createLibraryDto'; export * from './createLibraryDto';
export * from './createReservationDto'; export * from './createReservationDto';
export * from './createResourceItemDto'; export * from './createResourceItemDto';
export * from './createSchedule1Body';
export * from './createScheduleBody';
export * from './createScheduleDto'; export * from './createScheduleDto';
export * from './createSchoolCourseDto'; export * from './createSchoolCourseDto';
export * from './createStudentDto'; export * from './createStudentDto';
export * from './createTaskDto'; export * from './createTaskDto';
export * from './createTaskTemplateDto'; export * from './createTaskTemplateDto';
export * from './createTeacherDto'; export * from './createTeacherDto';
export * from './createTemplate1Body';
export * from './createTemplateBody';
export * from './createTenantDto'; export * from './createTenantDto';
export * from './createTenantDtoPackageType'; export * from './createTenantDtoPackageType';
export * from './deleteFileBody'; export * from './deleteFileBody';
@ -51,33 +60,59 @@ export * from './directPublishDto';
export * from './exportControllerExportGrowthRecordsParams'; export * from './exportControllerExportGrowthRecordsParams';
export * from './exportControllerExportStudentStatsParams'; export * from './exportControllerExportStudentStatsParams';
export * from './exportControllerExportTeacherStatsParams'; export * from './exportControllerExportTeacherStatsParams';
export * from './exportGrowthRecordsParams';
export * from './exportLessonsParams';
export * from './findAll1Params'; export * from './findAll1Params';
export * from './findAllItemsParams'; export * from './findAllItemsParams';
export * from './findAllLibrariesParams'; export * from './findAllLibrariesParams';
export * from './finishLessonDto'; export * from './finishLessonDto';
export * from './getActiveTeachersParams'; export * from './getActiveTeachersParams';
export * from './getActiveTenants200';
export * from './getActiveTenants200DataItem';
export * from './getActiveTenantsParams';
export * from './getAllStudentsParams';
export * from './getClassPageParams'; export * from './getClassPageParams';
export * from './getClassStudents1Params';
export * from './getClassStudentsParams';
export * from './getCoursePage1Params'; export * from './getCoursePage1Params';
export * from './getCoursePageParams'; export * from './getCoursePageParams';
export * from './getFeedbacks1Params';
export * from './getFeedbacksParams';
export * from './getGrowthRecordPage1Params'; export * from './getGrowthRecordPage1Params';
export * from './getGrowthRecordPageParams'; export * from './getGrowthRecordPageParams';
export * from './getGrowthRecordsByStudentParams'; export * from './getGrowthRecordsByStudentParams';
export * from './getLessonTrend1Params'; export * from './getLessonTrend1Params';
export * from './getLessonTrendParams'; export * from './getLessonTrendParams';
export * from './getLogListParams';
export * from './getMyLessonsParams'; export * from './getMyLessonsParams';
export * from './getMyNotifications1Params'; export * from './getMyNotifications1Params';
export * from './getMyNotificationsParams'; export * from './getMyNotificationsParams';
export * from './getMyTasksParams';
export * from './getParentPageParams'; export * from './getParentPageParams';
export * from './getPopularCourses200';
export * from './getPopularCourses200DataItem';
export * from './getPopularCoursesParams';
export * from './getRecentActivities1200';
export * from './getRecentActivities1200DataItem';
export * from './getRecentActivities1Params';
export * from './getRecentActivitiesParams'; export * from './getRecentActivitiesParams';
export * from './getRecentGrowthRecordsParams'; export * from './getRecentGrowthRecordsParams';
export * from './getSchedules1Params';
export * from './getSchedulesParams';
export * from './getStudentPageParams'; export * from './getStudentPageParams';
export * from './getTaskPage1Params'; export * from './getTaskPage1Params';
export * from './getTaskPageParams'; export * from './getTaskPageParams';
export * from './getTasksByStudentParams'; export * from './getTasksByStudentParams';
export * from './getTeacherPageParams'; export * from './getTeacherPageParams';
export * from './getTemplates1Params';
export * from './getTemplatesParams';
export * from './getTenantPageParams'; export * from './getTenantPageParams';
export * from './getTimetable1Params';
export * from './getTimetableParams';
export * from './grantRequest';
export * from './growthRecord'; export * from './growthRecord';
export * from './growthRecordCreateRequest'; export * from './growthRecordCreateRequest';
export * from './growthRecordResponse';
export * from './growthRecordUpdateRequest'; export * from './growthRecordUpdateRequest';
export * from './itemCreateRequest'; export * from './itemCreateRequest';
export * from './itemUpdateRequest'; export * from './itemUpdateRequest';
@ -89,6 +124,7 @@ export * from './lessonFeedbackDtoActivitiesDone';
export * from './lessonFeedbackDtoStepFeedbacks'; export * from './lessonFeedbackDtoStepFeedbacks';
export * from './lessonProgressDto'; export * from './lessonProgressDto';
export * from './lessonProgressDtoProgressData'; export * from './lessonProgressDtoProgressData';
export * from './lessonResponse';
export * from './lessonStep'; export * from './lessonStep';
export * from './lessonUpdateRequest'; export * from './lessonUpdateRequest';
export * from './libraryCreateRequest'; export * from './libraryCreateRequest';
@ -98,24 +134,37 @@ export * from './loginDto';
export * from './loginRequest'; export * from './loginRequest';
export * from './loginResponse'; export * from './loginResponse';
export * from './notification'; export * from './notification';
export * from './notificationResponse';
export * from './object'; export * from './object';
export * from './orderItem'; export * from './orderItem';
export * from './packageCreateRequest'; export * from './packageCreateRequest';
export * from './pageCoursePackage'; export * from './pageCoursePackage';
export * from './pageResourceItem'; export * from './pageResourceItem';
export * from './pageResourceLibrary'; export * from './pageResourceLibrary';
export * from './pageResultClassResponse';
export * from './pageResultClazz'; export * from './pageResultClazz';
export * from './pageResultCourse'; export * from './pageResultCourse';
export * from './pageResultCourseResponse';
export * from './pageResultGrowthRecord'; export * from './pageResultGrowthRecord';
export * from './pageResultGrowthRecordResponse';
export * from './pageResultLesson'; export * from './pageResultLesson';
export * from './pageResultLessonResponse';
export * from './pageResultNotification'; export * from './pageResultNotification';
export * from './pageResultNotificationResponse';
export * from './pageResultParent'; export * from './pageResultParent';
export * from './pageResultParentResponse';
export * from './pageResultStudent'; export * from './pageResultStudent';
export * from './pageResultStudentResponse';
export * from './pageResultTask'; export * from './pageResultTask';
export * from './pageResultTaskResponse';
export * from './pageResultTeacher'; export * from './pageResultTeacher';
export * from './pageResultTeacherResponse';
export * from './pageResultTenant'; export * from './pageResultTenant';
export * from './pageResultTenantResponse';
export * from './parent'; export * from './parent';
export * from './parentCreateRequest'; export * from './parentCreateRequest';
export * from './parentResponse';
export * from './parentStudentResponse';
export * from './parentUpdateRequest'; export * from './parentUpdateRequest';
export * from './rejectCourseDto'; export * from './rejectCourseDto';
export * from './rejectCourseDtoChecklist'; export * from './rejectCourseDtoChecklist';
@ -124,24 +173,35 @@ export * from './resetPassword1Params';
export * from './resetPasswordParams'; export * from './resetPasswordParams';
export * from './resourceItem'; export * from './resourceItem';
export * from './resourceLibrary'; export * from './resourceLibrary';
export * from './resultClassResponse';
export * from './resultClazz'; export * from './resultClazz';
export * from './resultCourse'; export * from './resultCourse';
export * from './resultCourseLesson'; export * from './resultCourseLesson';
export * from './resultCoursePackage'; export * from './resultCoursePackage';
export * from './resultCourseResponse';
export * from './resultDto'; export * from './resultDto';
export * from './resultDtoData'; export * from './resultDtoData';
export * from './resultGrowthRecord'; export * from './resultGrowthRecord';
export * from './resultGrowthRecordResponse';
export * from './resultLesson'; export * from './resultLesson';
export * from './resultLessonResponse';
export * from './resultLessonStep'; export * from './resultLessonStep';
export * from './resultListClassResponse';
export * from './resultListClassTeacherResponse';
export * from './resultListClazz'; export * from './resultListClazz';
export * from './resultListCourse'; export * from './resultListCourse';
export * from './resultListCourseLesson'; export * from './resultListCourseLesson';
export * from './resultListCourseResponse';
export * from './resultListGrowthRecord'; export * from './resultListGrowthRecord';
export * from './resultListGrowthRecordResponse';
export * from './resultListLesson'; export * from './resultListLesson';
export * from './resultListLessonResponse';
export * from './resultListLessonStep'; export * from './resultListLessonStep';
export * from './resultListMapStringObject'; export * from './resultListMapStringObject';
export * from './resultListMapStringObjectDataItem'; export * from './resultListMapStringObjectDataItem';
export * from './resultListParentStudentResponse';
export * from './resultListStudent'; export * from './resultListStudent';
export * from './resultListStudentResponse';
export * from './resultListTenantPackage'; export * from './resultListTenantPackage';
export * from './resultListTenantResponse'; export * from './resultListTenantResponse';
export * from './resultListTheme'; export * from './resultListTheme';
@ -150,27 +210,46 @@ export * from './resultLong';
export * from './resultMapStringObject'; export * from './resultMapStringObject';
export * from './resultMapStringObjectData'; export * from './resultMapStringObjectData';
export * from './resultNotification'; export * from './resultNotification';
export * from './resultNotificationResponse';
export * from './resultObject';
export * from './resultObjectData';
export * from './resultPageCoursePackage'; export * from './resultPageCoursePackage';
export * from './resultPageResourceItem'; export * from './resultPageResourceItem';
export * from './resultPageResourceLibrary'; export * from './resultPageResourceLibrary';
export * from './resultPageResultClassResponse';
export * from './resultPageResultClazz'; export * from './resultPageResultClazz';
export * from './resultPageResultCourse'; export * from './resultPageResultCourse';
export * from './resultPageResultCourseResponse';
export * from './resultPageResultGrowthRecord'; export * from './resultPageResultGrowthRecord';
export * from './resultPageResultGrowthRecordResponse';
export * from './resultPageResultLesson'; export * from './resultPageResultLesson';
export * from './resultPageResultLessonResponse';
export * from './resultPageResultNotification'; export * from './resultPageResultNotification';
export * from './resultPageResultNotificationResponse';
export * from './resultPageResultParent'; export * from './resultPageResultParent';
export * from './resultPageResultParentResponse';
export * from './resultPageResultStudent'; export * from './resultPageResultStudent';
export * from './resultPageResultStudentResponse';
export * from './resultPageResultTask'; export * from './resultPageResultTask';
export * from './resultPageResultTaskResponse';
export * from './resultPageResultTeacher'; export * from './resultPageResultTeacher';
export * from './resultPageResultTeacherResponse';
export * from './resultPageResultTenant'; export * from './resultPageResultTenant';
export * from './resultPageResultTenantResponse';
export * from './resultParent'; export * from './resultParent';
export * from './resultParentResponse';
export * from './resultResourceItem'; export * from './resultResourceItem';
export * from './resultResourceLibrary'; export * from './resultResourceLibrary';
export * from './resultStudent'; export * from './resultStudent';
export * from './resultStudentResponse';
export * from './resultTask'; export * from './resultTask';
export * from './resultTaskResponse';
export * from './resultTeacher'; export * from './resultTeacher';
export * from './resultTeacherResponse';
export * from './resultTenant'; export * from './resultTenant';
export * from './resultTenantResponse';
export * from './resultTheme'; export * from './resultTheme';
export * from './resultTokenResponse';
export * from './resultUserInfoResponse'; export * from './resultUserInfoResponse';
export * from './resultVoid'; export * from './resultVoid';
export * from './resultVoidData'; export * from './resultVoidData';
@ -186,10 +265,12 @@ export * from './stepCreateRequest';
export * from './student'; export * from './student';
export * from './studentCreateRequest'; export * from './studentCreateRequest';
export * from './studentRecordDto'; export * from './studentRecordDto';
export * from './studentResponse';
export * from './studentUpdateRequest'; export * from './studentUpdateRequest';
export * from './submitCourseDto'; export * from './submitCourseDto';
export * from './task'; export * from './task';
export * from './taskCreateRequest'; export * from './taskCreateRequest';
export * from './taskResponse';
export * from './taskUpdateRequest'; export * from './taskUpdateRequest';
export * from './teacher'; export * from './teacher';
export * from './teacherCourseControllerFindAllParams'; export * from './teacherCourseControllerFindAllParams';
@ -200,6 +281,7 @@ export * from './teacherCourseControllerGetTeacherSchedulesParams';
export * from './teacherCourseControllerGetTeacherTimetableParams'; export * from './teacherCourseControllerGetTeacherTimetableParams';
export * from './teacherCreateRequest'; export * from './teacherCreateRequest';
export * from './teacherFeedbackControllerFindAllParams'; export * from './teacherFeedbackControllerFindAllParams';
export * from './teacherResponse';
export * from './teacherTaskControllerGetMonthlyStatsParams'; export * from './teacherTaskControllerGetMonthlyStatsParams';
export * from './teacherUpdateRequest'; export * from './teacherUpdateRequest';
export * from './tenant'; export * from './tenant';
@ -212,25 +294,42 @@ export * from './tenantResponse';
export * from './tenantUpdateRequest'; export * from './tenantUpdateRequest';
export * from './theme'; export * from './theme';
export * from './themeCreateRequest'; export * from './themeCreateRequest';
export * from './tokenResponse';
export * from './transferStudentDto'; export * from './transferStudentDto';
export * from './updateBasicSettings1Body';
export * from './updateBasicSettingsBody';
export * from './updateClassDto'; export * from './updateClassDto';
export * from './updateClassTeacherBody';
export * from './updateClassTeacherDto'; export * from './updateClassTeacherDto';
export * from './updateCompletionDto'; export * from './updateCompletionDto';
export * from './updateGrowthRecordDto'; export * from './updateGrowthRecordDto';
export * from './updateLessonDto'; export * from './updateLessonDto';
export * from './updateLibraryDto'; export * from './updateLibraryDto';
export * from './updateNotificationSettings1Body';
export * from './updateNotificationSettingsBody';
export * from './updateResourceItemDto'; export * from './updateResourceItemDto';
export * from './updateSchedule1Body';
export * from './updateScheduleBody';
export * from './updateScheduleDto'; export * from './updateScheduleDto';
export * from './updateSchoolCourseDto'; export * from './updateSchoolCourseDto';
export * from './updateSecuritySettings1Body';
export * from './updateSecuritySettingsBody';
export * from './updateSettings1Body';
export * from './updateSettingsBody';
export * from './updateStorageSettingsBody';
export * from './updateStudentDto'; export * from './updateStudentDto';
export * from './updateTaskDto'; export * from './updateTaskDto';
export * from './updateTaskTemplateDto'; export * from './updateTaskTemplateDto';
export * from './updateTeacherDto'; export * from './updateTeacherDto';
export * from './updateTemplate1Body';
export * from './updateTemplateBody';
export * from './updateTenantDto'; export * from './updateTenantDto';
export * from './updateTenantDtoPackageType'; export * from './updateTenantDtoPackageType';
export * from './updateTenantDtoStatus'; export * from './updateTenantDtoStatus';
export * from './updateTenantQuotaBody';
export * from './updateTenantQuotaDto'; export * from './updateTenantQuotaDto';
export * from './updateTenantQuotaDtoPackageType'; export * from './updateTenantQuotaDtoPackageType';
export * from './updateTenantStatusBody';
export * from './updateTenantStatusDto'; export * from './updateTenantStatusDto';
export * from './updateTenantStatusDtoStatus'; export * from './updateTenantStatusDtoStatus';
export * from './uploadFileBody'; export * from './uploadFileBody';

View File

@ -7,20 +7,38 @@
*/ */
import type { LocalTime } from './localTime'; import type { LocalTime } from './localTime';
/**
*
*/
export interface Lesson { export interface Lesson {
/** 主键 ID */
id?: number; id?: number;
/** 创建人 */
createBy?: string;
/** 创建时间 */
createdAt?: string;
/** 更新人 */
updateBy?: string;
/** 更新时间 */
updatedAt?: string;
/** 租户 ID */
tenantId?: number; tenantId?: number;
/** 课程 ID */
courseId?: number; courseId?: number;
/** 班级 ID */
classId?: number; classId?: number;
/** 教师 ID */
teacherId?: number; teacherId?: number;
/** 课程标题 */
title?: string; title?: string;
/** 上课日期 */
lessonDate?: string; lessonDate?: string;
startTime?: LocalTime; startTime?: LocalTime;
endTime?: LocalTime; endTime?: LocalTime;
/** 上课地点 */
location?: string; location?: string;
/** 状态 */
status?: string; status?: string;
/** 备注 */
notes?: string; notes?: string;
createdAt?: string;
updatedAt?: string;
deleted?: number;
} }

View File

@ -8,23 +8,23 @@
import type { LocalTime } from './localTime'; import type { LocalTime } from './localTime';
/** /**
* Lesson Create Request *
*/ */
export interface LessonCreateRequest { export interface LessonCreateRequest {
/** Course ID */ /** 课程 ID */
courseId: number; courseId: number;
/** Class ID */ /** 班级 ID */
classId?: number; classId?: number;
/** Teacher ID */ /** 教师 ID */
teacherId: number; teacherId: number;
/** Lesson title */ /** 课时标题 */
title: string; title: string;
/** Lesson date */ /** 课时日期 */
lessonDate: string; lessonDate: string;
startTime?: LocalTime; startTime?: LocalTime;
endTime?: LocalTime; endTime?: LocalTime;
/** Location */ /** 地点 */
location?: string; location?: string;
/** Notes */ /** 备注 */
notes?: string; notes?: string;
} }

View File

@ -0,0 +1,40 @@
/**
* Generated by orval v8.5.3 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation
* OpenAPI spec version: 1.0.0
*/
import type { LocalTime } from './localTime';
/**
*
*/
export interface LessonResponse {
/** ID */
id?: number;
/** 租户 ID */
tenantId?: number;
/** 课程 ID */
courseId?: number;
/** 班级 ID */
classId?: number;
/** 教师 ID */
teacherId?: number;
/** 标题 */
title?: string;
/** 课时日期 */
lessonDate?: string;
startTime?: LocalTime;
endTime?: LocalTime;
/** 地点 */
location?: string;
/** 状态 */
status?: string;
/** 备注 */
notes?: string;
/** 创建时间 */
createdAt?: string;
/** 更新时间 */
updatedAt?: string;
}

View File

@ -6,15 +6,32 @@
* OpenAPI spec version: 1.0.0 * OpenAPI spec version: 1.0.0
*/ */
/**
*
*/
export interface LessonStep { export interface LessonStep {
/** 主键 ID */
id?: number; id?: number;
lessonId?: number; /** 创建人 */
name?: string; createBy?: string;
content?: string; /** 创建时间 */
duration?: number;
objective?: string;
resourceIds?: string;
sortOrder?: number;
createdAt?: string; createdAt?: string;
/** 更新人 */
updateBy?: string;
/** 更新时间 */
updatedAt?: string; updatedAt?: string;
/** 课程环节 ID */
lessonId?: number;
/** 环节名称 */
name?: string;
/** 环节内容 */
content?: string;
/** 时长(分钟) */
duration?: number;
/** 教学目标 */
objective?: string;
/** 资源 ID 列表JSON 数组) */
resourceIds?: string;
/** 排序号 */
sortOrder?: number;
} }

View File

@ -8,19 +8,19 @@
import type { LocalTime } from './localTime'; import type { LocalTime } from './localTime';
/** /**
* Lesson Update Request *
*/ */
export interface LessonUpdateRequest { export interface LessonUpdateRequest {
/** Lesson title */ /** 课时标题 */
title?: string; title?: string;
/** Lesson date */ /** 课时日期 */
lessonDate?: string; lessonDate?: string;
startTime?: LocalTime; startTime?: LocalTime;
endTime?: LocalTime; endTime?: LocalTime;
/** Location */ /** 地点 */
location?: string; location?: string;
/** Status */ /** 状态 */
status?: string; status?: string;
/** Notes */ /** 备注 */
notes?: string; notes?: string;
} }

View File

@ -7,7 +7,7 @@
*/ */
/** /**
* End time *
*/ */
export interface LocalTime { export interface LocalTime {
hour?: number; hour?: number;

View File

@ -7,13 +7,13 @@
*/ */
/** /**
* Login Request *
*/ */
export interface LoginRequest { export interface LoginRequest {
/** Username */ /** 用户名 */
username: string; username: string;
/** Password */ /** 密码 */
password: string; password: string;
/** Login role */ /** 登录角色 */
role?: string; role?: string;
} }

View File

@ -7,19 +7,19 @@
*/ */
/** /**
* Login Response *
*/ */
export interface LoginResponse { export interface LoginResponse {
/** JWT Token */ /** JWT Token */
token?: string; token?: string;
/** User ID */ /** 用户 ID */
userId?: number; userId?: number;
/** Username */ /** 用户名 */
username?: string; username?: string;
/** User name */ /** 姓名 */
name?: string; name?: string;
/** User role */ /** 用户角色 */
role?: string; role?: string;
/** Tenant ID */ /** 租户 ID */
tenantId?: number; tenantId?: number;
} }

View File

@ -6,18 +6,38 @@
* OpenAPI spec version: 1.0.0 * OpenAPI spec version: 1.0.0
*/ */
/**
*
*/
export interface Notification { export interface Notification {
/** 主键 ID */
id?: number; id?: number;
tenantId?: number; /** 创建人 */
title?: string; createBy?: string;
content?: string; /** 创建时间 */
type?: string;
senderId?: number;
senderRole?: string;
recipientType?: string;
recipientId?: number;
isRead?: number;
readAt?: string;
createdAt?: string; createdAt?: string;
deleted?: number; /** 更新人 */
updateBy?: string;
/** 更新时间 */
updatedAt?: string;
/** 租户 ID */
tenantId?: number;
/** 通知标题 */
title?: string;
/** 通知内容 */
content?: string;
/** 通知类型 */
type?: string;
/** 发送人 ID */
senderId?: number;
/** 发送人角色 */
senderRole?: string;
/** 接收人类型 */
recipientType?: string;
/** 接收人 ID */
recipientId?: number;
/** 是否已读 */
isRead?: number;
/** 阅读时间 */
readAt?: string;
} }

View File

@ -0,0 +1,37 @@
/**
* Generated by orval v8.5.3 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation
* OpenAPI spec version: 1.0.0
*/
/**
*
*/
export interface NotificationResponse {
/** ID */
id?: number;
/** 租户 ID */
tenantId?: number;
/** 标题 */
title?: string;
/** 内容 */
content?: string;
/** 类型 */
type?: string;
/** 发送人 ID */
senderId?: number;
/** 发送人角色 */
senderRole?: string;
/** 接收者类型 */
recipientType?: string;
/** 接收者 ID */
recipientId?: number;
/** 是否已读 */
isRead?: number;
/** 阅读时间 */
readAt?: string;
/** 创建时间 */
createdAt?: string;
}

View File

@ -7,7 +7,7 @@
*/ */
/** /**
* *
*/ */
export interface PackageCreateRequest { export interface PackageCreateRequest {
/** 套餐名称 */ /** 套餐名称 */

View File

@ -0,0 +1,16 @@
/**
* Generated by orval v8.5.3 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation
* OpenAPI spec version: 1.0.0
*/
import type { ClassResponse } from './classResponse';
export interface PageResultClassResponse {
list?: ClassResponse[];
total?: number;
pageNum?: number;
pageSize?: number;
pages?: number;
}

View File

@ -0,0 +1,16 @@
/**
* Generated by orval v8.5.3 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation
* OpenAPI spec version: 1.0.0
*/
import type { CourseResponse } from './courseResponse';
export interface PageResultCourseResponse {
list?: CourseResponse[];
total?: number;
pageNum?: number;
pageSize?: number;
pages?: number;
}

View File

@ -0,0 +1,16 @@
/**
* Generated by orval v8.5.3 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation
* OpenAPI spec version: 1.0.0
*/
import type { GrowthRecordResponse } from './growthRecordResponse';
export interface PageResultGrowthRecordResponse {
list?: GrowthRecordResponse[];
total?: number;
pageNum?: number;
pageSize?: number;
pages?: number;
}

View File

@ -0,0 +1,16 @@
/**
* Generated by orval v8.5.3 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation
* OpenAPI spec version: 1.0.0
*/
import type { LessonResponse } from './lessonResponse';
export interface PageResultLessonResponse {
list?: LessonResponse[];
total?: number;
pageNum?: number;
pageSize?: number;
pages?: number;
}

View File

@ -0,0 +1,16 @@
/**
* Generated by orval v8.5.3 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation
* OpenAPI spec version: 1.0.0
*/
import type { NotificationResponse } from './notificationResponse';
export interface PageResultNotificationResponse {
list?: NotificationResponse[];
total?: number;
pageNum?: number;
pageSize?: number;
pages?: number;
}

View File

@ -0,0 +1,16 @@
/**
* Generated by orval v8.5.3 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation
* OpenAPI spec version: 1.0.0
*/
import type { ParentResponse } from './parentResponse';
export interface PageResultParentResponse {
list?: ParentResponse[];
total?: number;
pageNum?: number;
pageSize?: number;
pages?: number;
}

View File

@ -0,0 +1,16 @@
/**
* Generated by orval v8.5.3 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation
* OpenAPI spec version: 1.0.0
*/
import type { StudentResponse } from './studentResponse';
export interface PageResultStudentResponse {
list?: StudentResponse[];
total?: number;
pageNum?: number;
pageSize?: number;
pages?: number;
}

View File

@ -0,0 +1,16 @@
/**
* Generated by orval v8.5.3 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation
* OpenAPI spec version: 1.0.0
*/
import type { TaskResponse } from './taskResponse';
export interface PageResultTaskResponse {
list?: TaskResponse[];
total?: number;
pageNum?: number;
pageSize?: number;
pages?: number;
}

View File

@ -0,0 +1,16 @@
/**
* Generated by orval v8.5.3 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation
* OpenAPI spec version: 1.0.0
*/
import type { TeacherResponse } from './teacherResponse';
export interface PageResultTeacherResponse {
list?: TeacherResponse[];
total?: number;
pageNum?: number;
pageSize?: number;
pages?: number;
}

View File

@ -0,0 +1,16 @@
/**
* Generated by orval v8.5.3 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation
* OpenAPI spec version: 1.0.0
*/
import type { TenantResponse } from './tenantResponse';
export interface PageResultTenantResponse {
list?: TenantResponse[];
total?: number;
pageNum?: number;
pageSize?: number;
pages?: number;
}

View File

@ -7,19 +7,19 @@
*/ */
/** /**
* Parent Create Request *
*/ */
export interface ParentCreateRequest { export interface ParentCreateRequest {
/** Username */ /** 用户名 */
username: string; username: string;
/** Password */ /** 密码 */
password: string; password: string;
/** Name */ /** 姓名 */
name: string; name: string;
/** Phone */ /** 电话 */
phone?: string; phone?: string;
/** Email */ /** 邮箱 */
email?: string; email?: string;
/** Gender */ /** 性别 */
gender?: string; gender?: string;
} }

View File

@ -0,0 +1,37 @@
/**
* Generated by orval v8.5.3 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation
* OpenAPI spec version: 1.0.0
*/
/**
*
*/
export interface ParentResponse {
/** ID */
id?: number;
/** 租户 ID */
tenantId?: number;
/** 用户名 */
username?: string;
/** 姓名 */
name?: string;
/** 电话 */
phone?: string;
/** 邮箱 */
email?: string;
/** 头像 URL */
avatarUrl?: string;
/** 性别 */
gender?: string;
/** 状态 */
status?: string;
/** 最后登录时间 */
lastLoginAt?: string;
/** 创建时间 */
createdAt?: string;
/** 更新时间 */
updatedAt?: string;
}

View File

@ -0,0 +1,25 @@
/**
* Generated by orval v8.5.3 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation
* OpenAPI spec version: 1.0.0
*/
/**
*
*/
export interface ParentStudentResponse {
/** ID */
id?: number;
/** 家长 ID */
parentId?: number;
/** 学生 ID */
studentId?: number;
/** 关系 */
relationship?: string;
/** 是否主要监护人 */
isPrimary?: number;
/** 创建时间 */
createdAt?: string;
}

View File

@ -7,19 +7,19 @@
*/ */
/** /**
* Parent Update Request *
*/ */
export interface ParentUpdateRequest { export interface ParentUpdateRequest {
/** Name */ /** 姓名 */
name?: string; name?: string;
/** Phone */ /** 电话 */
phone?: string; phone?: string;
/** Email */ /** 邮箱 */
email?: string; email?: string;
/** Avatar URL */ /** 头像 URL */
avatarUrl?: string; avatarUrl?: string;
/** Gender */ /** 性别 */
gender?: string; gender?: string;
/** Status */ /** 状态 */
status?: string; status?: string;
} }

View File

@ -6,21 +6,38 @@
* OpenAPI spec version: 1.0.0 * OpenAPI spec version: 1.0.0
*/ */
/**
*
*/
export interface ResourceItem { export interface ResourceItem {
id?: string; /** 主键 ID */
libraryId?: string; id?: number;
tenantId?: string; /** 创建人 */
type?: string; createBy?: string;
name?: string; /** 创建时间 */
code?: string;
description?: string;
quantity?: number;
availableQuantity?: number;
location?: string;
status?: string;
createdAt?: string; createdAt?: string;
/** 更新人 */
updateBy?: string;
/** 更新时间 */
updatedAt?: string; updatedAt?: string;
deleted?: number; /** 资源库 ID */
createdBy?: string; libraryId?: string;
updatedBy?: string; /** 租户 ID */
tenantId?: string;
/** 资源类型 */
type?: string;
/** 资源名称 */
name?: string;
/** 资源编码 */
code?: string;
/** 资源描述 */
description?: string;
/** 数量 */
quantity?: number;
/** 可用数量 */
availableQuantity?: number;
/** 存放位置 */
location?: string;
/** 状态 */
status?: string;
} }

View File

@ -6,15 +6,26 @@
* OpenAPI spec version: 1.0.0 * OpenAPI spec version: 1.0.0
*/ */
/**
*
*/
export interface ResourceLibrary { export interface ResourceLibrary {
id?: string; /** 主键 ID */
tenantId?: string; id?: number;
name?: string; /** 创建人 */
description?: string; createBy?: string;
type?: string; /** 创建时间 */
createdAt?: string; createdAt?: string;
/** 更新人 */
updateBy?: string;
/** 更新时间 */
updatedAt?: string; updatedAt?: string;
deleted?: number; /** 租户 ID */
createdBy?: string; tenantId?: string;
updatedBy?: string; /** 资源库名称 */
name?: string;
/** 资源库描述 */
description?: string;
/** 资源库类型 */
type?: string;
} }

View File

@ -0,0 +1,14 @@
/**
* Generated by orval v8.5.3 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation
* OpenAPI spec version: 1.0.0
*/
import type { ClassResponse } from './classResponse';
export interface ResultClassResponse {
code?: number;
message?: string;
data?: ClassResponse;
}

View File

@ -0,0 +1,14 @@
/**
* Generated by orval v8.5.3 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation
* OpenAPI spec version: 1.0.0
*/
import type { CourseResponse } from './courseResponse';
export interface ResultCourseResponse {
code?: number;
message?: string;
data?: CourseResponse;
}

View File

@ -0,0 +1,14 @@
/**
* Generated by orval v8.5.3 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation
* OpenAPI spec version: 1.0.0
*/
import type { GrowthRecordResponse } from './growthRecordResponse';
export interface ResultGrowthRecordResponse {
code?: number;
message?: string;
data?: GrowthRecordResponse;
}

View File

@ -0,0 +1,14 @@
/**
* Generated by orval v8.5.3 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation
* OpenAPI spec version: 1.0.0
*/
import type { LessonResponse } from './lessonResponse';
export interface ResultLessonResponse {
code?: number;
message?: string;
data?: LessonResponse;
}

View File

@ -0,0 +1,14 @@
/**
* Generated by orval v8.5.3 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation
* OpenAPI spec version: 1.0.0
*/
import type { ClassResponse } from './classResponse';
export interface ResultListClassResponse {
code?: number;
message?: string;
data?: ClassResponse[];
}

View File

@ -0,0 +1,14 @@
/**
* Generated by orval v8.5.3 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation
* OpenAPI spec version: 1.0.0
*/
import type { ClassTeacherResponse } from './classTeacherResponse';
export interface ResultListClassTeacherResponse {
code?: number;
message?: string;
data?: ClassTeacherResponse[];
}

View File

@ -0,0 +1,14 @@
/**
* Generated by orval v8.5.3 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation
* OpenAPI spec version: 1.0.0
*/
import type { CourseResponse } from './courseResponse';
export interface ResultListCourseResponse {
code?: number;
message?: string;
data?: CourseResponse[];
}

View File

@ -0,0 +1,14 @@
/**
* Generated by orval v8.5.3 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation
* OpenAPI spec version: 1.0.0
*/
import type { GrowthRecordResponse } from './growthRecordResponse';
export interface ResultListGrowthRecordResponse {
code?: number;
message?: string;
data?: GrowthRecordResponse[];
}

View File

@ -0,0 +1,14 @@
/**
* Generated by orval v8.5.3 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation
* OpenAPI spec version: 1.0.0
*/
import type { LessonResponse } from './lessonResponse';
export interface ResultListLessonResponse {
code?: number;
message?: string;
data?: LessonResponse[];
}

View File

@ -0,0 +1,14 @@
/**
* Generated by orval v8.5.3 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation
* OpenAPI spec version: 1.0.0
*/
import type { ParentStudentResponse } from './parentStudentResponse';
export interface ResultListParentStudentResponse {
code?: number;
message?: string;
data?: ParentStudentResponse[];
}

View File

@ -0,0 +1,14 @@
/**
* Generated by orval v8.5.3 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation
* OpenAPI spec version: 1.0.0
*/
import type { StudentResponse } from './studentResponse';
export interface ResultListStudentResponse {
code?: number;
message?: string;
data?: StudentResponse[];
}

View File

@ -0,0 +1,14 @@
/**
* Generated by orval v8.5.3 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation
* OpenAPI spec version: 1.0.0
*/
import type { NotificationResponse } from './notificationResponse';
export interface ResultNotificationResponse {
code?: number;
message?: string;
data?: NotificationResponse;
}

View File

@ -0,0 +1,14 @@
/**
* Generated by orval v8.5.3 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation
* OpenAPI spec version: 1.0.0
*/
import type { ResultObjectData } from './resultObjectData';
export interface ResultObject {
code?: number;
message?: string;
data?: ResultObjectData;
}

View File

@ -0,0 +1,9 @@
/**
* Generated by orval v8.5.3 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation
* OpenAPI spec version: 1.0.0
*/
export type ResultObjectData = { [key: string]: unknown };

View File

@ -0,0 +1,14 @@
/**
* Generated by orval v8.5.3 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation
* OpenAPI spec version: 1.0.0
*/
import type { PageResultClassResponse } from './pageResultClassResponse';
export interface ResultPageResultClassResponse {
code?: number;
message?: string;
data?: PageResultClassResponse;
}

View File

@ -0,0 +1,14 @@
/**
* Generated by orval v8.5.3 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation
* OpenAPI spec version: 1.0.0
*/
import type { PageResultCourseResponse } from './pageResultCourseResponse';
export interface ResultPageResultCourseResponse {
code?: number;
message?: string;
data?: PageResultCourseResponse;
}

View File

@ -0,0 +1,14 @@
/**
* Generated by orval v8.5.3 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation
* OpenAPI spec version: 1.0.0
*/
import type { PageResultGrowthRecordResponse } from './pageResultGrowthRecordResponse';
export interface ResultPageResultGrowthRecordResponse {
code?: number;
message?: string;
data?: PageResultGrowthRecordResponse;
}

Some files were not shown because too many files have changed in this diff Show More