course.ts 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234
  1. import axios from './config'
  2. export const API_URL = 'https://pbl.cocorobo.cn/api/pbl/'
  3. export const yweb_socket = 'wss://yjs.cocorobo.cn'
  4. // export const yweb_socket = 'wss://yrs.cocorobo.cn'
  5. /**
  6. * 获取课程详情
  7. * @param courseId 课程ID
  8. * @returns Promise<any>
  9. */
  10. export const getCourseDetail = (courseId: string): Promise<any> => {
  11. return axios.get(`${API_URL}selectCourseDetail3`, {
  12. params: { courseId },
  13. })
  14. }
  15. /**
  16. * 获取课程详情
  17. * @param courseId 课程ID
  18. * @returns Promise<any>
  19. */
  20. export const getPPTFile = (courseId: string, classid: string): Promise<any> => {
  21. return axios.get(`${API_URL}getPPTFile`, {
  22. params: { pptid: courseId, classid },
  23. })
  24. }
  25. /**
  26. * 提交作业接口
  27. * @param params 参数对象
  28. * @returns Promise<any>
  29. */
  30. export interface SubmitWorkParams {
  31. uid: string
  32. cid: string
  33. stage: string
  34. task: string
  35. tool: string
  36. atool: string
  37. content: string
  38. type: string
  39. }
  40. export const submitWork = (params: SubmitWorkParams): Promise<any> => {
  41. return axios.post(`${API_URL}addCourseWorks_workPage`, [params])
  42. }
  43. /**
  44. * 查看作业接口
  45. * @param cid 课程ID
  46. * @param s s参数,传0
  47. * @param t 第几页幻灯片
  48. * @returns Promise<any>
  49. */
  50. export const selectSWorks = (cid: string, s: string, t: string): Promise<any> => {
  51. return axios.get(`${API_URL}selectSWorks`, {
  52. params: {
  53. cid,
  54. s,
  55. t,
  56. },
  57. })
  58. }
  59. /**
  60. * 查看此课程作业需要上交的学生
  61. * @param oid 组织ID
  62. * @param cid 课程ID
  63. * @returns Promise<any>
  64. */
  65. export const selectWorksStudent = (oid: string, cid: string): Promise<any> => {
  66. return axios.get(`${API_URL}selectWorksStudent`, {
  67. params: {
  68. oid,
  69. cid,
  70. },
  71. })
  72. }
  73. /**
  74. * 获取HTML内容
  75. * @param url 目标URL
  76. * @returns Promise<any>
  77. */
  78. export const getHTML = (url: string, showError: boolean = false): Promise<any> => {
  79. return axios.get(`${url}`, { showError })
  80. }
  81. /**
  82. * 开启/关闭课程跟随模式
  83. * @param sopen 1否 2是
  84. * @param cid 课程ID
  85. * @returns Promise<any>
  86. */
  87. export const updateCourseFollow = (sopen: number, cid: string): Promise<any> => {
  88. return axios.post(`${API_URL}updateCourseFollow`, [{
  89. sopen,
  90. cid,
  91. }])
  92. }
  93. /**
  94. * 新增:开启/关闭课程跟随模式(带第几张参数)
  95. * @param sopen 1否 2是
  96. * @param page 第几张
  97. * @param cid 课程ID
  98. * @returns Promise<any>
  99. */
  100. export const updateCourseFollowC = (sopen: number, cid: string): Promise<any> => {
  101. return axios.post(`${API_URL}updateCourseFollowC`, [{
  102. sopen,
  103. cid,
  104. }])
  105. }
  106. /**
  107. * 查看课程跟随状态
  108. * @param cid 课程ID
  109. * @returns Promise<any>
  110. */
  111. export const selectCourseSLook = (cid: string): Promise<any> => {
  112. return axios.get(`${API_URL}selectCourseSLook`, {
  113. params: { cid },
  114. })
  115. }
  116. /**
  117. *
  118. * 获取用户数据
  119. * @param uid 用户id
  120. * @returns Promise<any>
  121. */
  122. export const getUser = (uid: string): Promise<any> => {
  123. return axios.get(`${API_URL}getUser`, {
  124. params: { uid },
  125. })
  126. }
  127. /**
  128. *
  129. * 存储对话内容
  130. * @param any 用户id
  131. * @returns Promise<any>
  132. */
  133. export const insertChat = (params: any): Promise<any> => {
  134. return axios.post(`https://gpt4.cocorobo.cn/insert_chat`, params)
  135. }
  136. /**
  137. *
  138. * 获取对话内容
  139. * @param any 用户id
  140. * @returns Promise<any>
  141. */
  142. export const getChatList = (params: any): Promise<any> => {
  143. return axios.post(`https://gpt4.cocorobo.cn/get_agent_park_chat`, params)
  144. }
  145. /**
  146. *
  147. * 获取对话内容
  148. * @param any 用户id
  149. * @returns Promise<any>
  150. */
  151. export const getAgentData = (params: any): Promise<any> => {
  152. return axios.get(`https://appapi.cocorobo.cn/api/agents/agent/${params.id}`)
  153. }
  154. /**
  155. *
  156. * 获取对话内容
  157. * @param any 用户id
  158. * @returns Promise<any>
  159. */
  160. export const clearDialogue = (params: any): Promise<any> => {
  161. return axios.delete(`https://appapi.cocorobo.cn/api/agentchats/clear_thread_context`, { data: params })
  162. }
  163. /**
  164. *
  165. * 获取作业·详细
  166. * @param any 作业id
  167. * @returns Promise<any>
  168. */
  169. export const getWorkDetail = (params: any): Promise<any> => {
  170. return axios.get(`${API_URL}select_workPageById`, { params: params })
  171. }
  172. export const getWorkPageId = (params: any): Promise<any> => {
  173. return axios.post(`${API_URL}insert_workPage`, [params])
  174. }
  175. /**
  176. *
  177. * 获取年级
  178. * @param any 班级id
  179. * @returns Promise<any>
  180. */
  181. export const getClassById = (params: any): Promise<any> => {
  182. return axios.get(`${API_URL}getClassById`, { params: params })
  183. }
  184. export default {
  185. getCourseDetail,
  186. getPPTFile,
  187. submitWork,
  188. selectSWorks,
  189. selectWorksStudent,
  190. getHTML,
  191. updateCourseFollow,
  192. updateCourseFollowC,
  193. selectCourseSLook,
  194. yweb_socket,
  195. getUser,
  196. insertChat,
  197. getChatList,
  198. getAgentData,
  199. clearDialogue,
  200. getWorkDetail,
  201. getWorkPageId
  202. }