/** * 课程资源类型 * @enum {string} */ export type CourseResourceType = | "video" | "image" | "doc" | "ppt" | "resource" | "temp"; /** * 课程资源 * @interface */ export interface IResource { id: number; resourceName: string; resourceSize: number; resourceType: CourseResourceType; resourceUrl: string; allowDownload: boolean; isRepo: boolean; ownerId: number; } export type ICreateResource = Omit; /** * 课程小节 * @interface * @property {string} id - 章节的唯一标识符 * @property {string} title - 章节的标题 * @property {ICourseResource[]} resources - 章节中的资源数组 */ export interface ICourseSection { id: number; title: string; resources: IResource[]; } /** * 课程章节 * @interface * @property {string} id - 章节的唯一标识符 * @property {string} title - 章节的标题 * @property {boolean} is_published - 指示章节是否已发布 * @property {ICourseSection[]} sections - 章节中的小节数组 * @property {[]} [detections] - 待定。 */ export interface ICourseChapter { id: number; title: string; isPublished: boolean; sections: ICourseSection[]; detections?: []; } /** * 课程 * @interface */ export interface ICourse { id: number; courseName: string; profile: string; previewUrl: string | null; schoolName: string; teacherName: string; semester: string; status: number; created_at: Date; updated_at: Date; remark: string | null; }