题目 API
列出题目
| 请求 |
GET /problem/list |
| 参数 |
ProblemListParams |
| 响应主体 |
application/json (DataResponse<{ problems: List<LegacyProblem & Maybe<ProblemStatus>>; page: number }>) |
列出创建的题目
| 请求 |
GET /api/user/createdProblems |
| 参数 |
{ page?: number } |
| 响应主体 |
application/json ({ problems: List<LegacyProblem> }) |
获取题目
| 请求 |
GET /problem/:pid |
| 参数 |
{ contestId?: number } |
| 响应主体 |
application/json (LentilleDataResponse<ProblemData>) |
获取题解
| 请求 |
GET /problem/solution/:pid |
| 响应主体 |
application/json (LentilleDataResponse<SolutionsData>) |
收藏题目
| 请求 |
POST /fe/api/problem/tasklistAdd |
| 请求主体 |
application/json ({ pid: string }) |
| 响应主体 |
application/json ({ status: number }) |
取消收藏题目
| 请求 |
POST /fe/api/problem/tasklistRemove |
| 请求主体 |
application/json ({ pid: string }) |
| 响应主体 |
application/json ({ status: number }) |
提交代码
注:提交代码时,主页的 CSRF 令牌会失效,比如 AT_abc001_a 题目的提交需要 https://www.luogu.com.cn/problem/AT_abc001_a 页面返回的 CSRF 令牌,而使用主页返回的令牌则无法通过鉴权。
| 请求 |
POST /fe/api/problem/submit/:pid |
| 参数 |
{ contestId?: number } |
| 请求主体 |
application/json (SubmitCodeRequest) 或 multipart/form-data ({ file: Blob; captcha?: string }) |
| 响应主体 |
application/json ({ rid: number }) |
提交翻译
| 请求 |
POST /fe/api/problem/translate/:pid |
| 请求主体 |
application/json ({ translation: string }) |
| 响应主体 |
|
创建题目
| 请求 |
POST /fe/api/problem/new |
| 请求主体 |
application/json (CreateProblemRequest) |
| 响应主体 |
application/json ({ pid: string }) |
编辑题目
| 请求 |
POST /fe/api/problem/edit/:pid |
| 请求主体 |
application/json ({ settings: ProblemSettings }) |
| 响应主体 |
application/json ({ pid: string }) |
更新数据点设置
| 请求 |
POST /fe/api/problem/editTestCase/:pid |
| 请求主体 |
application/json (UpdateTestCasesSettingsRequest) |
| 响应主体 |
application/json (UpdateTestCasesSettingsResponse) |
迁移题目
| 请求 |
POST /fe/api/problem/transfer/:pid |
| 请求主体 |
application/json ({ type: string; teamID?: number } | { operation: "clone"; type: "T"; teamID: number }) |
| 响应主体 |
application/json ({ pid: string }) |
删除题目
| 请求 |
POST /fe/api/problem/delete/:id |
| 响应主体 |
application/json ({}) |