# SCUPI_OJ ## Docs - SCUPIOJ > 用户系统 [操作认证](https://apifox.com/apidoc/shared/78144198-093a-49d3-a83a-14be14b35384/doc-3656003.md): - SCUPIOJ > 作业系统 [作业与题目关系说明](https://apifox.com/apidoc/shared/78144198-093a-49d3-a83a-14be14b35384/doc-3669737.md): - SCUPIOJ > 作业系统 > 题目系统 > 增删改查代码答案 [说明](https://apifox.com/apidoc/shared/78144198-093a-49d3-a83a-14be14b35384/doc-3718583.md): ## API Docs - SCUPIOJ > 用户系统 > 账号增删改查 [05 老师管理员获取系统全部用户](https://apifox.com/apidoc/shared/78144198-093a-49d3-a83a-14be14b35384/api-145394521.md): 获取系统全部用户,需要老师或管理员权限,登录状态 - SCUPIOJ > 用户系统 > 账号增删改查 [04 获取单个用户的信息](https://apifox.com/apidoc/shared/78144198-093a-49d3-a83a-14be14b35384/api-145395408.md): 通过获取相应username的用户的信息,注意老师和管理员有权访问所有用户的信息,学生只能访问自己的信息 - SCUPIOJ > 用户系统 > 账号增删改查 [06 修改账号密码](https://apifox.com/apidoc/shared/78144198-093a-49d3-a83a-14be14b35384/api-145396413.md): 修改用户的密码,学生和老师只能修改自己的密码,需要输入旧密码和新密码,管理员可以强制修改所有人的密码,需要输入旧密码(可以乱写)和新密码,如果用户是学生,前端在密码修改成功后要删除所有的cookie和token,管理员不用 - SCUPIOJ > 用户系统 > 账号增删改查 [07 管理员创建用户](https://apifox.com/apidoc/shared/78144198-093a-49d3-a83a-14be14b35384/api-145397213.md): 只有管理员可以创建用户,注意new_user_group字段只能为三个值administrator,teacher,student - SCUPIOJ > 用户系统 > 账号增删改查 [08 管理员删除用户](https://apifox.com/apidoc/shared/78144198-093a-49d3-a83a-14be14b35384/api-145397657.md): 只有管理员可以删除用户 - SCUPIOJ > 用户系统 [01 登录](https://apifox.com/apidoc/shared/78144198-093a-49d3-a83a-14be14b35384/api-145392342.md): 登陆页面的操作,返回refresh和access token,role和first_name,同时设置6个cookie:first_name(用户中文名),role(用户角色,可能为student,teacher或administrator sessionid和username(学号),access,refresh - SCUPIOJ > 用户系统 [02 注销](https://apifox.com/apidoc/shared/78144198-093a-49d3-a83a-14be14b35384/api-145393000.md): 注销接口,运行此接口必须有有效的access token和名为sessionid的cookie(前端不用管这个cookie),注销成功后请前端清除所有cookie和token - SCUPIOJ > 用户系统 [03 assess token续期](https://apifox.com/apidoc/shared/78144198-093a-49d3-a83a-14be14b35384/api-145393451.md): access token如果过期,可使用refresh token申请一个新assess token,如果refresh token也过期了会有编号为500的报错,请重新登录 - SCUPIOJ > 班级系统 [09 管理员创建班级](https://apifox.com/apidoc/shared/78144198-093a-49d3-a83a-14be14b35384/api-145424368.md): 管理员创建新的课程并初始化课程人员有两个参数,course_name和students_list, student_list是一个列表,存有课程人员的学号。学号即为用户的username - SCUPIOJ > 班级系统 [10 管理员删除班级](https://apifox.com/apidoc/shared/78144198-093a-49d3-a83a-14be14b35384/api-145424630.md): 只有管理员有权利删除班级 - SCUPIOJ > 班级系统 [11 管理员编辑班级成员](https://apifox.com/apidoc/shared/78144198-093a-49d3-a83a-14be14b35384/api-145425181.md): 编辑课程的班级成员,只有管理员可以编辑班级成员,参数与创建班级相同,请注意students_list里装的是班级所有成员的学号,上传后后端会根据students_list与之前的成员对比进行增减 - SCUPIOJ > 班级系统 [12 获取班级中的成员](https://apifox.com/apidoc/shared/78144198-093a-49d3-a83a-14be14b35384/api-145428386.md): 获取名为课程中所有的成员 - SCUPIOJ > 班级系统 [13 获取此用户所加入的班级](https://apifox.com/apidoc/shared/78144198-093a-49d3-a83a-14be14b35384/api-145428191.md): 获取此用户所加入的课程,现今只返回班级名,在日后会新增返回,比如未完成作业数和未读通知数 - SCUPIOJ > 作业系统 > 题目系统 > 题目操作 [23 在作业中新建题目](https://apifox.com/apidoc/shared/78144198-093a-49d3-a83a-14be14b35384/api-146649184.md): 只有老师和管理员可以调用 - SCUPIOJ > 作业系统 > 题目系统 > 题目操作 [24 获取作业中题目 v2](https://apifox.com/apidoc/shared/78144198-093a-49d3-a83a-14be14b35384/api-146749164.md): 获取在班级中,作业中的所有题目 - SCUPIOJ > 作业系统 > 题目系统 > 题目操作 [25 修改作业中题目内容](https://apifox.com/apidoc/shared/78144198-093a-49d3-a83a-14be14b35384/api-146749252.md): 只有老师和管理员可以调用 - SCUPIOJ > 作业系统 > 题目系统 > 题目操作 [26 删除作业中题目](https://apifox.com/apidoc/shared/78144198-093a-49d3-a83a-14be14b35384/api-146749295.md): 删除在班级中,作业中的题目,支持批量删除题目 - SCUPIOJ > 作业系统 > 题目系统 > 题目操作 [39 获取作业中所有题目得分细则(每道题的得分)](https://apifox.com/apidoc/shared/78144198-093a-49d3-a83a-14be14b35384/api-147852999.md): 获取//在作业中做题所得到的分数,返回一个列表,包含作业中所有题目的得分 - SCUPIOJ > 作业系统 > 题目系统 > 题目操作 [44 获取作业中单个题目](https://apifox.com/apidoc/shared/78144198-093a-49d3-a83a-14be14b35384/api-158072370.md): 用于获得作业中单个题目,这是这个项目中稀有的用到params的api - SCUPIOJ > 作业系统 > 题目系统 > 增删改查代码答案 [30 创建代码作业答案](https://apifox.com/apidoc/shared/78144198-093a-49d3-a83a-14be14b35384/api-147823355.md): 老师管理员在课程作业题目中新建代码答案,可以批量新建,返回创建的代码答案与相应id - SCUPIOJ > 作业系统 > 题目系统 > 增删改查代码答案 [31 获取代码答案](https://apifox.com/apidoc/shared/78144198-093a-49d3-a83a-14be14b35384/api-147823508.md): 老师管理员获取///题目的代码答案 - SCUPIOJ > 作业系统 > 题目系统 > 增删改查代码答案 [32 修改代码答案](https://apifox.com/apidoc/shared/78144198-093a-49d3-a83a-14be14b35384/api-147823524.md): 老师管理员修改///中代码答案,可以批量修改,返回修改后的结果 - SCUPIOJ > 作业系统 > 题目系统 > 增删改查代码答案 [33 删除代码答案](https://apifox.com/apidoc/shared/78144198-093a-49d3-a83a-14be14b35384/api-147823367.md): 老师管理员删除课程作业问题的代码答案,注意如果要删除的代码答案不属于这个题目会删除失败 - SCUPIOJ > 作业系统 > 题目系统 > 回答题目与人工判题操作 [34 回答题目](https://apifox.com/apidoc/shared/78144198-093a-49d3-a83a-14be14b35384/api-147830096.md): 作答作业中相应id的作业,body含有两个字段,分别是'id'和'content_answer',id是作答题目的id可以从get中获得,content_answer是作答的信息 - SCUPIOJ > 作业系统 > 题目系统 > 回答题目与人工判题操作 [35 查看全班成员在特定题目的最新提交记录](https://apifox.com/apidoc/shared/78144198-093a-49d3-a83a-14be14b35384/api-147850393.md): 老师管理员查询班级作业题目全班成员的最新(最后一次提交)答题记录 - SCUPIOJ > 作业系统 > 题目系统 > 回答题目与人工判题操作 [36 查询特定学生在某题目的全部提交记录](https://apifox.com/apidoc/shared/78144198-093a-49d3-a83a-14be14b35384/api-147850257.md): 查询(学号)学生在题目中的全部回答,如果没有回答返回404, 返回的内容中有一个user_id这与数据库有关前端可以忽略 - SCUPIOJ > 作业系统 > 题目系统 > 回答题目与人工判题操作 [37 为题目评分](https://apifox.com/apidoc/shared/78144198-093a-49d3-a83a-14be14b35384/api-147851092.md): 老师管理员为////学生提交的答案评分 - SCUPIOJ > 作业系统 > 题目系统 > 回答题目与人工判题操作 [38 删除答题记录](https://apifox.com/apidoc/shared/78144198-093a-49d3-a83a-14be14b35384/api-147851375.md): 老师管理员删除特定的答题记录,可批量删除,成功204 - SCUPIOJ > 作业系统 > 题目系统 > 回答题目与人工判题操作 [43 运行代码](https://apifox.com/apidoc/shared/78144198-093a-49d3-a83a-14be14b35384/api-148971961.md): 云端运行代码,提交格式与作业提交格式相同,允许选择最大时间与最大内存,但是前端请注意限制最大时间和最大内存为100000(不允许设置超过100000) - SCUPIOJ > 作业系统 > 题目系统 > 图片 [27 上传图片](https://apifox.com/apidoc/shared/78144198-093a-49d3-a83a-14be14b35384/api-148715569.md): 老师管理员在题目上传图片,可以批量上传。为了减轻网络压力,请前端请注意将图片压缩到最大100kb(普通截屏大小)再上传,格式仅接受jpeg和png - SCUPIOJ > 作业系统 > 题目系统 > 图片 [28 查看图片](https://apifox.com/apidoc/shared/78144198-093a-49d3-a83a-14be14b35384/api-148716465.md): 查看//题目的图片,返回列表 - SCUPIOJ > 作业系统 > 题目系统 > 图片 [29 删除图片](https://apifox.com/apidoc/shared/78144198-093a-49d3-a83a-14be14b35384/api-148717467.md): 老师管理员删除题目的图片 - SCUPIOJ > 作业系统 [19 获取课程中布置的作业 v2](https://apifox.com/apidoc/shared/78144198-093a-49d3-a83a-14be14b35384/api-146091059.md): 获取课程中布置的作业 - SCUPIOJ > 作业系统 [40 获取设定的作业总分数](https://apifox.com/apidoc/shared/78144198-093a-49d3-a83a-14be14b35384/api-147851879.md): 获取作业总分数,注意是作业设定的总分,不是作业答题总分 - SCUPIOJ > 作业系统 [41 获取特定学生的作业总分](https://apifox.com/apidoc/shared/78144198-093a-49d3-a83a-14be14b35384/api-147853899.md): 获取特定学生的作业总分 - SCUPIOJ > 作业系统 [42 获取所有学生作业总得分](https://apifox.com/apidoc/shared/78144198-093a-49d3-a83a-14be14b35384/api-147853511.md): 获取所有获取///所有学生的总得分 - SCUPIOJ > 作业系统 [20 布置作业](https://apifox.com/apidoc/shared/78144198-093a-49d3-a83a-14be14b35384/api-146091502.md): 在课程中布置作业,作业创建后返回创建的作业的信息,只有管理员和老师有权布置作业 - SCUPIOJ > 作业系统 [21 更改作业信息](https://apifox.com/apidoc/shared/78144198-093a-49d3-a83a-14be14b35384/api-146093079.md): 更改课程中作业的信息,提交的body与创建作业相同,返回值也与创建作业相同,只有管理员和老师有权利更改作业信息 - SCUPIOJ > 作业系统 [22 删除作业](https://apifox.com/apidoc/shared/78144198-093a-49d3-a83a-14be14b35384/api-146093414.md): 删除课程中的作业,只有老师和管理员有权利删除作业,删除成功为204状态,不会有json返回 - SCUPIOJ > 信息系统操作 [14 获取用户发送信息](https://apifox.com/apidoc/shared/78144198-093a-49d3-a83a-14be14b35384/api-147782523.md): 获取以当前用户为发件人的信息 - SCUPIOJ > 信息系统操作 [15 获取用户接收信息](https://apifox.com/apidoc/shared/78144198-093a-49d3-a83a-14be14b35384/api-147782639.md): 获取以当前用户为收件人的信息 - SCUPIOJ > 信息系统操作 [16 创建新信息](https://apifox.com/apidoc/shared/78144198-093a-49d3-a83a-14be14b35384/api-147496269.md): 创建新的信件,并返回是否创建成功的信息。在创建信息时只能选择向某些群组发送或向某些用户发送两种之一receiver和receive_group只能二选一 - SCUPIOJ > 信息系统操作 [17 修改已读状态](https://apifox.com/apidoc/shared/78144198-093a-49d3-a83a-14be14b35384/api-147606605.md): 将已读状态设置为‘已读’ - SCUPIOJ > 信息系统操作 [18 删除信息](https://apifox.com/apidoc/shared/78144198-093a-49d3-a83a-14be14b35384/api-147612970.md): 删除信息,返回是否删除成功的信息