/** * 课程资源类型 * @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 }