luogu-api-docs

比赛 API

列出比赛

请求 GET /contest/list
参数 ContestListParams
响应主体 application/json (LentilleDataResponse<{ contests: List<Contest> }>)

列出参加的比赛

请求 GET /api/user/joinedContests
参数 { page?: number }
响应主体 application/json ({ contests: List<LegacyContest> })

列出创建的比赛

请求 GET /api/user/createdContests
参数 { page?: number }
响应主体 application/json ({ contests: List<LegacyContest> })

获取比赛

请求 GET /contest/:id
响应主体 application/json (LentilleDataResponse<ContestData>)

获取创建的比赛

请求 GET /contest/edit/:id
响应主体 application/json (DataResponse<CreatedContestData>)

获取排行榜

请求 GET /fe/api/contest/scoreboard/:id
参数 { page?: number }
响应主体 application/json (GetScoreboardResponse)

参加比赛

请求 POST /contest/:id/join
请求主体 application/json ({ code?: string; unrated?: boolean; squadCode?: string })
响应主体 application/json ({ id: number })

创建小队

用于在允许组队的比赛中创建一个小队(当前用户自动成为队长)。

请求 POST /contest/:id/squad
请求主体 application/json ({})
响应主体 application/json ({ squad: Squad })

退出小队/踢出队员/解散小队

退出当前所在的小队,或由队长踢出指定队员。如果队长自己退出,则等于解散整个小队。

请求 POST /contest/:id/squadMemberQuit
请求主体 application/json ({ uid: number })
响应主体 application/json ({ squad: Squad | null })

创建比赛

请求 POST /fe/api/contest/new
请求主体 application/json (EditContestRequest)
响应主体 application/json ({ id: number })

编辑比赛

请求 POST /fe/api/contest/edit/:id
请求主体 application/json (EditContestRequest)
响应主体 application/json ({ id: number })

编排比赛题目

请求 POST /fe/api/contest/editProblem/:id
请求主体 application/json ({ pids: string[]; scores: { [pid: string]: number } })
响应主体 application/json ({})

删除比赛

请求 POST /fe/api/contest/delete/:id
响应主体 application/json ({})