You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
168 lines
3.9 KiB
168 lines
3.9 KiB
export interface ApiCourse {
|
|
id: number
|
|
title: string
|
|
category?: string | null
|
|
course_system_dict_item_id?: number | null
|
|
course_system_item?: { id: number; label: string; value: string } | null
|
|
teach_start_date?: string | null
|
|
teach_end_date?: string | null
|
|
time_range?: string | null
|
|
location?: string | null
|
|
teacher?: string | null
|
|
teacher_title?: string | null
|
|
university?: string | null
|
|
main_speakers?: Array<{ name?: string; university?: string; title?: string; remark?: string }>
|
|
recruit_targets?: string[]
|
|
signup_start_date?: string | null
|
|
signup_end_date?: string | null
|
|
capacity: number
|
|
signups_count: number
|
|
progress_status: number
|
|
progress_status_label: string
|
|
intro_html?: string | null
|
|
cover?: { url?: string | null } | null
|
|
promo?: { url?: string | null } | null
|
|
can_signup?: boolean
|
|
has_signed_up?: boolean
|
|
}
|
|
|
|
export interface ApiActivity {
|
|
id: number
|
|
title: string
|
|
activity_type_dict_item_id?: number | null
|
|
activity_type_item?: { id: number; label: string; value: string } | null
|
|
event_start_date?: string | null
|
|
event_end_date?: string | null
|
|
signup_start_date?: string | null
|
|
signup_end_date?: string | null
|
|
location?: string | null
|
|
intro_html?: string | null
|
|
summary?: string | null
|
|
progress_status: number
|
|
progress_status_label: string
|
|
display_status: string
|
|
signups_count?: number
|
|
has_signed_up?: boolean
|
|
can_signup?: boolean
|
|
sessions?: ApiActivitySession[]
|
|
session?: ApiActivitySession | null
|
|
}
|
|
|
|
export interface ApiActivitySession {
|
|
id: number
|
|
title?: string | null
|
|
date?: string | null
|
|
end_date?: string | null
|
|
time?: string | null
|
|
venue?: string | null
|
|
capacity: number
|
|
signed: number
|
|
remaining?: number | null
|
|
is_full: boolean
|
|
has_signed_up?: boolean
|
|
}
|
|
|
|
export interface ApiNews {
|
|
id: number
|
|
title: string
|
|
tag?: string | null
|
|
category_dict_item_id?: number | null
|
|
summary?: string | null
|
|
date?: string | null
|
|
content?: string | null
|
|
content_html?: string | null
|
|
source?: string | null
|
|
source_url?: string | null
|
|
}
|
|
|
|
export interface ApiBanner {
|
|
id: number
|
|
type: string
|
|
title?: string | null
|
|
cover_url?: string | null
|
|
content_html?: string | null
|
|
kicker?: string | null
|
|
status_label?: string | null
|
|
seats_text?: string | null
|
|
datetime_text?: string | null
|
|
target_type: 'course' | 'activity' | 'news' | 'custom'
|
|
target_id?: number | null
|
|
}
|
|
|
|
export interface ApiUser {
|
|
id: number
|
|
nickname?: string | null
|
|
avatar_url?: string | null
|
|
name?: string | null
|
|
mobile?: string | null
|
|
company?: string | null
|
|
job_title?: string | null
|
|
research_direction?: string | null
|
|
research_direction_ids?: number[]
|
|
is_partner: boolean
|
|
is_incubation?: boolean
|
|
is_admin?: boolean
|
|
is_grid_member?: boolean
|
|
is_staff?: boolean
|
|
role?: string
|
|
role_label?: string
|
|
identity_type?: string | null
|
|
can_see_radar?: boolean
|
|
can_see_papers?: boolean
|
|
can_access_demands?: boolean
|
|
can_use_crawler?: boolean
|
|
admin_user_id?: number | null
|
|
}
|
|
|
|
export interface ApiResearchDirection {
|
|
id: number
|
|
name: string
|
|
}
|
|
|
|
export interface ApiDictItem {
|
|
id: number
|
|
label: string
|
|
value: string
|
|
}
|
|
|
|
export interface ApiDemand {
|
|
id: number
|
|
type?: string | null
|
|
type_dict_item_id?: number
|
|
status?: string | null
|
|
title: string
|
|
industry_type?: string | null
|
|
main_business?: string | null
|
|
finance_amount?: string | null
|
|
job_positions?: string | null
|
|
description?: string | null
|
|
date?: string | null
|
|
}
|
|
|
|
export interface Paginated<T> {
|
|
items: T[]
|
|
meta: {
|
|
current_page: number
|
|
per_page: number
|
|
total: number
|
|
last_page: number
|
|
}
|
|
}
|
|
|
|
export interface CalendarEvent {
|
|
id: number
|
|
activity_id?: number
|
|
title: string
|
|
start_date?: string | null
|
|
end_date?: string | null
|
|
time_range?: string | null
|
|
location?: string | null
|
|
progress_status: number
|
|
progress_status_label: string
|
|
}
|
|
|
|
export interface CalendarResponse {
|
|
month: string
|
|
events: CalendarEvent[]
|
|
}
|