class.ts 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. import axiosInstance from "@/apis/axios.config";
  2. //提交的后端路径
  3. const ENGAGE_PREFIX = "/api/class"
  4. const classApis = {
  5. getClassOfCourse:(courseId: number) => {
  6. return axiosInstance.get(ENGAGE_PREFIX+"/select",{
  7. params:{
  8. courseId
  9. }
  10. })
  11. },
  12. createClassOfCourse:(courseId:number,className:string,classTime:string,teacherId:number) => {
  13. return axiosInstance.post(ENGAGE_PREFIX+"/create",{
  14. courseId,
  15. className,
  16. classTime,
  17. teacherId
  18. })
  19. },
  20. deleteClass:(classId:number) => {
  21. return axiosInstance.delete(ENGAGE_PREFIX+"/delete",{
  22. params:{
  23. classId
  24. }
  25. })
  26. },
  27. getStudentsOfClass:(classId:number) => {
  28. return axiosInstance.get(ENGAGE_PREFIX+`/${classId}`)
  29. },
  30. addStudentOfClasss:(classId:number,officialNumber:number,stuName:string,phone:string) => {
  31. return axiosInstance.post(ENGAGE_PREFIX+`/${classId}/students/import`,{
  32. officialNumber,
  33. stuName,
  34. phone,
  35. },{
  36. headers: {
  37. 'Content-Type': 'application/json'
  38. }
  39. })
  40. },
  41. importStudentsOfClass:(classId:number,file:File) => {
  42. const formData = new FormData();
  43. formData.append("file", file);
  44. return axiosInstance.post(ENGAGE_PREFIX+`/${classId}/students/batch`, formData, {
  45. headers: {
  46. 'Content-Type': 'multipart/form-data'
  47. }
  48. })
  49. },
  50. deleteStudentOfClass:(classId:number,officialNumbers) => {
  51. return axiosInstance.delete(ENGAGE_PREFIX+`/${classId}/students/batch`,{
  52. headers:{
  53. 'Content-Type': 'application/json'
  54. },
  55. data: officialNumbers
  56. })
  57. },
  58. getClassStatesOfCourse:(classId:number,assignmentId:number) => {
  59. return axiosInstance.get(`/api/assignment/class/${classId}/status`,{
  60. params:{
  61. assignmentId
  62. }
  63. })
  64. },
  65. getHomeworkOfStudent:(courseId:number,studentId:number) => {
  66. return axiosInstance.get(`/api/course/student/assignments`,{
  67. params:{
  68. studentId,
  69. courseId
  70. }
  71. })
  72. },
  73. getClassByClassId:(classId:number) => {
  74. return axiosInstance.get(`/api/class/find/${classId}`)
  75. },
  76. getClassNameOfStudent:(courseId:number,studentId:number) => {
  77. return axiosInstance.get(ENGAGE_PREFIX+`/student/${studentId}/course/${courseId}`)
  78. }
  79. }
  80. export default classApis