题目 API
列出题目
请求 |
GET /problem/list |
参数 |
ProblemListParams |
响应主体 |
application/json (DataResponse<{ problems: List<Problem & Maybe<ProblemStatus>>; page: number }> ) |
列出创建的题目
请求 |
GET /api/user/createdProblems |
参数 |
{ page?: number } |
响应主体 |
application/json ({ problems: List<Problem> } ) |
获取题目
请求 |
GET /problem/:pid |
参数 |
{ contestId?: number } |
响应主体 |
application/json (DataResponse<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 } ) |
响应主体 |
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 ({} ) |