From 3c34f8356fc6591f787d1b113011295bf4a4c2ff Mon Sep 17 00:00:00 2001 From: unknown <18119604035@163.com> Date: Fri, 4 Aug 2023 16:03:03 +0800 Subject: [PATCH] =?UTF-8?q?=E6=95=B0=E6=8D=AE=E7=BB=93=E6=9E=84=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0interface?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/course/index.tsx | 56 +++----------------------------- src/pages/course/video.tsx | 39 +--------------------- src/pages/index/index.tsx | 27 +-------------- src/pages/latest-learn/index.tsx | 33 ++----------------- src/playedu.d.ts | 53 ++++++++++++++++++++++++++++++ 5 files changed, 62 insertions(+), 146 deletions(-) create mode 100644 src/playedu.d.ts diff --git a/src/pages/course/index.tsx b/src/pages/course/index.tsx index c0f3cac..12dcb0f 100644 --- a/src/pages/course/index.tsx +++ b/src/pages/course/index.tsx @@ -13,18 +13,6 @@ type TabModel = { label: string; }; -type CourseModel = { - charge: number; - class_hour: number; - created_at: string; - id: number; - is_required: number; - is_show: number; - short_desc: string; - thumb: string; - title: string; -}; - type AttachModel = { id: number; course_id: number; @@ -39,17 +27,6 @@ type HoursModel = { [key: number]: HourModel[]; }; -type HourModel = { - chapter_id: number; - course_id: number; - duration: number; - id: number; - rid: number; - sort: number; - title: string; - type: string; -}; - type ChapterModel = { course_id: number; created_at: string; @@ -60,34 +37,7 @@ type ChapterModel = { }; type LearnHourRecordsModel = { - [key: number]: HourRecordsModel; -}; - -type HourRecordsModel = { - course_id: number; - created_at: string; - finished_at?: string; - finished_duration: number; - hour_id: number; - id: number; - is_finished: number; - real_duration: number; - total_duration: number; - updated_at: string; - user_id: number; -}; - -type LearnRecordModel = { - course_id: number; - created_at: string; - finished_at?: string; - finished_count: number; - hour_count: number; - id: number; - is_finished: number; - progress: number; - updated_at: string; - user_id: number; + [key: number]: HourRecordModel; }; const CoursePage = () => { @@ -98,7 +48,9 @@ const CoursePage = () => { const [course, setCourse] = useState(null); const [chapters, setChapters] = useState([]); const [hours, setHours] = useState({}); - const [learnRecord, setLearnRecord] = useState(null); + const [learnRecord, setLearnRecord] = useState( + null + ); const [learnHourRecord, setLearnHourRecord] = useState( {} ); diff --git a/src/pages/course/video.tsx b/src/pages/course/video.tsx index 2d03cf9..c49117b 100644 --- a/src/pages/course/video.tsx +++ b/src/pages/course/video.tsx @@ -8,43 +8,6 @@ import { message } from "antd"; declare const window: any; -type HourModel = { - chapter_id: number; - course_id: number; - duration: number; - id: number; - rid: number; - sort: number; - title: string; - type: string; -}; - -type CourseModel = { - charge: number; - class_hour: number; - created_at: string; - id: number; - is_required: number; - is_show: number; - short_desc: string; - thumb: string; - title: string; -}; - -type UserHourRecordModel = { - course_id: number; - created_at: string; - finished_at?: string; - finished_duration: number; - hour_id: number; - id: number; - is_finished: number; - real_duration: number; - total_duration: number; - updated_at: string; - user_id: number; -}; - const CoursePalyPage = () => { const navigate = useNavigate(); const params = useParams(); @@ -134,7 +97,7 @@ const CoursePalyPage = () => { setCourse(res.data.course); setHour(res.data.hour); document.title = res.data.hour.title; - let record: UserHourRecordModel = res.data.user_hour_record; + let record: HourRecordModel = res.data.user_hour_record; let params = null; if (record && record.finished_duration && record.is_finished === 0) { params = { diff --git a/src/pages/index/index.tsx b/src/pages/index/index.tsx index b66407f..1c9548e 100644 --- a/src/pages/index/index.tsx +++ b/src/pages/index/index.tsx @@ -11,18 +11,6 @@ import studyTime from "../../assets/images/commen/icon-studytime.png"; import iconRoute from "../../assets/images/commen/icon-route.png"; import { studyTimeFormat } from "../../utils/index"; -type CourseModel = { - id: number; - class_hour: number; - charge: number; - is_show: number; - is_required: number; - title: string; - thumb: string; - short_desc: string; - created_at: string; -}; - type StatsModel = { learn_duration: number; nun_required_course_count: number; @@ -37,20 +25,7 @@ type StatsModel = { }; type LearnCourseRecordsModel = { - [key: number]: CourseRecordsModel; -}; - -type CourseRecordsModel = { - course_id: number; - created_at: string; - finished_at: string | null; - finished_count: number; - hour_count: number; - id: number; - is_finished: number; - progress: number; - updated_at: string; - user_id: number; + [key: number]: CourseRecordModel; }; type CategoryModel = { diff --git a/src/pages/latest-learn/index.tsx b/src/pages/latest-learn/index.tsx index 5648d56..db3328b 100644 --- a/src/pages/latest-learn/index.tsx +++ b/src/pages/latest-learn/index.tsx @@ -12,13 +12,13 @@ type LastLearnModel = { }; type LearnModel = { - course: CourseModel; + course: LastCourseModel; hour_record: HourRecordModel; last_learn_hour: LastHourModel; - record: RecordModel; + record: CourseRecordModel; }; -type CourseModel = { +type LastCourseModel = { charge?: number; class_hour: number; created_at?: string; @@ -30,20 +30,6 @@ type CourseModel = { title: string; }; -type HourRecordModel = { - course_id: number; - created_at: string; - finished_at: string; - finished_duration: number; - hour_id: number; - id: number; - is_finished: number; - real_duration: number; - total_duration: number; - updated_at: string; - user_id: number; -}; - type LastHourModel = { chapter_id: number; course_id: number; @@ -55,19 +41,6 @@ type LastHourModel = { type: string; }; -type RecordModel = { - course_id: number; - created_at: string; - finished_at?: string; - finished_count: number; - hour_count: number; - id: number; - is_finished: number; - progress: number; - updated_at: string; - user_id: number; -}; - const LatestLearnPage = () => { document.title = "最近学习"; const navigate = useNavigate(); diff --git a/src/playedu.d.ts b/src/playedu.d.ts new file mode 100644 index 0000000..b69bf2c --- /dev/null +++ b/src/playedu.d.ts @@ -0,0 +1,53 @@ +declare global { + interface CourseModel { + charge: number; + class_hour: number; + created_at: string; + id: number; + is_required: number; + is_show: number; + short_desc: string; + thumb: string; + title: string; + } + + interface HourModel { + chapter_id: number; + course_id: number; + duration: number; + id: number; + rid: number; + sort: number; + title: string; + type: string; + } + + interface HourRecordModel { + course_id: number; + created_at: string; + finished_at?: string; + finished_duration: number; + hour_id: number; + id: number; + is_finished: number; + real_duration: number; + total_duration: number; + updated_at: string; + user_id: number; + } + + interface CourseRecordModel { + course_id: number; + created_at: string; + finished_at?: string; + finished_count: number; + hour_count: number; + id: number; + is_finished: number; + progress: number; + updated_at: string; + user_id: number; + } +} + +export {};