mirror of
https://github.com/PlayEdu/frontend.git
synced 2025-06-06 15:34:10 +08:00
数据结构添加interface
This commit is contained in:
parent
9d12bf1c0d
commit
3c34f8356f
@ -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<CourseModel | null>(null);
|
||||
const [chapters, setChapters] = useState<ChapterModel[]>([]);
|
||||
const [hours, setHours] = useState<HoursModel>({});
|
||||
const [learnRecord, setLearnRecord] = useState<LearnRecordModel | null>(null);
|
||||
const [learnRecord, setLearnRecord] = useState<CourseRecordModel | null>(
|
||||
null
|
||||
);
|
||||
const [learnHourRecord, setLearnHourRecord] = useState<LearnHourRecordsModel>(
|
||||
{}
|
||||
);
|
||||
|
@ -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 = {
|
||||
|
@ -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 = {
|
||||
|
@ -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();
|
||||
|
53
src/playedu.d.ts
vendored
Normal file
53
src/playedu.d.ts
vendored
Normal file
@ -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 {};
|
Loading…
x
Reference in New Issue
Block a user