/** 课程划分部门 和 必修 */
interface CurDepInfo {
  dep_id: number
  is_required: 0 | 1
}

interface Curriculum {
  id: number;
  title: string;
  charge: number;
  /** 课时 */
  class_hour: number;
  created_at: string;
  is_required: number;
  is_show: number;
  /** 描述 */
  short_desc: string;
  /** 课程封面 */
  thumb: string;
  /** 时间 */
  course_duration: number
  data: CurDepInfo[]

  [key: string]: any
}

/** 课程信息 */
interface Deparments {
  id: number
  /** 公司id */
  company_id: number
  name: string
  parent_chain: string
  parent_id: number
  sort: number
  users: unknown
}

/** 学习记录 */
interface Hour {
  id: number
  sort: number
  /** 课程视频名称 */
  title: string
  type: string
  /** 视频id */
  rid: number
  /** 视频时长 */
  duration: number
  /** 课程id */
  course_id: number;
  /** 章节id */
  chapter_id: number
  /** 0未完成 1已完成 */
  courseHourRecordsFinish: 0 | 1
}

type Hours = Record<number, Hour[]>

/** 章节 */
interface Chapters {
  id: number
  course_id: number
  name: string
  sort: number
}

/** 视频播放记录 */
interface LearnHourRecord {
  course_id: number
  /** 完成时间 */
  finished_duration: number
  /** 课时id */
  hour_id: number
  id: number
  /** 是否完成 */
  is_finished: number
  real_duration: number
  total_duration: number
  user_id: 17
}

interface LearnHourRecords extends Hour {
  courseHourRecords: LearnHourRecord
}


/** 课程学习情况 */
interface LearnRecord {
  id: number
  course_id: number
  finished_count: number
  hour_count: number
  is_finished: number
  progress: number
  user_id: number
}

/** 学习记录 */
interface HourCacheParam {
  courseId: number
  /** 视频学习时长 */
  duration: number;
  /** 课时结束学习时间 */
  end_date: number;
  hour_id: number;
  /** 课时开始学习时间 */
  start_date: number;
  unique_ident: number
}


interface Pages {
  page: number
  page_size: number
}
