@x-edu/live-player 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (645) hide show
  1. package/.browserslistrc +10 -0
  2. package/.eslintignore +8 -0
  3. package/.eslintrc.js +26 -0
  4. package/.gem-mine +11 -0
  5. package/.postcssrc.js +6 -0
  6. package/babel.config.js +33 -0
  7. package/dist/XEduLivePlayer.umd.min.js +29419 -0
  8. package/dist/img/icon_coffee.afc4fe2f.png +0 -0
  9. package/dist/img/icon_completed.19a464a3.png +0 -0
  10. package/dist/img/play-button-hover.fdb338b1.png +0 -0
  11. package/dist/img/play-button.f4b271fb.png +0 -0
  12. package/dist/img/reload.3cf8ef22.png +0 -0
  13. package/gem-mine.config.js +86 -0
  14. package/jest.config.js +9 -0
  15. package/jsconfig.json +15 -0
  16. package/mock/helper.js +8 -0
  17. package/mock/index.js +34 -0
  18. package/package.json +96 -0
  19. package/public/.well-known/apple-app-site-association +1 -0
  20. package/public/3rd/ali-player/alipayercomponents-1.0.8.min.js +26 -0
  21. package/public/3rd/ali-player/aliplayer-hls-min.js +28 -0
  22. package/public/3rd/ali-player/aliplayer-min.css +1 -0
  23. package/public/3rd/ali-player/aliplayer-min.js +2 -0
  24. package/public/3rd/ali-player/img/fullscreen.png +0 -0
  25. package/public/3rd/ali-player/img/playanimation.png +0 -0
  26. package/public/3rd/ali-player/img/smallscreen.png +0 -0
  27. package/public/3rd/ali-player/img/volume.png +0 -0
  28. package/public/3rd/im-web-push/index.umd.js +14 -0
  29. package/public/JsBridge.js +1602 -0
  30. package/public/fish/editor/lang/zh-cn/zh-cn.min.js +1 -0
  31. package/public/fish/editor/loading.gif +0 -0
  32. package/public/fish/editor/themes/default/css/ueditor.css +1906 -0
  33. package/public/fish/editor/themes/default/images/icons.png +0 -0
  34. package/public/fish/editor/themes/default/images/scale.png +0 -0
  35. package/public/fish/editor/themes/default/images/spacer.gif +0 -0
  36. package/public/fish/editor/themes/default/images/videologo.gif +0 -0
  37. package/public/fish/editor/themes/iframe.css +0 -0
  38. package/public/fish/editor/third-party/codemirror/codemirror.css +104 -0
  39. package/public/fish/editor/third-party/codemirror/codemirror.js +3581 -0
  40. package/public/fish/editor/third-party/zeroclipboard/ZeroClipboard.js +1256 -0
  41. package/public/fish/editor/ueditor.all.min.js +17 -0
  42. package/public/fish/editor/ueditor.config.js +467 -0
  43. package/public/fish/icon/umd-4.1.2.js +2 -0
  44. package/public/fish/video/icon_active.gif +0 -0
  45. package/public/fish/video/videoplayer.min.css +7 -0
  46. package/public/fish/video/videoplayer.min.js +32 -0
  47. package/public/fish/video/zh-CN.js +83 -0
  48. package/public/icon/demo.css +539 -0
  49. package/public/icon/demo_index.html +2189 -0
  50. package/public/icon/iconfont.css +363 -0
  51. package/public/icon/iconfont.js +1 -0
  52. package/public/icon/iconfont.json +618 -0
  53. package/public/icon/iconfont.ttf +0 -0
  54. package/public/icon/iconfont.woff +0 -0
  55. package/public/icon/iconfont.woff2 +0 -0
  56. package/public/index.html +50 -0
  57. package/script/image/readme.md +77 -0
  58. package/script/postcss.js +48 -0
  59. package/src/App.jsx +18 -0
  60. package/src/asset/img/activeBanner//342/200/234/345/217/214/345/207/217/342/200/235/345/267/245/344/275/234.png +0 -0
  61. package/src/asset/img/activeBanner//344/271/211/345/212/241/346/225/231/350/202/262.png +0 -0
  62. package/src/asset/img/activeBanner//344/274/230/347/247/200/344/274/240/347/273/237/346/226/207/345/214/226.png +0 -0
  63. package/src/asset/img/activeBanner//344/275/223/350/202/262/351/224/273/347/202/274.png +0 -0
  64. package/src/asset/img/activeBanner//345/205/232/345/217/262/345/255/246/344/271/240.png +0 -0
  65. package/src/asset/img/activeBanner//345/205/232/345/273/272/345/276/267/350/202/262.png +0 -0
  66. package/src/asset/img/activeBanner//345/212/263/345/212/250/345/205/211/350/215/243.png +0 -0
  67. package/src/asset/img/activeBanner//345/212/263/345/212/250/345/257/274/350/210/252.png +0 -0
  68. package/src/asset/img/activeBanner//345/212/263/345/212/250/346/225/231/350/202/262.png +0 -0
  69. package/src/asset/img/activeBanner//345/212/263/345/212/250/346/231/272/346/205/247.png +0 -0
  70. package/src/asset/img/activeBanner//345/223/201/345/276/267/346/225/231/350/202/262.png +0 -0
  71. package/src/asset/img/activeBanner//345/255/246/345/211/215/346/225/231/350/202/262.png +0 -0
  72. package/src/asset/img/activeBanner//345/256/252/346/263/225/346/263/225/346/262/273.png +0 -0
  73. package/src/asset/img/activeBanner//345/256/266/345/272/255/346/225/231/350/202/262/346/214/207/345/257/274.png +0 -0
  74. package/src/asset/img/activeBanner//345/256/266/345/272/255/346/225/231/350/202/262/346/226/271/346/263/225.png +0 -0
  75. package/src/asset/img/activeBanner//345/256/266/345/272/255/346/225/231/350/202/262/350/247/202/345/277/265.png +0 -0
  76. package/src/asset/img/activeBanner//345/275/261/350/247/206/346/225/231/350/202/262.png +0 -0
  77. package/src/asset/img/activeBanner//345/277/203/347/220/206/345/201/245/345/272/267.png +0 -0
  78. package/src/asset/img/activeBanner//346/200/235/346/224/277/350/257/276/347/250/213.png +0 -0
  79. package/src/asset/img/activeBanner//346/225/231/345/255/246/346/210/220/346/236/234.png +0 -0
  80. package/src/asset/img/activeBanner//346/225/231/346/235/220/344/270/223/345/214/272.png +0 -0
  81. package/src/asset/img/activeBanner//346/225/231/350/202/262/344/277/241/346/201/257/345/214/226.png +0 -0
  82. package/src/asset/img/activeBanner//346/226/207/345/214/226/350/211/272/346/234/257.png +0 -0
  83. package/src/asset/img/activeBanner//346/231/256/351/200/232/351/253/230/344/270/255.png +0 -0
  84. package/src/asset/img/activeBanner//347/210/261/345/233/275/344/270/273/344/271/211.png +0 -0
  85. package/src/asset/img/activeBanner//347/211/271/346/256/212/346/225/231/350/202/262.png +0 -0
  86. package/src/asset/img/activeBanner//347/224/237/345/221/275/344/270/216/345/256/211/345/205/250.png +0 -0
  87. package/src/asset/img/activeBanner//347/224/237/346/200/201/346/226/207/346/230/216.png +0 -0
  88. package/src/asset/img/activeBanner//347/240/224/345/255/246/345/256/236/350/267/265.png +0 -0
  89. package/src/asset/img/activeBanner//347/247/221/346/231/256/346/225/231/350/202/262.png +0 -0
  90. package/src/asset/img/activeBanner//347/273/217/345/205/270/351/230/205/350/257/273.png +0 -0
  91. package/src/asset/img/activeBanner//347/273/274/345/220/210/346/224/271/351/235/251.png +0 -0
  92. package/src/asset/img/advertisement.png +0 -0
  93. package/src/asset/img/bg-block.png +0 -0
  94. package/src/asset/img/bookhover.png +0 -0
  95. package/src/asset/img/card.png +0 -0
  96. package/src/asset/img/catalog/article.png +0 -0
  97. package/src/asset/img/catalog/audio.png +0 -0
  98. package/src/asset/img/catalog/course.png +0 -0
  99. package/src/asset/img/catalog/document.png +0 -0
  100. package/src/asset/img/catalog/image.png +0 -0
  101. package/src/asset/img/catalog/link.png +0 -0
  102. package/src/asset/img/catalog/openClassLive.png +0 -0
  103. package/src/asset/img/catalog/other.png +0 -0
  104. package/src/asset/img/catalog/video.png +0 -0
  105. package/src/asset/img/class-live-header-icon.png +0 -0
  106. package/src/asset/img/content/article.png +0 -0
  107. package/src/asset/img/content/document.png +0 -0
  108. package/src/asset/img/content/image.png +0 -0
  109. package/src/asset/img/content/url.png +0 -0
  110. package/src/asset/img/content/video.png +0 -0
  111. package/src/asset/img/contentType/default.png +0 -0
  112. package/src/asset/img/contentType/x_article.png +0 -0
  113. package/src/asset/img/contentType/x_audio_video.png +0 -0
  114. package/src/asset/img/contentType/x_course.png +0 -0
  115. package/src/asset/img/contentType/x_document.png +0 -0
  116. package/src/asset/img/contentType/x_image_list.png +0 -0
  117. package/src/asset/img/course/book.svg +1 -0
  118. package/src/asset/img/course/courseBg.png +0 -0
  119. package/src/asset/img/course/default.png +0 -0
  120. package/src/asset/img/course/document.png +0 -0
  121. package/src/asset/img/course/done.png +0 -0
  122. package/src/asset/img/course/file_doc.svg +1 -0
  123. package/src/asset/img/course/file_doc_active.svg +1 -0
  124. package/src/asset/img/course/file_video.svg +1 -0
  125. package/src/asset/img/course/file_video_active.svg +1 -0
  126. package/src/asset/img/course/icon_checkbox_linear.svg +1 -0
  127. package/src/asset/img/course/icondown.png +0 -0
  128. package/src/asset/img/course/learning.png +0 -0
  129. package/src/asset/img/course/lecturerDefault.png +0 -0
  130. package/src/asset/img/course/nolearn.png +0 -0
  131. package/src/asset/img/course/noplay.png +0 -0
  132. package/src/asset/img/course/pause.png +0 -0
  133. package/src/asset/img/course/people.png +0 -0
  134. package/src/asset/img/course/play.png +0 -0
  135. package/src/asset/img/course/playing.svg +22 -0
  136. package/src/asset/img/course/reload.png +0 -0
  137. package/src/asset/img/course/shouqi_icon.png +0 -0
  138. package/src/asset/img/course/test.png +0 -0
  139. package/src/asset/img/course/video.png +0 -0
  140. package/src/asset/img/def/resource_def.png +0 -0
  141. package/src/asset/img/def/studio_def.png +0 -0
  142. package/src/asset/img/def-avatar.jpg +0 -0
  143. package/src/asset/img/download-active.png +0 -0
  144. package/src/asset/img/download.png +0 -0
  145. package/src/asset/img/eduReform/djdy-cover.png +0 -0
  146. package/src/asset/img/eduReform/djdy.png +0 -0
  147. package/src/asset/img/eduReform/jxcg-1.png +0 -0
  148. package/src/asset/img/eduReform/jxcg-2.png +0 -0
  149. package/src/asset/img/eduReform/jxcg-3.png +0 -0
  150. package/src/asset/img/eduReform/jxcg-4.png +0 -0
  151. package/src/asset/img/eduReform/jxcg-cover.png +0 -0
  152. package/src/asset/img/eduReform/jxgg.png +0 -0
  153. package/src/asset/img/eduReform/jyxxh-cover.png +0 -0
  154. package/src/asset/img/eduReform/jyxxh.png +0 -0
  155. package/src/asset/img/eduReform/ptgz-cover.png +0 -0
  156. package/src/asset/img/eduReform/ptgz.png +0 -0
  157. package/src/asset/img/eduReform/sjgz-cover.png +0 -0
  158. package/src/asset/img/eduReform/sjgz.png +0 -0
  159. package/src/asset/img/eduReform/tsjy-cover.png +0 -0
  160. package/src/asset/img/eduReform/tsjy.png +0 -0
  161. package/src/asset/img/eduReform/xqjy-1.png +0 -0
  162. package/src/asset/img/eduReform/xqjy-2.png +0 -0
  163. package/src/asset/img/eduReform/xqjy-3.png +0 -0
  164. package/src/asset/img/eduReform/xqjy-4.png +0 -0
  165. package/src/asset/img/eduReform/xqjy-cover.png +0 -0
  166. package/src/asset/img/eduReform/xqjy.png +0 -0
  167. package/src/asset/img/eduReform/ywjy-1.png +0 -0
  168. package/src/asset/img/eduReform/ywjy-2.png +0 -0
  169. package/src/asset/img/eduReform/ywjy-cover.png +0 -0
  170. package/src/asset/img/eduReform/ywjy.png +0 -0
  171. package/src/asset/img/eduReform/zhgg-1.png +0 -0
  172. package/src/asset/img/eduReform/zhgg-2.png +0 -0
  173. package/src/asset/img/eduReform/zhgg-cover.png +0 -0
  174. package/src/asset/img/eduReform/zhgg.png +0 -0
  175. package/src/asset/img/family/1.jpg +0 -0
  176. package/src/asset/img/family/ff-1.png +0 -0
  177. package/src/asset/img/family/ff-2.png +0 -0
  178. package/src/asset/img/family/ff-3.png +0 -0
  179. package/src/asset/img/family/ff-cover.png +0 -0
  180. package/src/asset/img/family/gn-1.png +0 -0
  181. package/src/asset/img/family/gn-2.png +0 -0
  182. package/src/asset/img/family/gn-3.png +0 -0
  183. package/src/asset/img/family/gn-cover.png +0 -0
  184. package/src/asset/img/family/icon/jyff.png +0 -0
  185. package/src/asset/img/family/icon/jygn.png +0 -0
  186. package/src/asset/img/family/icon/jyzd.png +0 -0
  187. package/src/asset/img/family/zd-1.png +0 -0
  188. package/src/asset/img/family/zd-2.png +0 -0
  189. package/src/asset/img/family/zd-3.png +0 -0
  190. package/src/asset/img/family/zd-cover.png +0 -0
  191. package/src/asset/img/favicon-m.png +0 -0
  192. package/src/asset/img/favicon.png +0 -0
  193. package/src/asset/img/icon-course-white.svg +3 -0
  194. package/src/asset/img/icon-course.svg +3 -0
  195. package/src/asset/img/icon-eye-white.svg +4 -0
  196. package/src/asset/img/icon-eye.svg +4 -0
  197. package/src/asset/img/icon-school-white.svg +3 -0
  198. package/src/asset/img/icon-school.svg +3 -0
  199. package/src/asset/img/img-jgsj/10.png +0 -0
  200. package/src/asset/img/img-jgsj/3.png +0 -0
  201. package/src/asset/img/img-jgsj/4.png +0 -0
  202. package/src/asset/img/img-jgsj/5.png +0 -0
  203. package/src/asset/img/img-jgsj/6.png +0 -0
  204. package/src/asset/img/img-jgsj/7-1.png +0 -0
  205. package/src/asset/img/img-jgsj/7-2.png +0 -0
  206. package/src/asset/img/img-jgsj/8.png +0 -0
  207. package/src/asset/img/img-jgsj/8s.png +0 -0
  208. package/src/asset/img/img-jgsj/9.png +0 -0
  209. package/src/asset/img/img-search-tag-bottom.png +0 -0
  210. package/src/asset/img/img-ztjy/1.png +0 -0
  211. package/src/asset/img/img-ztjy/2.png +0 -0
  212. package/src/asset/img/img-ztjy/3.png +0 -0
  213. package/src/asset/img/img-ztjy/4.png +0 -0
  214. package/src/asset/img/img-ztjy/5.png +0 -0
  215. package/src/asset/img/img-ztjy/6.png +0 -0
  216. package/src/asset/img/img-ztjy/icon/agzy.png +0 -0
  217. package/src/asset/img/img-ztjy/icon/dsxx.png +0 -0
  218. package/src/asset/img/img-ztjy/icon/kcjx.png +0 -0
  219. package/src/asset/img/img-ztjy/icon/pdjy.png +0 -0
  220. package/src/asset/img/img-ztjy/icon/smyaq.png +0 -0
  221. package/src/asset/img/img-ztjy/icon/stwm.png +0 -0
  222. package/src/asset/img/img-ztjy/icon/xffz.png +0 -0
  223. package/src/asset/img/img-ztjy/icon/xljk.png +0 -0
  224. package/src/asset/img/img-ztjy/icon/yxctwh.png +0 -0
  225. package/src/asset/img/incentives/star.png +0 -0
  226. package/src/asset/img/juhe-bg.png +0 -0
  227. package/src/asset/img/left-hover.png +0 -0
  228. package/src/asset/img/left-nor.png +0 -0
  229. package/src/asset/img/living-gif-web.gif +0 -0
  230. package/src/asset/img/loading.svg +52 -0
  231. package/src/asset/img/person.png +0 -0
  232. package/src/asset/img/personalCenter/calendar_icon.png +0 -0
  233. package/src/asset/img/personalCenter/clock.png +0 -0
  234. package/src/asset/img/personalCenter/cover.jpg +0 -0
  235. package/src/asset/img/personalCenter/default_cover.png +0 -0
  236. package/src/asset/img/personalCenter/header_bg.png +0 -0
  237. package/src/asset/img/personalCenter/video_icon.png +0 -0
  238. package/src/asset/img/resource/cover.png +0 -0
  239. package/src/asset/img/resource/more_close.png +0 -0
  240. package/src/asset/img/resource/more_open.png +0 -0
  241. package/src/asset/img/resource/remove.png +0 -0
  242. package/src/asset/img/resource/tags.png +0 -0
  243. package/src/asset/img/resource/upload.png +0 -0
  244. package/src/asset/img/resource//346/211/271/351/207/217/347/274/226/350/276/221@2x.png +0 -0
  245. package/src/asset/img/right-hover.png +0 -0
  246. package/src/asset/img/right-icon.png +0 -0
  247. package/src/asset/img/right-nor.png +0 -0
  248. package/src/asset/img/schoolService/jdyd-1.png +0 -0
  249. package/src/asset/img/schoolService/jdyd-2.png +0 -0
  250. package/src/asset/img/schoolService/jdyd-3.png +0 -0
  251. package/src/asset/img/schoolService/jdyd-cover.png +0 -0
  252. package/src/asset/img/schoolService/jdyd.png +0 -0
  253. package/src/asset/img/schoolService/kpjy-1.png +0 -0
  254. package/src/asset/img/schoolService/kpjy-2.png +0 -0
  255. package/src/asset/img/schoolService/kpjy-3.png +0 -0
  256. package/src/asset/img/schoolService/kpjy-cover.png +0 -0
  257. package/src/asset/img/schoolService/kpjy.png +0 -0
  258. package/src/asset/img/schoolService/tydl-1.png +0 -0
  259. package/src/asset/img/schoolService/tydl-2.png +0 -0
  260. package/src/asset/img/schoolService/tydl-3.png +0 -0
  261. package/src/asset/img/schoolService/tydl-cover.png +0 -0
  262. package/src/asset/img/schoolService/tydl.png +0 -0
  263. package/src/asset/img/schoolService/whys-1.png +0 -0
  264. package/src/asset/img/schoolService/whys-2.png +0 -0
  265. package/src/asset/img/schoolService/whys-3.png +0 -0
  266. package/src/asset/img/schoolService/whys-4.png +0 -0
  267. package/src/asset/img/schoolService/whys-cover.png +0 -0
  268. package/src/asset/img/schoolService/whys.png +0 -0
  269. package/src/asset/img/schoolService/ysjy-1.png +0 -0
  270. package/src/asset/img/schoolService/ysjy-2.png +0 -0
  271. package/src/asset/img/schoolService/ysjy-3.png +0 -0
  272. package/src/asset/img/schoolService/ysjy-4.png +0 -0
  273. package/src/asset/img/schoolService/ysjy-cover.png +0 -0
  274. package/src/asset/img/schoolService/ysjy.png +0 -0
  275. package/src/asset/img/schoolService/yxjy-cover.png +0 -0
  276. package/src/asset/img/schoolService/yxsj-1.png +0 -0
  277. package/src/asset/img/schoolService/yxsj-2.png +0 -0
  278. package/src/asset/img/schoolService/yxsj-3.png +0 -0
  279. package/src/asset/img/schoolService/yxsj.png +0 -0
  280. package/src/asset/img/sedu/catalog/list.png +0 -0
  281. package/src/asset/img/sedu/icon/agzy-prefix.png +0 -0
  282. package/src/asset/img/sedu/icon/agzy.png +0 -0
  283. package/src/asset/img/sedu/icon/arrow-hover.png +0 -0
  284. package/src/asset/img/sedu/icon/arrow.png +0 -0
  285. package/src/asset/img/sedu/icon/dsxx-prefix.png +0 -0
  286. package/src/asset/img/sedu/icon/dsxx.png +0 -0
  287. package/src/asset/img/sedu/icon/epidemic-prevention-bg.png +0 -0
  288. package/src/asset/img/sedu/icon/epidemic-prevention.png +0 -0
  289. package/src/asset/img/sedu/icon/family-bg.png +0 -0
  290. package/src/asset/img/sedu/icon/family.png +0 -0
  291. package/src/asset/img/sedu/icon/film-bg.png +0 -0
  292. package/src/asset/img/sedu/icon/film.png +0 -0
  293. package/src/asset/img/sedu/icon/go-more-hover.png +0 -0
  294. package/src/asset/img/sedu/icon/go-more.png +0 -0
  295. package/src/asset/img/sedu/icon/kcjx.png +0 -0
  296. package/src/asset/img/sedu/icon/ldjy-prefix.png +0 -0
  297. package/src/asset/img/sedu/icon/life-safe-bg.png +0 -0
  298. package/src/asset/img/sedu/icon/life-safe.png +0 -0
  299. package/src/asset/img/sedu/icon/morality-bg.png +0 -0
  300. package/src/asset/img/sedu/icon/morality.png +0 -0
  301. package/src/asset/img/sedu/icon/more-bg.png +0 -0
  302. package/src/asset/img/sedu/icon/more.png +0 -0
  303. package/src/asset/img/sedu/icon/party-history-bg.png +0 -0
  304. package/src/asset/img/sedu/icon/party-history.png +0 -0
  305. package/src/asset/img/sedu/icon/pdjy-prefix.png +0 -0
  306. package/src/asset/img/sedu/icon/pdjy.png +0 -0
  307. package/src/asset/img/sedu/icon/psychological-bg.png +0 -0
  308. package/src/asset/img/sedu/icon/psychological.png +0 -0
  309. package/src/asset/img/sedu/icon/read-bg.png +0 -0
  310. package/src/asset/img/sedu/icon/read.png +0 -0
  311. package/src/asset/img/sedu/icon/smaq-prefix.png +0 -0
  312. package/src/asset/img/sedu/icon/smyaq.png +0 -0
  313. package/src/asset/img/sedu/icon/study-bg.png +0 -0
  314. package/src/asset/img/sedu/icon/study.png +0 -0
  315. package/src/asset/img/sedu/icon/stwm-prefix.png +0 -0
  316. package/src/asset/img/sedu/icon/stwm.png +0 -0
  317. package/src/asset/img/sedu/icon/xffz-prefix.png +0 -0
  318. package/src/asset/img/sedu/icon/xffz.png +0 -0
  319. package/src/asset/img/sedu/icon/xljk-prefix.png +0 -0
  320. package/src/asset/img/sedu/icon/xljk.png +0 -0
  321. package/src/asset/img/sedu/icon/yxctwh-prefix.png +0 -0
  322. package/src/asset/img/sedu/icon/yxctwh.png +0 -0
  323. package/src/asset/img/sedu/nav_new/agzy-1.png +0 -0
  324. package/src/asset/img/sedu/nav_new/agzy-2.png +0 -0
  325. package/src/asset/img/sedu/nav_new/agzy-3.png +0 -0
  326. package/src/asset/img/sedu/nav_new/agzy-cover.png +0 -0
  327. package/src/asset/img/sedu/nav_new/agzy.png +0 -0
  328. package/src/asset/img/sedu/nav_new/dsxx-1.png +0 -0
  329. package/src/asset/img/sedu/nav_new/dsxx-2.png +0 -0
  330. package/src/asset/img/sedu/nav_new/dsxx-3.png +0 -0
  331. package/src/asset/img/sedu/nav_new/dsxx-cover.png +0 -0
  332. package/src/asset/img/sedu/nav_new/dsxx.png +0 -0
  333. package/src/asset/img/sedu/nav_new/jdwy-1.png +0 -0
  334. package/src/asset/img/sedu/nav_new/jdwy-2.png +0 -0
  335. package/src/asset/img/sedu/nav_new/jdwy-3.png +0 -0
  336. package/src/asset/img/sedu/nav_new/ldjy-1.png +0 -0
  337. package/src/asset/img/sedu/nav_new/ldjy-2.png +0 -0
  338. package/src/asset/img/sedu/nav_new/ldjy-3.png +0 -0
  339. package/src/asset/img/sedu/nav_new/ldjy-cover.png +0 -0
  340. package/src/asset/img/sedu/nav_new/ldjy.png +0 -0
  341. package/src/asset/img/sedu/nav_new/pdjy-1.png +0 -0
  342. package/src/asset/img/sedu/nav_new/pdjy-2.png +0 -0
  343. package/src/asset/img/sedu/nav_new/pdjy-3.png +0 -0
  344. package/src/asset/img/sedu/nav_new/pdjy-cover.png +0 -0
  345. package/src/asset/img/sedu/nav_new/pdjy.png +0 -0
  346. package/src/asset/img/sedu/nav_new/smyaq-1.png +0 -0
  347. package/src/asset/img/sedu/nav_new/smyaq-2.png +0 -0
  348. package/src/asset/img/sedu/nav_new/smyaq-3.png +0 -0
  349. package/src/asset/img/sedu/nav_new/smyaq-4.png +0 -0
  350. package/src/asset/img/sedu/nav_new/smyaq-cover.png +0 -0
  351. package/src/asset/img/sedu/nav_new/smyaq.png +0 -0
  352. package/src/asset/img/sedu/nav_new/stwm-1.png +0 -0
  353. package/src/asset/img/sedu/nav_new/stwm-2.png +0 -0
  354. package/src/asset/img/sedu/nav_new/stwm-3.png +0 -0
  355. package/src/asset/img/sedu/nav_new/stwm-cover.png +0 -0
  356. package/src/asset/img/sedu/nav_new/stwm.png +0 -0
  357. package/src/asset/img/sedu/nav_new/xffz-1.png +0 -0
  358. package/src/asset/img/sedu/nav_new/xffz-2.png +0 -0
  359. package/src/asset/img/sedu/nav_new/xffz-3.png +0 -0
  360. package/src/asset/img/sedu/nav_new/xffz-4.png +0 -0
  361. package/src/asset/img/sedu/nav_new/xffz-cover.png +0 -0
  362. package/src/asset/img/sedu/nav_new/xffz.png +0 -0
  363. package/src/asset/img/sedu/nav_new/xljk-1.png +0 -0
  364. package/src/asset/img/sedu/nav_new/xljk-2.png +0 -0
  365. package/src/asset/img/sedu/nav_new/xljk-3.png +0 -0
  366. package/src/asset/img/sedu/nav_new/xljk-cover.png +0 -0
  367. package/src/asset/img/sedu/nav_new/xljk.png +0 -0
  368. package/src/asset/img/sedu/nav_new/yxctwh-1.png +0 -0
  369. package/src/asset/img/sedu/nav_new/yxctwh-2.png +0 -0
  370. package/src/asset/img/sedu/nav_new/yxctwh-3.png +0 -0
  371. package/src/asset/img/sedu/nav_new/zgwhct-cover.png +0 -0
  372. package/src/asset/img/sedu/nav_new/zgwhct.png +0 -0
  373. package/src/asset/img/star.png +0 -0
  374. package/src/asset/img/star_filled.png +0 -0
  375. package/src/asset/img/star_hover.png +0 -0
  376. package/src/asset/img/up-hover.png +0 -0
  377. package/src/asset/img/up-nor.png +0 -0
  378. package/src/asset/img/video-play.svg +6 -0
  379. package/src/asset/style/background.less +20 -0
  380. package/src/asset/style/banner.less +36 -0
  381. package/src/asset/style/base.less +74 -0
  382. package/src/asset/style/index.less +114 -0
  383. package/src/asset/style/reset-theme.less +142 -0
  384. package/src/asset/style/theme/index.less +55 -0
  385. package/src/asset/style/theme/party/global.less +20 -0
  386. package/src/asset/style/theme/party/img/footer-bg.png +0 -0
  387. package/src/asset/style/theme/party/img/header-bg-1.png +0 -0
  388. package/src/asset/style/theme/party/img/header-bg-2.png +0 -0
  389. package/src/asset/style/theme/party/img/header-bg.png +0 -0
  390. package/src/asset/style/theme/party/img/logo.png +0 -0
  391. package/src/asset/style/theme/party/override.less +57 -0
  392. package/src/asset/style/theme/test/global.less +18 -0
  393. package/src/asset/style/theme/test/img/footer-bg.png +0 -0
  394. package/src/asset/style/theme/test/img/header-bg-1.png +0 -0
  395. package/src/asset/style/theme/test/img/header-bg-2.png +0 -0
  396. package/src/asset/style/theme/test/img/header-bg.png +0 -0
  397. package/src/asset/style/theme/test/img/logo.png +0 -0
  398. package/src/asset/style/theme/test/override.less +45 -0
  399. package/src/asset/style/variable.less +12 -0
  400. package/src/component/AliPlayer/index.jsx +46 -0
  401. package/src/component/Avatar/index.jsx +52 -0
  402. package/src/component/Empty/img/empty.png +0 -0
  403. package/src/component/Empty/index.jsx +36 -0
  404. package/src/component/Empty/index.module.less +37 -0
  405. package/src/component/IMChatroom/asset/style/images/welcome-m.png +0 -0
  406. package/src/component/IMChatroom/asset/style/images/welcome.png +0 -0
  407. package/src/component/IMChatroom/asset/style/index.module.less +0 -0
  408. package/src/component/IMChatroom/component/status/403.jsx +13 -0
  409. package/src/component/IMChatroom/component/status/404.jsx +13 -0
  410. package/src/component/IMChatroom/component/status/Error.jsx +23 -0
  411. package/src/component/IMChatroom/component/status/Loading.jsx +5 -0
  412. package/src/component/IMChatroom/config/app/config.js +118 -0
  413. package/src/component/IMChatroom/config/app/index.js +60 -0
  414. package/src/component/IMChatroom/config/env.js +5 -0
  415. package/src/component/IMChatroom/config/index.js +3 -0
  416. package/src/component/IMChatroom/config/request/config/base.js +124 -0
  417. package/src/component/IMChatroom/config/request/config/chatroom.js +26 -0
  418. package/src/component/IMChatroom/config/request/config/imCoreApi.js +21 -0
  419. package/src/component/IMChatroom/config/request/index.js +21 -0
  420. package/src/component/IMChatroom/config/request/proxy.js +39 -0
  421. package/src/component/IMChatroom/config/url.js +7 -0
  422. package/src/component/IMChatroom/constants/errorCode.js +9 -0
  423. package/src/component/IMChatroom/constants/index.js +84 -0
  424. package/src/component/IMChatroom/constants/origin.js +27 -0
  425. package/src/component/IMChatroom/context/chatroom.js +154 -0
  426. package/src/component/IMChatroom/context/connect.js +28 -0
  427. package/src/component/IMChatroom/i18n/en/index.json +73 -0
  428. package/src/component/IMChatroom/i18n/index.jsx +14 -0
  429. package/src/component/IMChatroom/i18n/language.js +9 -0
  430. package/src/component/IMChatroom/i18n/zh-CN/index.json +73 -0
  431. package/src/component/IMChatroom/index.jsx +49 -0
  432. package/src/component/IMChatroom/page/chat/index.jsx +27 -0
  433. package/src/component/IMChatroom/page/chat/messageEditor/index.jsx +375 -0
  434. package/src/component/IMChatroom/page/chat/messageList/index.jsx +354 -0
  435. package/src/component/IMChatroom/page/chat/stickedMessage/index.jsx +59 -0
  436. package/src/component/IMChatroom/page/chat/stickedMessage/style/index.module.less +8 -0
  437. package/src/component/IMChatroom/page/chat/style/index.module.less +52 -0
  438. package/src/component/IMChatroom/page/home/connect/index.jsx +188 -0
  439. package/src/component/IMChatroom/page/home/connect/status.jsx +124 -0
  440. package/src/component/IMChatroom/page/home/context/cmd.jsx +37 -0
  441. package/src/component/IMChatroom/page/home/context/index.jsx +67 -0
  442. package/src/component/IMChatroom/page/home/index.jsx +164 -0
  443. package/src/component/IMChatroom/page/home/notice/index.jsx +123 -0
  444. package/src/component/IMChatroom/page/home/notice/style/index.module.less +50 -0
  445. package/src/component/IMChatroom/page/home/style/images/font-size-active-m.png +0 -0
  446. package/src/component/IMChatroom/page/home/style/images/font-size-active.png +0 -0
  447. package/src/component/IMChatroom/page/home/style/images/font-size-m.png +0 -0
  448. package/src/component/IMChatroom/page/home/style/images/font-size.png +0 -0
  449. package/src/component/IMChatroom/page/home/style/images/notice-active-m.png +0 -0
  450. package/src/component/IMChatroom/page/home/style/images/notice-active.png +0 -0
  451. package/src/component/IMChatroom/page/home/style/images/notice-m.png +0 -0
  452. package/src/component/IMChatroom/page/home/style/images/notice.png +0 -0
  453. package/src/component/IMChatroom/page/home/style/index.module.less +111 -0
  454. package/src/component/IMChatroom/page/member/index.jsx +15 -0
  455. package/src/component/IMChatroom/page/member/memberCount/index.jsx +44 -0
  456. package/src/component/IMChatroom/page/member/memberList/index.jsx +121 -0
  457. package/src/component/IMChatroom/page/member/style/index.module.less +3 -0
  458. package/src/component/IMChatroom/sdk/bridge.js +39 -0
  459. package/src/component/IMChatroom/sdk/cs/constants.js +20 -0
  460. package/src/component/IMChatroom/sdk/cs/index.js +101 -0
  461. package/src/component/IMChatroom/sdk/imChatroom.js +15 -0
  462. package/src/component/IMChatroom/sdk/imcore/constants.js +128 -0
  463. package/src/component/IMChatroom/sdk/imcore/emitters/chatroomDestroyed.js +5 -0
  464. package/src/component/IMChatroom/sdk/imcore/emitters/chatroomInfoGetFail.js +5 -0
  465. package/src/component/IMChatroom/sdk/imcore/emitters/chatroomKickedByAdmin.js +5 -0
  466. package/src/component/IMChatroom/sdk/imcore/emitters/chatroomKickedBySelf.js +5 -0
  467. package/src/component/IMChatroom/sdk/imcore/emitters/chatroomLoginFail.js +5 -0
  468. package/src/component/IMChatroom/sdk/imcore/emitters/chatroomLoginSuccess.js +5 -0
  469. package/src/component/IMChatroom/sdk/imcore/emitters/chatroomMemberLogin.js +5 -0
  470. package/src/component/IMChatroom/sdk/imcore/emitters/chatroomMemberLogout.js +5 -0
  471. package/src/component/IMChatroom/sdk/imcore/emitters/connectionConnected.js +5 -0
  472. package/src/component/IMChatroom/sdk/imcore/emitters/connectionConnecting.js +5 -0
  473. package/src/component/IMChatroom/sdk/imcore/emitters/connectionDisconnect.js +5 -0
  474. package/src/component/IMChatroom/sdk/imcore/emitters/index.js +57 -0
  475. package/src/component/IMChatroom/sdk/imcore/emitters/messageReceive.js +36 -0
  476. package/src/component/IMChatroom/sdk/imcore/index.js +178 -0
  477. package/src/component/IMChatroom/sdk/imcore/interceptors/request.js +7 -0
  478. package/src/component/IMChatroom/sdk/imcore/interceptors/response.js +5 -0
  479. package/src/component/IMChatroom/sdk/imcore/plugins/getAuth.js +64 -0
  480. package/src/component/IMChatroom/sdk/imcore/plugins/getConversationId.js +20 -0
  481. package/src/component/IMChatroom/sdk/imcore/plugins/getExtInfo.js +10 -0
  482. package/src/component/IMChatroom/sdk/imcore/plugins/getLoginInfo.js +48 -0
  483. package/src/component/IMChatroom/sdk/imcore/plugins/getPlatformType.js +12 -0
  484. package/src/component/IMChatroom/sdk/imcore/plugins/index.js +22 -0
  485. package/src/component/IMChatroom/sdk/imcore/util/format.js +177 -0
  486. package/src/component/IMChatroom/sdk/imcore/util/parser.js +35 -0
  487. package/src/component/IMChatroom/sdk/oms.js +18 -0
  488. package/src/component/IMChatroom/sdk/uc.js +3 -0
  489. package/src/component/IMChatroom/subscription/channel/app.js +5 -0
  490. package/src/component/IMChatroom/subscription/channel/ctl.js +22 -0
  491. package/src/component/IMChatroom/subscription/channel/member.js +40 -0
  492. package/src/component/IMChatroom/subscription/channel/message.js +13 -0
  493. package/src/component/IMChatroom/subscription/channel/ntf.js +86 -0
  494. package/src/component/IMChatroom/subscription/channel/tel.js +5 -0
  495. package/src/component/IMChatroom/subscription/channel/websocket.js +5 -0
  496. package/src/component/IMChatroom/subscription/event.js +37 -0
  497. package/src/component/IMChatroom/subscription/index.js +19 -0
  498. package/src/component/IMChatroom/util/account.js +8 -0
  499. package/src/component/IMChatroom/util/chatroom.js +255 -0
  500. package/src/component/IMChatroom/util/jsonBigInt.js +5 -0
  501. package/src/component/IMChatroom/util/location.js +12 -0
  502. package/src/component/PlayerTip/index.jsx +34 -0
  503. package/src/component/VideoBase/index.jsx +242 -0
  504. package/src/component/VideoBase/style.less +66 -0
  505. package/src/component/VideoBase/utils.js +81 -0
  506. package/src/component/mixin.less +10 -0
  507. package/src/component/status/403.jsx +15 -0
  508. package/src/component/status/404/img/404.png +0 -0
  509. package/src/component/status/404/index.jsx +73 -0
  510. package/src/component/status/404/index.module.less +36 -0
  511. package/src/component/status/Error/error.module.less +14 -0
  512. package/src/component/status/Error/img/error.png +0 -0
  513. package/src/component/status/Error/index.jsx +47 -0
  514. package/src/component/status/Loading/img/loading.svg +52 -0
  515. package/src/component/status/Loading/index.jsx +31 -0
  516. package/src/component/status/Loading/index.less +57 -0
  517. package/src/component/status/None/img/404.png +0 -0
  518. package/src/component/status/None/index.jsx +20 -0
  519. package/src/component/status/None/index.module.less +35 -0
  520. package/src/component/status/Status/index.jsx +26 -0
  521. package/src/component/status/Status/index.module.less +9 -0
  522. package/src/config/constant/commonUrl.js +2 -0
  523. package/src/config/constant/user.js +6 -0
  524. package/src/config/context/site-config.js +48 -0
  525. package/src/config/env/index.js +5 -0
  526. package/src/config/env/local/index.js +13 -0
  527. package/src/config/env/ncet-xedu/api.js +175 -0
  528. package/src/config/env/ncet-xedu/app.js +12 -0
  529. package/src/config/env/ncet-xedu/cs.js +8 -0
  530. package/src/config/env/ncet-xedu/index.js +14 -0
  531. package/src/config/env/ncet-xedu/push.js +5 -0
  532. package/src/config/env/preproduction/api.js +144 -0
  533. package/src/config/env/preproduction/app.js +12 -0
  534. package/src/config/env/preproduction/cs.js +8 -0
  535. package/src/config/env/preproduction/index.js +14 -0
  536. package/src/config/env/preproduction/push.js +5 -0
  537. package/src/config/env/product/api.js +113 -0
  538. package/src/config/env/product/app.js +12 -0
  539. package/src/config/env/product/cs.js +5 -0
  540. package/src/config/env/product/index.js +14 -0
  541. package/src/config/env/product/push.js +5 -0
  542. package/src/config/live.js +80 -0
  543. package/src/config/publicLive.js +53 -0
  544. package/src/config/request/assessments.js +24 -0
  545. package/src/config/request/config-center.js +8 -0
  546. package/src/config/request/helper.js +166 -0
  547. package/src/config/request/im-broadcasts.js +12 -0
  548. package/src/config/request/live-activity-gateway.js +8 -0
  549. package/src/config/request/live-activity.js +13 -0
  550. package/src/config/request/raw.js +6 -0
  551. package/src/config/request/x-cloud-web.js +13 -0
  552. package/src/config/request/x-proxy.js +34 -0
  553. package/src/detail/LineSwitch/index.jsx +71 -0
  554. package/src/detail/LineSwitch/index.module.less +0 -0
  555. package/src/detail/LiveCountDown/index.jsx +44 -0
  556. package/src/detail/LiveCountDown/index.module.less +32 -0
  557. package/src/detail/LiveOnlineCount/img/icon.svg +16 -0
  558. package/src/detail/LiveOnlineCount/index.jsx +68 -0
  559. package/src/detail/LiveOnlineCount/index.module.less +33 -0
  560. package/src/detail/LiveOnlineCount/util.js +74 -0
  561. package/src/detail/LiveStatus/AnchorOnTheWay.jsx +78 -0
  562. package/src/detail/LiveStatus/index.jsx +186 -0
  563. package/src/detail/LiveStatus/index.module.less +193 -0
  564. package/src/detail/LiveVideo/asset/play-button-hover-m.png +0 -0
  565. package/src/detail/LiveVideo/asset/play-button-hover.png +0 -0
  566. package/src/detail/LiveVideo/asset/play-button-m.png +0 -0
  567. package/src/detail/LiveVideo/asset/play-button.png +0 -0
  568. package/src/detail/LiveVideo/config.js +37 -0
  569. package/src/detail/LiveVideo/index.jsx +186 -0
  570. package/src/detail/LiveVideo/index.module.less +41 -0
  571. package/src/detail/NotLoginChatroom/asset/empty-m.png +0 -0
  572. package/src/detail/NotLoginChatroom/asset/empty.png +0 -0
  573. package/src/detail/NotLoginChatroom/index.jsx +37 -0
  574. package/src/detail/NotLoginChatroom/index.module.less +46 -0
  575. package/src/detail/RecordVideo/index.jsx +148 -0
  576. package/src/detail/RecordVideo/index.module.less +32 -0
  577. package/src/detail/ReplayVideo/index.jsx +93 -0
  578. package/src/detail/ReplayVideo/index.module.less +65 -0
  579. package/src/detail/const.js +20 -0
  580. package/src/detail/hook/usePullSource.js +50 -0
  581. package/src/detail/hook/usePullState.js +51 -0
  582. package/src/detail/img/icon_coffee.png +0 -0
  583. package/src/detail/img/icon_completed.png +0 -0
  584. package/src/detail/index.jsx +479 -0
  585. package/src/detail/index.module.less +164 -0
  586. package/src/hook/useAsync.js +84 -0
  587. package/src/hook/useGoToPage.js +83 -0
  588. package/src/hook/useInterval.js +28 -0
  589. package/src/hook/useIsMounted.js +17 -0
  590. package/src/hook/useModuleByRole.js +53 -0
  591. package/src/hook/usePageScrollable.js +52 -0
  592. package/src/hook/usePortal.js +83 -0
  593. package/src/hook/useScrollRestore/index.js +32 -0
  594. package/src/hook/useScrollRestore/scrollContext.js +20 -0
  595. package/src/hook/useTrackRef.js +11 -0
  596. package/src/hook/useWindowSize.js +28 -0
  597. package/src/hook/useZoom.js +47 -0
  598. package/src/index.js +15 -0
  599. package/src/lib/getServiceConfig.js +102 -0
  600. package/src/service/common.js +73 -0
  601. package/src/service/content-mgr.js +73 -0
  602. package/src/service/im-group.js +12 -0
  603. package/src/service/im.js +7 -0
  604. package/src/service/imBroadcasts.js +33 -0
  605. package/src/service/like.js +134 -0
  606. package/src/service/live.js +236 -0
  607. package/src/service/manageApi.js +7 -0
  608. package/src/service/managePortal.js +6 -0
  609. package/src/service/myStudyRecord.js +93 -0
  610. package/src/service/navigation.js +47 -0
  611. package/src/service/ndMeeting.js +10 -0
  612. package/src/service/ndr.js +122 -0
  613. package/src/service/news.js +93 -0
  614. package/src/service/personalCenter.js +270 -0
  615. package/src/service/qualityCourse.js +31 -0
  616. package/src/service/recommend.js +81 -0
  617. package/src/service/school.js +323 -0
  618. package/src/service/search.js +170 -0
  619. package/src/service/site-config.js +7 -0
  620. package/src/service/socialCensor.js +45 -0
  621. package/src/service/specialEdu.js +31 -0
  622. package/src/service/suggestion.js +85 -0
  623. package/src/service/syncClassroom.js +321 -0
  624. package/src/service/tCourse.js +204 -0
  625. package/src/service/tchTraining.js +37 -0
  626. package/src/service/uc.js +45 -0
  627. package/src/util/app.js +1 -0
  628. package/src/util/array.js +3 -0
  629. package/src/util/auth/func.js +57 -0
  630. package/src/util/date.js +53 -0
  631. package/src/util/env.js +9 -0
  632. package/src/util/getTimestamp.js +10 -0
  633. package/src/util/hof.js +105 -0
  634. package/src/util/live/index.js +42 -0
  635. package/src/util/netUrl.js +35 -0
  636. package/src/util/object.js +13 -0
  637. package/src/util/push/index.js +58 -0
  638. package/src/util/request.js +227 -0
  639. package/src/util/type.js +17 -0
  640. package/src/util/url.js +203 -0
  641. package/src/util/video.js +26 -0
  642. package/test/setup.js +21 -0
  643. package/test/unit/component/header/logo.spec.jsx +8 -0
  644. package/test/unit/helper.jsx +25 -0
  645. package/test/unit/util/date.spec.js +40 -0
@@ -0,0 +1,321 @@
1
+ import axios from 'axios'
2
+ import { memoize } from 'lodash'
3
+ import { getUserInfo } from '@/util/auth/func'
4
+ import { getRoleCache } from '@/util/auth/role'
5
+
6
+ import xCourseCdn, { apiTeach } from '@/config/request/x-course-cdn'
7
+ import xCourse from '@/config/request/x-course'
8
+ import xClassHourAct from '@/config/request/x-class-hour-activity'
9
+
10
+ import teachRecord from '@/config/request/teach-record'
11
+ import libraryStatic from '@/lib/LibraryStatic'
12
+ import config from '@/config/env'
13
+ import { recommendAPIV2 } from '@/config/request/x-proxy'
14
+ // import { getTimestamp } from '@/util/getTimestamp'
15
+
16
+ const difficultTagsName = 'exercise-difficult-tags'
17
+
18
+ const { app } = config
19
+ const sdpAppId = app.appid
20
+
21
+ /**
22
+ * 根据标签组从indexedDb中获取课本信息
23
+ *
24
+ * @export
25
+ * @param {array} tags 过滤课本的标签
26
+ * @returns 课本列表
27
+ */
28
+ export async function getBookList({ tags, id }) {
29
+ if (tags && tags.length) {
30
+ const bookList = await libraryStatic.getTextBookList((book) => {
31
+ const tagList = book.tag_list.filter(Boolean)
32
+ return tags.every((tag) => !!tagList.find((t) => t.tag_id === tag.tag_id))
33
+ })
34
+ return bookList
35
+ }
36
+ if (id) {
37
+ const bookList = await libraryStatic.getTextBookList((book) => book.id === id)
38
+ return bookList
39
+ }
40
+ return []
41
+ }
42
+
43
+ /**
44
+ * 获取课程相关信息
45
+ *
46
+ * @export
47
+ * @param {string} courseId 课程(课本)id
48
+ * @returns 课程相关信息
49
+ */
50
+ export async function getCourseRelativeInfo(courseId) {
51
+ const { data } = await xCourseCdn.get(`/v2/business_courses/${courseId}/course_relative_infos/zh-CN.json`)
52
+ return data
53
+ }
54
+
55
+ /**
56
+ * 获取教师研修课课程相关信息
57
+ *
58
+ * @export
59
+ * @param {string} courseId 课程(课本)id
60
+ * @returns 课程相关信息
61
+ */
62
+ export async function getCourseTeachRelativeInfo(courseId) {
63
+ const { data } = await apiTeach.get(`/v2/business_courses/${courseId}/course_relative_infos/zh-CN.json`)
64
+ return data
65
+ }
66
+
67
+ /**
68
+ * 获取强师培训课程相关信息
69
+ *
70
+ * @export
71
+ * @param {string} courseId 课程(课本)id
72
+ * @returns 课程相关信息
73
+ */
74
+ const getCourseRelativeInfoAndProviders = memoize(async (courseId) => {
75
+ const { data } = await apiTeach.get(`/v2/business_courses/${courseId}/course_relative_infos/zh-CN.json`)
76
+ const {
77
+ data: provider
78
+ } = await apiTeach.get(`/v2/business_courses/${courseId}/course_providers.json`)
79
+ if (data.course_detail && provider?.length) {
80
+ data.course_detail.ext_info = {
81
+ ...data.course_detail.ext_info,
82
+ source: provider.map((item) => item.name).join('/')
83
+ }
84
+ }
85
+ return data
86
+ }, (courseId) => `CourseRelativeInfo_${courseId}`)
87
+
88
+ export {
89
+ getCourseRelativeInfoAndProviders
90
+ }
91
+
92
+ export async function getCourseInfo(courseId) {
93
+ const textBookList = await libraryStatic.getTextBookList((data) => data.resource_id === courseId)
94
+ return textBookList[0]
95
+ }
96
+
97
+ /**
98
+ * 获取活动集信息, 包括了章节目录信息
99
+ *
100
+ * @export
101
+ * @param {string} activitySetId
102
+ * @returns 课程的活动集信息, nodes字段中包含活动节点信息
103
+ */
104
+ export async function getActiveSet(activitySetId) {
105
+ const { data } = await xCourseCdn.get(`/v2/activity_sets/${activitySetId}/fulls.json`)
106
+ return data
107
+ }
108
+
109
+ // http://api.e.101.com/services/x-course/description/rest/html?env=test&version=1.0-SNAPSHOT#/definitions/%E8%AF%BE%E7%A8%8B%E8%AF%A6%E6%83%85%E4%BF%A1%E6%81%AF
110
+ // 获取用户进度信息
111
+ // 2022/4/1 取消获取服务端用户进度, 直接使用本地进度
112
+ export async function getUserRelativeInfo(courseId) {
113
+ const { data } = await xCourse.get(`/v2/business_courses/${courseId}/user_relative_infos`)
114
+ return data
115
+ }
116
+
117
+ /**
118
+ * 获取课时配置
119
+ *
120
+ * @export
121
+ * @returns 课时配置
122
+ */
123
+ export async function getActivityConfig() {
124
+ const { data } = await xCourseCdn.get(`/v1/x_class_hour_activity/config/${sdpAppId}/_/_.json`)
125
+ return data
126
+ }
127
+
128
+ /**
129
+ * 获取单个课时活动信息
130
+ *
131
+ * @export
132
+ * @param {string} activityId
133
+ * @returns 课时活动和关联的信息
134
+ */
135
+ export async function getActivityInfo(activityId) {
136
+ const { data } = await xCourseCdn.get(`/v1/x_class_hour_activity/${activityId}.json`)
137
+ return data
138
+ }
139
+
140
+ /**
141
+ * 获取课时练习列表
142
+ *
143
+ * @export
144
+ * @param {string} activityId
145
+ * @returns 课时练习列表
146
+ */
147
+ export async function getExerciseList(activityId) {
148
+ const { data } = await xCourseCdn.get(`/v1/x_class_hour_activity/${activityId}/exercises.json`)
149
+ return data
150
+ }
151
+
152
+ /**
153
+ * 获取课时练习列表(动态接口, 用户)
154
+ *
155
+ * @export
156
+ * @param {string} activityId
157
+ * @returns 课时练习列表
158
+ */
159
+ export async function getExerciseListSyncApi(activityId) {
160
+ const { data } = await xClassHourAct.get(`/v1/x_class_hour_activity/${activityId}/exercises`)
161
+ return data
162
+ }
163
+
164
+ /**
165
+ * 获取资源列表
166
+ *
167
+ * @export
168
+ * @param {string} activityId
169
+ * @returns 资源列表
170
+ */
171
+ export async function getResourceList(activityId) {
172
+ const { data } = await xCourseCdn.get(`/v1/x_class_hour_activity/${activityId}/resources.json`)
173
+ return data
174
+ }
175
+
176
+ /**
177
+ * 获取单个资源播放信息
178
+ *
179
+ * @export
180
+ * @param {string} activityId
181
+ * @param {string} resourceId
182
+ * @returns 资源信息
183
+ */
184
+ export async function getResourceInfo(activityId, resourceId) {
185
+ const { data } = await xCourseCdn.get(`/v1/x_class_hour_activity/${activityId}/resources/${resourceId}.json`)
186
+ return data
187
+ }
188
+
189
+ /**
190
+ * 获取课时活动讲师列表
191
+ *
192
+ * @export
193
+ * @param {string} activityId
194
+ * @returns 课时对应讲师列表
195
+ */
196
+ export async function getLecturerList(activityId) {
197
+ const { data } = await xCourseCdn.get(`/v1/x_class_hour_activity/${activityId}/lecturers.json`)
198
+ return data
199
+ }
200
+
201
+ export async function getExercisePrepareData(preGenPaperPath) {
202
+ if (!preGenPaperPath) {
203
+ return
204
+ }
205
+
206
+ let url = preGenPaperPath
207
+ console.log('process.env.SDP_ENV', process.env.SDP_ENV)
208
+ // if (process.env.SDP_ENV === 'ncet-xedu') {
209
+ // url += `?v=${getTimestamp(24 * 60 * 60)}`
210
+ // }
211
+ url += `?v=${Math.random()}`
212
+ const response = await axios.get(url)
213
+ if (response.status === 200) {
214
+ const { data } = response
215
+ const questions = data?.question_vos || []
216
+ const paperVo = {
217
+ parts: [
218
+ {
219
+ paper_questions: questions
220
+ }
221
+ ]
222
+ }
223
+ return {
224
+ questions,
225
+ paperVo
226
+ }
227
+ }
228
+ }
229
+
230
+ export async function getExerciseDifficultTags() {
231
+ let difficultTags = JSON.parse(localStorage.getItem(difficultTagsName))
232
+
233
+ if (!difficultTags) {
234
+ const response = await axios.get('https://ndr-gateway.beta.101.com/v1.0/1/tag_cascades?tag_path=j2jiHwFu-&global_lang=zh-CN')
235
+ if (response.status === 200) {
236
+ const { data } = response
237
+ difficultTags = data
238
+ }
239
+ localStorage.setItem(difficultTagsName, JSON.stringify(difficultTags))
240
+ }
241
+ return difficultTags
242
+ }
243
+
244
+ /**
245
+ * 查询授课记录
246
+ * @returns array[课程信息]
247
+ */
248
+ export async function getTeachRecord() {
249
+ const { data } = await teachRecord.get('/course')
250
+ return data
251
+ }
252
+
253
+ /**
254
+ * 新增授课课程
255
+ *
256
+ * @export
257
+ * @param {*} body 授课课程信息
258
+ */
259
+ export async function addTeachRecord(body) {
260
+ const { data } = await teachRecord.post('/course', body)
261
+ return data
262
+ }
263
+
264
+ /**
265
+ * 更新授课信息
266
+ * @param {string} activityId 课程id
267
+ * @param {string} params 课程信息
268
+ */
269
+ export async function updateTeachRecord(activityId, params) {
270
+ await teachRecord.patch(`/course_id/${activityId}`, params)
271
+ }
272
+
273
+ /**
274
+ * 删除授课课程
275
+ * @param {string} activityId 课程id
276
+ */
277
+ export async function deleteTeachRecord(activityId) {
278
+ await teachRecord.delete(`/course_id/${activityId}`)
279
+ }
280
+
281
+ // export async function getCourseProgress(courseId, userId) {
282
+ // const { data } = await teacherCommmunity.get(`/business_courses/${courseId}/users/${userId}/progresses`, null, {
283
+ // headers: {
284
+ // 'sdp-app-id': sdpAppId
285
+ // }
286
+ // })
287
+ // return data
288
+ // }
289
+
290
+ export const RecommendChannelCode = {
291
+ basicWork: 'basicWork',
292
+ prepareLesson: 'prepare_lesson',
293
+ tchMaterial: 'tchMaterial',
294
+ course: 'course',
295
+ qualityCourse: 'qualityCourse'
296
+ }
297
+
298
+ export async function getCourseRecommendList({
299
+ libraryId,
300
+ resourceId,
301
+ channelCode,
302
+ topLimit
303
+ }) {
304
+ const userInfo = await getUserInfo()
305
+ const userRole = userInfo && getRoleCache({
306
+ userId: userInfo && userInfo.user_id
307
+ })
308
+
309
+ const result = await recommendAPIV2.get(`/libraries/${libraryId}/resource/${resourceId}/recommend`, {
310
+ params: {
311
+ channel_codes: channelCode,
312
+ top_limit: topLimit
313
+ },
314
+ ...userRole ? {
315
+ headers: {
316
+ 'sdp-identity-code': userRole
317
+ }
318
+ } : null
319
+ })
320
+ return result.data
321
+ }
@@ -0,0 +1,204 @@
1
+ import axios from 'axios'
2
+
3
+ import tCourseCdn from '@/config/request/t-course-cdn'
4
+ import tCourse from '@/config/request/x-course'
5
+ import teacherCommmunity from '@/config/request/teacher-community'
6
+ import libraryStatic from '@/lib/LibraryStatic'
7
+ import config from '@/config/env'
8
+ import { getTimestamp } from '@/util/getTimestamp'
9
+
10
+ const difficultTagsName = 'exercise-difficult-tags'
11
+
12
+ const { app } = config
13
+ const sdpAppId = app.appid
14
+
15
+ /**
16
+ * 根据标签组从indexedDb中获取课本信息
17
+ *
18
+ * @export
19
+ * @param {array} tags 过滤课本的标签
20
+ * @returns 课本列表
21
+ */
22
+ export async function getBookList(tags) {
23
+ if (!tags || !tags.length) return []
24
+ const bookList = await libraryStatic.getTextBookList((book) => {
25
+ const { catalog_ids: catalogIds } = book
26
+ return tags.every((tag) => catalogIds && catalogIds.includes(tag))
27
+ })
28
+ return bookList.sort((firstEl, secondEl) => getBookVolumeTag(firstEl) - getBookVolumeTag(secondEl))
29
+ }
30
+
31
+ function getBookVolumeTag(book) {
32
+ const tagCode = book?.tagInfos?.volume?.tagCode
33
+ return tagCode ? tagCode.replace(/\$V/, '') : 0
34
+ }
35
+
36
+ /**
37
+ * 获取课程相关信息
38
+ *
39
+ * @export
40
+ * @param {string} courseId 课程(课本)id
41
+ * @returns 课程相关信息
42
+ */
43
+ export async function getCourseRelativeInfo(courseId, channel) {
44
+ const { data } = await tCourseCdn(channel).get(`/v2/business_courses/${courseId}/course_relative_infos/zh-CN.json`)
45
+ return data
46
+ }
47
+
48
+ export async function getCourseInfo(courseId) {
49
+ const textBookList = await libraryStatic.getTextBookList((data) => data.resource_id === courseId)
50
+ return textBookList[0]
51
+ }
52
+
53
+ /**
54
+ * 获取活动集信息, 包括了章节目录信息
55
+ *
56
+ * @export
57
+ * @param {string} activitySetId
58
+ * @returns 课程的活动集信息, nodes字段中包含活动节点信息
59
+ */
60
+ export async function getActiveSet(activitySetId, channel) {
61
+ const { data } = await tCourseCdn(channel).get(`/v2/activity_sets/${activitySetId}/fulls.json`)
62
+ return data
63
+ }
64
+
65
+ // http://api.e.101.com/services/x-course/description/rest/html?env=test&version=1.0-SNAPSHOT#/definitions/%E8%AF%BE%E7%A8%8B%E8%AF%A6%E6%83%85%E4%BF%A1%E6%81%AF
66
+ // 获取用户进度信息
67
+ // 2022/4/1 取消获取服务端用户进度, 直接使用本地进度
68
+ export async function getUserRelativeInfo(courseId) {
69
+ const { data } = await tCourse.get(`/v2/business_courses/${courseId}/user_relative_infos`)
70
+ return data
71
+ }
72
+
73
+ /**
74
+ * 获取课时配置
75
+ *
76
+ * @export
77
+ * @returns 课时配置
78
+ */
79
+ export async function getActivityConfig() {
80
+ const { data } = await tCourseCdn().get(`/v1/x_class_hour_activity/config/${sdpAppId}/_/_.json`)
81
+ return data
82
+ }
83
+
84
+ /**
85
+ * 获取单个课时活动信息
86
+ *
87
+ * @export
88
+ * @param {string} activityId
89
+ * @returns 课时活动和关联的信息
90
+ */
91
+ export async function getActivityInfo(activityId) {
92
+ const { data } = await tCourseCdn().get(`/v1/x_class_hour_activity/${activityId}.json`)
93
+ return data
94
+ }
95
+
96
+ /**
97
+ * 获取课时练习列表
98
+ *
99
+ * @export
100
+ * @param {string} activityId
101
+ * @returns 课时练习列表
102
+ */
103
+ export async function getExerciseList(activityId) {
104
+ const { data } = await tCourseCdn().get(`/v1/x_class_hour_activity/${activityId}/exercises.json`)
105
+ return data
106
+ }
107
+
108
+ /**
109
+ * 获取资源列表
110
+ *
111
+ * @export
112
+ * @param {string} activityId
113
+ * @returns 资源列表
114
+ */
115
+ export async function getResourceList(activityId) {
116
+ const { data } = await tCourseCdn().get(`/v1/x_class_hour_activity/${activityId}/resources.json`)
117
+ return data
118
+ }
119
+
120
+ /**
121
+ * 获取单个资源播放信息
122
+ *
123
+ * @export
124
+ * @param {string} activityId
125
+ * @param {string} resourceId
126
+ * @returns 资源信息
127
+ */
128
+ export async function getResourceInfo(activityId, resourceId) {
129
+ const { data } = await tCourseCdn().get(`/v1/x_class_hour_activity/${activityId}/resources/${resourceId}.json`)
130
+ return data
131
+ }
132
+
133
+ /**
134
+ * 获取课时活动讲师列表
135
+ *
136
+ * @export
137
+ * @param {string} activityId
138
+ * @returns 课时对应讲师列表
139
+ */
140
+ export async function getLecturerList(activityId) {
141
+ const { data } = await tCourseCdn().get(`/v1/x_class_hour_activity/${activityId}/lecturers.json`)
142
+ return data
143
+ }
144
+
145
+ export async function getExercisePrepareData(preGenPaperPath) {
146
+ if (!preGenPaperPath) {
147
+ return
148
+ }
149
+
150
+ let url = preGenPaperPath
151
+ if (process.env.SDP_ENV !== 'ncet-xedu') {
152
+ url += `?v=${getTimestamp(24 * 60 * 60)}`
153
+ }
154
+ const response = await axios.get(url)
155
+ if (response.status === 200) {
156
+ const { data } = response
157
+ const questions = data?.question_vos || []
158
+ const paperVo = {
159
+ parts: [
160
+ {
161
+ paper_questions: questions
162
+ }
163
+ ]
164
+ }
165
+ return {
166
+ questions,
167
+ paperVo
168
+ }
169
+ }
170
+ }
171
+
172
+ export async function getExerciseDifficultTags() {
173
+ let difficultTags = JSON.parse(localStorage.getItem(difficultTagsName))
174
+
175
+ if (!difficultTags) {
176
+ const response = await axios.get(
177
+ 'https://ndr-gateway.beta.101.com/v1.0/1/tag_cascades?tag_path=j2jiHwFu-&global_lang=zh-CN'
178
+ )
179
+ if (response.status === 200) {
180
+ const { data } = response
181
+ difficultTags = data
182
+ }
183
+ localStorage.setItem(difficultTagsName, JSON.stringify(difficultTags))
184
+ }
185
+ return difficultTags
186
+ }
187
+
188
+ export async function getCourseProgress(courseId, userId) {
189
+ const { data } = await teacherCommmunity.get(`/business_courses/${courseId}/users/${userId}/progresses`, null, {
190
+ headers: {
191
+ 'sdp-app-id': sdpAppId
192
+ }
193
+ })
194
+ return data
195
+ }
196
+ // 根据用户id获取区域,学校
197
+ export async function getAreasByUserId(userId) {
198
+ const { data } = await teacherCommmunity.get(`/managers/${userId}`, null, {
199
+ headers: {
200
+ 'sdp-app-id': sdpAppId
201
+ }
202
+ })
203
+ return data
204
+ }
@@ -0,0 +1,37 @@
1
+ import xCloudStatic from '@/config/request/x-cloud-api-static'
2
+ import xCourseCdn, { apiTeach } from '@/config/request/x-course-cdn'
3
+
4
+ // 获取研修课所有标签信息
5
+ export async function getTagTree() {
6
+ const { data } = await xCloudStatic.get('/tag_views/trees/x-tcourse.json')
7
+ return data
8
+ }
9
+
10
+ // 获取视频活动课时
11
+ export async function getVideoActivity(activityId) {
12
+ const { data } = await xCourseCdn.get(`/v1/video_activity/${activityId}.json`)
13
+ return data
14
+ }
15
+
16
+ // 获取文档活动课时
17
+ export async function getDocumentActivity(activityId) {
18
+ const { data } = await xCourseCdn.get(`/v1/document_activity/${activityId}.json`)
19
+ return data
20
+ }
21
+
22
+ /**
23
+ * 获取活动集信息, 包括了章节目录信息
24
+ *
25
+ * @export
26
+ * @param {string} activitySetId
27
+ * @returns 课程的活动集信息, nodes字段中包含活动节点信息
28
+ */
29
+ export async function getActiveSet(activitySetId) {
30
+ const {
31
+ data
32
+ } = await apiTeach.get(`/v2/activity_sets/${activitySetId}/fulls.json`)
33
+ if (data) {
34
+ data.activity_set_id = activitySetId
35
+ }
36
+ return data
37
+ }
@@ -0,0 +1,45 @@
1
+ import ucAPI from '@/config/request/uc'
2
+ import config from '@/config/env'
3
+ import ucS3Api from '@/config/request/uc-s3'
4
+
5
+ const { env } = config
6
+
7
+ export const getCSToken = async (data) => {
8
+ const url = '/cs_token'
9
+ const response = await ucAPI.post(url, data)
10
+ return response.data
11
+ }
12
+
13
+ export const getUserInfo = async (
14
+ userId,
15
+ params = {
16
+ with_ext: false
17
+ }
18
+ ) => {
19
+ const url = `/users/${userId}`
20
+ const response = await ucAPI.get(url, {
21
+ params
22
+ })
23
+ return response?.data
24
+ }
25
+
26
+ export const getPublicUserInfo = async (userId) => {
27
+ const url = `/public/${env === 'ncet-xedu' ? 'person_accounts' : 'users'}/${userId}`
28
+ const response = await ucAPI.get(url, {
29
+ params: {
30
+ with_ext: false
31
+ }
32
+ })
33
+ return response.data
34
+ }
35
+
36
+ export const setAccountInfo = async (userId, data) => {
37
+ const url = `/users/${userId}`
38
+ const response = await ucAPI.patch(url, data)
39
+ return response.data
40
+ }
41
+
42
+ export const getUCS3CSToken = async (param) => {
43
+ const { data } = await ucS3Api.post('/cs_token', param)
44
+ return data
45
+ }
@@ -0,0 +1 @@
1
+ export const inApp = window.Bridge && window.navigator.userAgent.indexOf('SmartCanWebView') !== -1
@@ -0,0 +1,3 @@
1
+ export function getRandomInArray(arr) {
2
+ return arr[Math.floor(Math.random() * arr.length)]
3
+ }
@@ -0,0 +1,57 @@
1
+ import buildURL from 'axios/lib/helpers/buildURL'
2
+
3
+ let uc
4
+ let userInfo
5
+
6
+ export function getUCInstance() {
7
+ return uc
8
+ }
9
+
10
+ export function setUC(currentUC, _userInfo) {
11
+ if (!uc) {
12
+ uc = currentUC
13
+ }
14
+ userInfo = _userInfo
15
+ }
16
+
17
+ export function getAvatarURL(userId) {
18
+ return uc.getAvatarURL({
19
+ userId
20
+ })
21
+ }
22
+
23
+ export async function logout() {
24
+ try {
25
+ await uc.logout()
26
+ } catch {
27
+ uc._ucToken.clearToken()
28
+ }
29
+ }
30
+
31
+ export async function getSessionUserInfo() {
32
+ const account = uc.getCurrentAccount()
33
+ if (account) {
34
+ const curUserInfo = await account.getAccountInfo({
35
+ force: true
36
+ })
37
+ return curUserInfo
38
+ }
39
+ }
40
+
41
+ export async function getAuthHeader(c) {
42
+ const hasLogin = !!userInfo
43
+ if (hasLogin) {
44
+ const {
45
+ url: _url,
46
+ method,
47
+ params,
48
+ paramsSerializer
49
+ } = c
50
+ const url = buildURL(_url, params, paramsSerializer).replace(/@/g, '%40').replace(/'/g, '%27')
51
+ const auth = await uc.getAuthHeaderAsync({
52
+ url,
53
+ method
54
+ })
55
+ return auth
56
+ }
57
+ }