@x-edu/live-player 0.0.19 → 0.0.21

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 (302) hide show
  1. package/.browserslistrc +10 -10
  2. package/.eslintignore +8 -8
  3. package/.eslintrc.js +26 -26
  4. package/.gem-mine +11 -11
  5. package/.postcssrc.js +6 -6
  6. package/README.md +145 -145
  7. package/babel.config.js +33 -33
  8. package/dist/XEduLivePlayer.common.js +12161 -1154
  9. package/dist/XEduLivePlayerPre.common.js +12369 -1358
  10. package/doc/develop.md +23 -23
  11. package/gem-mine.config.js +86 -86
  12. package/jest.config.js +9 -9
  13. package/jsconfig.json +15 -15
  14. package/mock/helper.js +8 -8
  15. package/mock/index.js +34 -34
  16. package/package.json +99 -99
  17. package/public/3rd/ali-player/alipayercomponents-1.0.8.min.js +26 -26
  18. package/public/3rd/ali-player/aliplayer-hls-min.js +27 -27
  19. package/public/3rd/ali-player/aliplayer-min.js +1 -1
  20. package/public/3rd/im-web-push/index.umd.js +14 -14
  21. package/public/JsBridge.js +1602 -1602
  22. package/public/fish/editor/themes/default/css/ueditor.css +1905 -1905
  23. package/public/fish/editor/third-party/codemirror/codemirror.css +104 -104
  24. package/public/fish/editor/third-party/codemirror/codemirror.js +3581 -3581
  25. package/public/fish/editor/third-party/zeroclipboard/ZeroClipboard.js +1255 -1255
  26. package/public/fish/editor/ueditor.all.min.js +16 -16
  27. package/public/fish/editor/ueditor.config.js +467 -467
  28. package/public/fish/icon/umd-4.1.2.js +1 -1
  29. package/public/fish/video/videoplayer.min.css +6 -6
  30. package/public/fish/video/videoplayer.min.js +31 -31
  31. package/public/fish/video/zh-CN.js +82 -82
  32. package/public/icon/demo.css +539 -539
  33. package/public/icon/demo_index.html +2189 -2189
  34. package/public/icon/iconfont.css +363 -363
  35. package/public/icon/iconfont.json +618 -618
  36. package/public/index.html +50 -50
  37. package/script/image/readme.md +77 -77
  38. package/script/postcss.js +48 -48
  39. package/src/App.jsx +24 -24
  40. package/src/asset/img/course/playing.svg +21 -21
  41. package/src/asset/img/icon-course-white.svg +3 -3
  42. package/src/asset/img/icon-course.svg +3 -3
  43. package/src/asset/img/icon-eye-white.svg +4 -4
  44. package/src/asset/img/icon-eye.svg +4 -4
  45. package/src/asset/img/icon-school-white.svg +3 -3
  46. package/src/asset/img/icon-school.svg +3 -3
  47. package/src/asset/img/loading.svg +52 -52
  48. package/src/asset/img/video-play.svg +6 -6
  49. package/src/asset/style/background.less +19 -19
  50. package/src/asset/style/banner.less +36 -36
  51. package/src/asset/style/base.less +74 -74
  52. package/src/asset/style/index.less +114 -114
  53. package/src/asset/style/reset-theme.less +141 -141
  54. package/src/asset/style/theme/index.less +55 -55
  55. package/src/asset/style/theme/party/global.less +20 -20
  56. package/src/asset/style/theme/party/override.less +57 -57
  57. package/src/asset/style/theme/test/global.less +18 -18
  58. package/src/asset/style/theme/test/override.less +45 -45
  59. package/src/asset/style/variable.less +12 -12
  60. package/src/component/AliPlayer/index.jsx +49 -49
  61. package/src/component/Avatar/index.jsx +50 -50
  62. package/src/component/Empty/index.jsx +34 -34
  63. package/src/component/Empty/index.module.less +37 -37
  64. package/src/component/IMChatroom/component/status/403.jsx +13 -13
  65. package/src/component/IMChatroom/component/status/404.jsx +13 -13
  66. package/src/component/IMChatroom/component/status/Error.jsx +23 -23
  67. package/src/component/IMChatroom/component/status/Loading.jsx +5 -5
  68. package/src/component/IMChatroom/config/app/config.js +118 -118
  69. package/src/component/IMChatroom/config/app/index.js +60 -60
  70. package/src/component/IMChatroom/config/env.js +5 -5
  71. package/src/component/IMChatroom/config/index.js +3 -3
  72. package/src/component/IMChatroom/config/request/config/base.js +124 -124
  73. package/src/component/IMChatroom/config/request/config/chatroom.js +26 -26
  74. package/src/component/IMChatroom/config/request/config/imCoreApi.js +21 -21
  75. package/src/component/IMChatroom/config/request/index.js +21 -21
  76. package/src/component/IMChatroom/config/request/proxy.js +39 -39
  77. package/src/component/IMChatroom/config/url.js +7 -7
  78. package/src/component/IMChatroom/constants/errorCode.js +9 -9
  79. package/src/component/IMChatroom/constants/index.js +84 -84
  80. package/src/component/IMChatroom/constants/origin.js +27 -27
  81. package/src/component/IMChatroom/context/chatroom.js +154 -154
  82. package/src/component/IMChatroom/context/connect.js +28 -28
  83. package/src/component/IMChatroom/i18n/en/index.json +73 -73
  84. package/src/component/IMChatroom/i18n/index.jsx +14 -14
  85. package/src/component/IMChatroom/i18n/language.js +9 -9
  86. package/src/component/IMChatroom/i18n/zh-CN/index.json +73 -73
  87. package/src/component/IMChatroom/index.jsx +49 -49
  88. package/src/component/IMChatroom/page/chat/index.jsx +27 -27
  89. package/src/component/IMChatroom/page/chat/messageEditor/index.jsx +375 -375
  90. package/src/component/IMChatroom/page/chat/messageList/index.jsx +354 -354
  91. package/src/component/IMChatroom/page/chat/stickedMessage/index.jsx +59 -59
  92. package/src/component/IMChatroom/page/chat/stickedMessage/style/index.module.less +7 -7
  93. package/src/component/IMChatroom/page/chat/style/index.module.less +51 -51
  94. package/src/component/IMChatroom/page/home/connect/index.jsx +188 -188
  95. package/src/component/IMChatroom/page/home/connect/status.jsx +124 -124
  96. package/src/component/IMChatroom/page/home/context/cmd.jsx +37 -37
  97. package/src/component/IMChatroom/page/home/context/index.jsx +67 -67
  98. package/src/component/IMChatroom/page/home/index.jsx +164 -164
  99. package/src/component/IMChatroom/page/home/notice/index.jsx +123 -123
  100. package/src/component/IMChatroom/page/home/notice/style/index.module.less +49 -49
  101. package/src/component/IMChatroom/page/home/style/index.module.less +110 -110
  102. package/src/component/IMChatroom/page/member/index.jsx +15 -15
  103. package/src/component/IMChatroom/page/member/memberCount/index.jsx +44 -44
  104. package/src/component/IMChatroom/page/member/memberList/index.jsx +121 -121
  105. package/src/component/IMChatroom/page/member/style/index.module.less +2 -2
  106. package/src/component/IMChatroom/sdk/bridge.js +39 -39
  107. package/src/component/IMChatroom/sdk/cs/constants.js +20 -20
  108. package/src/component/IMChatroom/sdk/cs/index.js +101 -101
  109. package/src/component/IMChatroom/sdk/imChatroom.js +15 -15
  110. package/src/component/IMChatroom/sdk/imcore/constants.js +128 -128
  111. package/src/component/IMChatroom/sdk/imcore/emitters/chatroomDestroyed.js +5 -5
  112. package/src/component/IMChatroom/sdk/imcore/emitters/chatroomInfoGetFail.js +5 -5
  113. package/src/component/IMChatroom/sdk/imcore/emitters/chatroomKickedByAdmin.js +5 -5
  114. package/src/component/IMChatroom/sdk/imcore/emitters/chatroomKickedBySelf.js +5 -5
  115. package/src/component/IMChatroom/sdk/imcore/emitters/chatroomLoginFail.js +5 -5
  116. package/src/component/IMChatroom/sdk/imcore/emitters/chatroomLoginSuccess.js +5 -5
  117. package/src/component/IMChatroom/sdk/imcore/emitters/chatroomMemberLogin.js +5 -5
  118. package/src/component/IMChatroom/sdk/imcore/emitters/chatroomMemberLogout.js +5 -5
  119. package/src/component/IMChatroom/sdk/imcore/emitters/connectionConnected.js +5 -5
  120. package/src/component/IMChatroom/sdk/imcore/emitters/connectionConnecting.js +5 -5
  121. package/src/component/IMChatroom/sdk/imcore/emitters/connectionDisconnect.js +5 -5
  122. package/src/component/IMChatroom/sdk/imcore/emitters/index.js +57 -57
  123. package/src/component/IMChatroom/sdk/imcore/emitters/messageReceive.js +36 -36
  124. package/src/component/IMChatroom/sdk/imcore/index.js +178 -178
  125. package/src/component/IMChatroom/sdk/imcore/interceptors/request.js +7 -7
  126. package/src/component/IMChatroom/sdk/imcore/interceptors/response.js +5 -5
  127. package/src/component/IMChatroom/sdk/imcore/plugins/getAuth.js +64 -64
  128. package/src/component/IMChatroom/sdk/imcore/plugins/getConversationId.js +20 -20
  129. package/src/component/IMChatroom/sdk/imcore/plugins/getExtInfo.js +10 -10
  130. package/src/component/IMChatroom/sdk/imcore/plugins/getLoginInfo.js +48 -48
  131. package/src/component/IMChatroom/sdk/imcore/plugins/getPlatformType.js +12 -12
  132. package/src/component/IMChatroom/sdk/imcore/plugins/index.js +22 -22
  133. package/src/component/IMChatroom/sdk/imcore/util/format.js +177 -177
  134. package/src/component/IMChatroom/sdk/imcore/util/parser.js +35 -35
  135. package/src/component/IMChatroom/sdk/oms.js +18 -18
  136. package/src/component/IMChatroom/sdk/uc.js +3 -3
  137. package/src/component/IMChatroom/subscription/channel/app.js +5 -5
  138. package/src/component/IMChatroom/subscription/channel/ctl.js +22 -22
  139. package/src/component/IMChatroom/subscription/channel/member.js +40 -40
  140. package/src/component/IMChatroom/subscription/channel/message.js +13 -13
  141. package/src/component/IMChatroom/subscription/channel/ntf.js +86 -86
  142. package/src/component/IMChatroom/subscription/channel/tel.js +5 -5
  143. package/src/component/IMChatroom/subscription/channel/websocket.js +5 -5
  144. package/src/component/IMChatroom/subscription/event.js +37 -37
  145. package/src/component/IMChatroom/subscription/index.js +19 -19
  146. package/src/component/IMChatroom/util/account.js +8 -8
  147. package/src/component/IMChatroom/util/chatroom.js +255 -255
  148. package/src/component/IMChatroom/util/jsonBigInt.js +5 -5
  149. package/src/component/IMChatroom/util/location.js +12 -12
  150. package/src/component/Icon/index.jsx +16 -16
  151. package/src/component/Icon/index.module.less +2 -2
  152. package/src/component/Pagination/LocalPagination.jsx +27 -27
  153. package/src/component/Pagination/RemotePagination.jsx +32 -32
  154. package/src/component/Pagination/index.jsx +31 -31
  155. package/src/component/Pagination/index.module.less +110 -110
  156. package/src/component/PlayerTip/index.jsx +34 -34
  157. package/src/component/VideoBase/index.jsx +242 -242
  158. package/src/component/VideoBase/style.less +65 -65
  159. package/src/component/VideoBase/utils.js +81 -81
  160. package/src/component/mixin.less +9 -9
  161. package/src/component/status/403.jsx +15 -15
  162. package/src/component/status/404/index.jsx +73 -73
  163. package/src/component/status/404/index.module.less +36 -36
  164. package/src/component/status/Error/error.module.less +13 -13
  165. package/src/component/status/Error/index.jsx +47 -47
  166. package/src/component/status/Loading/img/loading.svg +52 -52
  167. package/src/component/status/Loading/index.jsx +31 -31
  168. package/src/component/status/Loading/index.less +56 -56
  169. package/src/component/status/None/index.jsx +20 -20
  170. package/src/component/status/None/index.module.less +35 -35
  171. package/src/component/status/Status/index.jsx +26 -26
  172. package/src/component/status/Status/index.module.less +8 -8
  173. package/src/config/constant/commonUrl.js +2 -2
  174. package/src/config/constant/user.js +6 -6
  175. package/src/config/context/site-config.js +48 -48
  176. package/src/config/env/index.js +5 -5
  177. package/src/config/env/local/index.js +13 -13
  178. package/src/config/env/ncet-xedu/api.js +175 -175
  179. package/src/config/env/ncet-xedu/app.js +12 -12
  180. package/src/config/env/ncet-xedu/cs.js +8 -8
  181. package/src/config/env/ncet-xedu/index.js +14 -14
  182. package/src/config/env/ncet-xedu/push.js +5 -5
  183. package/src/config/env/preproduction/api.js +144 -144
  184. package/src/config/env/preproduction/app.js +12 -12
  185. package/src/config/env/preproduction/cs.js +8 -8
  186. package/src/config/env/preproduction/index.js +14 -14
  187. package/src/config/env/preproduction/push.js +5 -5
  188. package/src/config/env/product/api.js +113 -113
  189. package/src/config/env/product/app.js +12 -12
  190. package/src/config/env/product/cs.js +5 -5
  191. package/src/config/env/product/index.js +14 -14
  192. package/src/config/env/product/push.js +5 -5
  193. package/src/config/live.js +80 -80
  194. package/src/config/publicLive.js +53 -53
  195. package/src/config/request/assessments.js +24 -24
  196. package/src/config/request/config-center.js +8 -8
  197. package/src/config/request/helper.js +166 -166
  198. package/src/config/request/im-broadcasts.js +12 -12
  199. package/src/config/request/live-activity-gateway.js +8 -8
  200. package/src/config/request/live-activity.js +13 -13
  201. package/src/config/request/raw.js +6 -6
  202. package/src/config/request/x-cloud-web.js +13 -13
  203. package/src/config/request/x-proxy.js +34 -34
  204. package/src/demo/Detail.jsx +11 -11
  205. package/src/demo/List.jsx +64 -64
  206. package/src/demo/index.jsx +17 -17
  207. package/src/detail/LineSwitch/index.jsx +71 -71
  208. package/src/detail/LiveCountDown/index.jsx +44 -44
  209. package/src/detail/LiveCountDown/index.module.less +31 -31
  210. package/src/detail/LiveOnlineCount/img/icon.svg +15 -15
  211. package/src/detail/LiveOnlineCount/index.jsx +68 -68
  212. package/src/detail/LiveOnlineCount/index.module.less +34 -34
  213. package/src/detail/LiveOnlineCount/util.js +74 -74
  214. package/src/detail/LiveStatus/AnchorOnTheWay.jsx +88 -88
  215. package/src/detail/LiveStatus/index.jsx +202 -202
  216. package/src/detail/LiveStatus/index.module.less +192 -192
  217. package/src/detail/LiveVideo/config.js +37 -37
  218. package/src/detail/LiveVideo/index.jsx +188 -188
  219. package/src/detail/LiveVideo/index.module.less +41 -41
  220. package/src/detail/NotLoginChatroom/index.jsx +37 -37
  221. package/src/detail/NotLoginChatroom/index.module.less +46 -46
  222. package/src/detail/RecordVideo/index.jsx +150 -150
  223. package/src/detail/RecordVideo/index.module.less +31 -31
  224. package/src/detail/ReplayVideo/index.jsx +93 -93
  225. package/src/detail/ReplayVideo/index.module.less +65 -65
  226. package/src/detail/const.js +20 -20
  227. package/src/detail/hook/usePullSource.js +82 -82
  228. package/src/detail/hook/usePullState.js +51 -51
  229. package/src/detail/index.jsx +482 -482
  230. package/src/detail/index.module.less +188 -188
  231. package/src/hook/useAsync.js +84 -84
  232. package/src/hook/useGoToPage.js +83 -83
  233. package/src/hook/useInterval.js +28 -28
  234. package/src/hook/useIsMounted.js +17 -17
  235. package/src/hook/useModuleByRole.js +53 -53
  236. package/src/hook/usePageScrollable.js +52 -52
  237. package/src/hook/usePortal.js +83 -83
  238. package/src/hook/useScrollRestore/index.js +32 -32
  239. package/src/hook/useScrollRestore/scrollContext.js +20 -20
  240. package/src/hook/useTrackRef.js +11 -11
  241. package/src/hook/useWindowSize.js +28 -28
  242. package/src/hook/useZoom.js +47 -47
  243. package/src/index.js +10 -10
  244. package/src/lib/getLiveOnlineCount.js +10 -10
  245. package/src/lib/getServiceConfig.js +102 -102
  246. package/src/list/Empty/index.jsx +20 -20
  247. package/src/list/Empty/index.module.less +23 -23
  248. package/src/list/ListItem/Action/index.jsx +98 -98
  249. package/src/list/ListItem/Action/index.module.less +21 -21
  250. package/src/list/ListItem/img/dianzan.svg +4 -0
  251. package/src/list/ListItem/img/play.svg +15 -15
  252. package/src/list/ListItem/img/yiguankan.svg +3 -0
  253. package/src/list/ListItem/index.jsx +24 -1
  254. package/src/list/ListItem/index.module.less +146 -123
  255. package/src/list/index.jsx +80 -0
  256. package/src/list/index.module.less +35 -35
  257. package/src/service/common.js +73 -73
  258. package/src/service/content-mgr.js +73 -73
  259. package/src/service/im-group.js +12 -12
  260. package/src/service/im.js +7 -7
  261. package/src/service/imBroadcasts.js +33 -33
  262. package/src/service/like.js +134 -134
  263. package/src/service/manageApi.js +7 -7
  264. package/src/service/managePortal.js +6 -6
  265. package/src/service/myStudyRecord.js +93 -93
  266. package/src/service/navigation.js +47 -47
  267. package/src/service/ndMeeting.js +10 -10
  268. package/src/service/ndr.js +122 -122
  269. package/src/service/news.js +93 -93
  270. package/src/service/personalCenter.js +270 -270
  271. package/src/service/qualityCourse.js +31 -31
  272. package/src/service/recommend.js +81 -81
  273. package/src/service/school.js +323 -323
  274. package/src/service/search.js +170 -170
  275. package/src/service/site-config.js +7 -7
  276. package/src/service/socialCensor.js +45 -45
  277. package/src/service/specialEdu.js +31 -31
  278. package/src/service/suggestion.js +85 -85
  279. package/src/service/syncClassroom.js +321 -321
  280. package/src/service/tCourse.js +204 -204
  281. package/src/service/tchTraining.js +37 -37
  282. package/src/service/uc.js +45 -45
  283. package/src/util/app.js +1 -1
  284. package/src/util/array.js +3 -3
  285. package/src/util/auth/func.js +57 -57
  286. package/src/util/date.js +53 -53
  287. package/src/util/env.js +9 -9
  288. package/src/util/getTimestamp.js +10 -10
  289. package/src/util/hof.js +105 -105
  290. package/src/util/live/index.js +42 -42
  291. package/src/util/liveCountUtil.js +52 -0
  292. package/src/util/netUrl.js +35 -35
  293. package/src/util/object.js +13 -13
  294. package/src/util/push/index.js +58 -58
  295. package/src/util/request.js +227 -227
  296. package/src/util/type.js +17 -17
  297. package/src/util/url.js +203 -203
  298. package/src/util/video.js +26 -26
  299. package/test/setup.js +21 -21
  300. package/test/unit/component/header/logo.spec.jsx +8 -8
  301. package/test/unit/helper.jsx +25 -25
  302. package/test/unit/util/date.spec.js +40 -40
@@ -1,122 +1,122 @@
1
- import config from '@/config/env'
2
- import { getCdnAPI } from '@/config/request/cdn'
3
- import { getNDRTestQuery } from '@/util/url'
4
-
5
- /**
6
- * 课程页面的业务流程如下
7
- *
8
- * 通过标签筛选教材
9
- *
10
- * 教材 -> 教材章节树
11
- *
12
- * 教材章节叶子节点 -> 国家课
13
- *
14
- * 国家课 -> 精品课
15
- */
16
- /**
17
- * NDR 版数据源,先从NDR开始
18
- */
19
- const cdnApi = getCdnAPI()
20
- const { serviceName } = config.api
21
-
22
- const isTest = getNDRTestQuery()
23
- const libraryName = isTest
24
- ? 'https://bdcs-file-2.ykt.cbern.com.cn/zxx_secondary'
25
- : `/${serviceName.library}`
26
- const getLibraryName = (_isTest) => (_isTest
27
- ? 'https://bdcs-file-2.ykt.cbern.com.cn/zxx_secondary'
28
- : `/${serviceName.library}`)
29
-
30
- /**
31
- * 获取教材详情
32
- */
33
- export async function fetchNationalLessonDetail(id) {
34
- const { data } = await cdnApi.get(`${libraryName}/ndrs/national_lesson/teachingmaterials/details/${id}.json`)
35
- return data
36
- }
37
-
38
- /**
39
- * 获取教材目录树
40
- * @param {} id
41
- * @returns
42
- */
43
- export async function fetchNationalLessonChapter(id) {
44
- const { data } = await cdnApi.get(`${libraryName}/ndrs/national_lesson/trees/${id}.json`)
45
- return data
46
- }
47
-
48
- export async function fetchNationalLessonCourseList(id) {
49
- const { data } = await cdnApi.get(`${libraryName}/ndrs/national_lesson/teachingmaterials/${id}/lessons/parts.json`)
50
- const result = []
51
- await Promise.all(
52
- data.map(async (t, index) => {
53
- const { data: partData } = await cdnApi.get(t)
54
- result[index] = partData
55
- })
56
- )
57
- return [].concat(...result)
58
- }
59
-
60
- export async function fetchNationalLessonTreeCourseList(id) {
61
- const { data } = await cdnApi.get(`${libraryName}/ndrs/national_lesson/teachingmaterials/${id}/resources/parts.json`)
62
- const result = []
63
- await Promise.all(
64
- data.map(async (t, index) => {
65
- const { data: partData } = await cdnApi.get(t)
66
- result[index] = partData
67
- })
68
- )
69
- return [].concat(...result)
70
- }
71
-
72
- export async function fetchNationalLessonCourseDetail(id) {
73
- const { data } = await cdnApi.get(`${libraryName}/ndrv2/national_lesson/resources/details/${id}.json`)
74
- return data
75
- }
76
-
77
- export async function fetchNationalLessonRelateElite(id) {
78
- const { data } = await cdnApi.get(`${libraryName}/ndrs/national_lesson/resources/${id}/relation/elite_lesson.json`)
79
- return data
80
- }
81
-
82
- export async function fetchLectureLesson(id) {
83
- const { data } = await cdnApi.get(`${libraryName}/api_static/lecturers/${id}/relation/national_lesson.json`)
84
- return data
85
- }
86
-
87
- /**
88
- * 获取教材目录树
89
- * @param {} id
90
- * @returns
91
- */
92
- export async function fetchExperimentLessonChapter(id) {
93
- const { data } = await cdnApi.get(`${getLibraryName(false)}/ndrs/experiment/trees/${id}.json`)
94
- return data
95
- }
96
-
97
- export async function fetchExperimentLessonDetail(id) {
98
- const { data } = await cdnApi.get(`${getLibraryName(false)}/ndrs/experiment/resources/details/${id}.json`)
99
- return data
100
- }
101
-
102
- export async function fetchExperimentLessonCourseList(id) {
103
- const { data } = await cdnApi.get(`${getLibraryName(false)}/ndrs/experiment/teachingmaterials/${id}/resources/parts.json`)
104
- const result = []
105
- await Promise.all(
106
- data.map(async (t, index) => {
107
- const { data: partData } = await cdnApi.get(t)
108
- result[index] = partData
109
- })
110
- )
111
- return [].concat(...result)
112
- }
113
-
114
- export async function fetchExperimentCategory() {
115
- const { data } = await cdnApi.get(`${getLibraryName(false)}/ndrs/tags/experiment_category_tag.json`)
116
- return data
117
- }
118
-
119
- export async function fetchPrepareLesson(id) {
120
- const { data } = await cdnApi.get(`${libraryName}/ndrv2/prepare_lesson/resources/details/${id}.json`)
121
- return data
122
- }
1
+ import config from '@/config/env'
2
+ import { getCdnAPI } from '@/config/request/cdn'
3
+ import { getNDRTestQuery } from '@/util/url'
4
+
5
+ /**
6
+ * 课程页面的业务流程如下
7
+ *
8
+ * 通过标签筛选教材
9
+ *
10
+ * 教材 -> 教材章节树
11
+ *
12
+ * 教材章节叶子节点 -> 国家课
13
+ *
14
+ * 国家课 -> 精品课
15
+ */
16
+ /**
17
+ * NDR 版数据源,先从NDR开始
18
+ */
19
+ const cdnApi = getCdnAPI()
20
+ const { serviceName } = config.api
21
+
22
+ const isTest = getNDRTestQuery()
23
+ const libraryName = isTest
24
+ ? 'https://bdcs-file-2.ykt.cbern.com.cn/zxx_secondary'
25
+ : `/${serviceName.library}`
26
+ const getLibraryName = (_isTest) => (_isTest
27
+ ? 'https://bdcs-file-2.ykt.cbern.com.cn/zxx_secondary'
28
+ : `/${serviceName.library}`)
29
+
30
+ /**
31
+ * 获取教材详情
32
+ */
33
+ export async function fetchNationalLessonDetail(id) {
34
+ const { data } = await cdnApi.get(`${libraryName}/ndrs/national_lesson/teachingmaterials/details/${id}.json`)
35
+ return data
36
+ }
37
+
38
+ /**
39
+ * 获取教材目录树
40
+ * @param {} id
41
+ * @returns
42
+ */
43
+ export async function fetchNationalLessonChapter(id) {
44
+ const { data } = await cdnApi.get(`${libraryName}/ndrs/national_lesson/trees/${id}.json`)
45
+ return data
46
+ }
47
+
48
+ export async function fetchNationalLessonCourseList(id) {
49
+ const { data } = await cdnApi.get(`${libraryName}/ndrs/national_lesson/teachingmaterials/${id}/lessons/parts.json`)
50
+ const result = []
51
+ await Promise.all(
52
+ data.map(async (t, index) => {
53
+ const { data: partData } = await cdnApi.get(t)
54
+ result[index] = partData
55
+ })
56
+ )
57
+ return [].concat(...result)
58
+ }
59
+
60
+ export async function fetchNationalLessonTreeCourseList(id) {
61
+ const { data } = await cdnApi.get(`${libraryName}/ndrs/national_lesson/teachingmaterials/${id}/resources/parts.json`)
62
+ const result = []
63
+ await Promise.all(
64
+ data.map(async (t, index) => {
65
+ const { data: partData } = await cdnApi.get(t)
66
+ result[index] = partData
67
+ })
68
+ )
69
+ return [].concat(...result)
70
+ }
71
+
72
+ export async function fetchNationalLessonCourseDetail(id) {
73
+ const { data } = await cdnApi.get(`${libraryName}/ndrv2/national_lesson/resources/details/${id}.json`)
74
+ return data
75
+ }
76
+
77
+ export async function fetchNationalLessonRelateElite(id) {
78
+ const { data } = await cdnApi.get(`${libraryName}/ndrs/national_lesson/resources/${id}/relation/elite_lesson.json`)
79
+ return data
80
+ }
81
+
82
+ export async function fetchLectureLesson(id) {
83
+ const { data } = await cdnApi.get(`${libraryName}/api_static/lecturers/${id}/relation/national_lesson.json`)
84
+ return data
85
+ }
86
+
87
+ /**
88
+ * 获取教材目录树
89
+ * @param {} id
90
+ * @returns
91
+ */
92
+ export async function fetchExperimentLessonChapter(id) {
93
+ const { data } = await cdnApi.get(`${getLibraryName(false)}/ndrs/experiment/trees/${id}.json`)
94
+ return data
95
+ }
96
+
97
+ export async function fetchExperimentLessonDetail(id) {
98
+ const { data } = await cdnApi.get(`${getLibraryName(false)}/ndrs/experiment/resources/details/${id}.json`)
99
+ return data
100
+ }
101
+
102
+ export async function fetchExperimentLessonCourseList(id) {
103
+ const { data } = await cdnApi.get(`${getLibraryName(false)}/ndrs/experiment/teachingmaterials/${id}/resources/parts.json`)
104
+ const result = []
105
+ await Promise.all(
106
+ data.map(async (t, index) => {
107
+ const { data: partData } = await cdnApi.get(t)
108
+ result[index] = partData
109
+ })
110
+ )
111
+ return [].concat(...result)
112
+ }
113
+
114
+ export async function fetchExperimentCategory() {
115
+ const { data } = await cdnApi.get(`${getLibraryName(false)}/ndrs/tags/experiment_category_tag.json`)
116
+ return data
117
+ }
118
+
119
+ export async function fetchPrepareLesson(id) {
120
+ const { data } = await cdnApi.get(`${libraryName}/ndrv2/prepare_lesson/resources/details/${id}.json`)
121
+ return data
122
+ }
@@ -1,93 +1,93 @@
1
- import { newsAPI } from '@/config/request/news'
2
-
3
- const tanstormRequestResponse = (response) => {
4
- if (response.data !== undefined) {
5
- return response.data
6
- } else {
7
- return Promise.reject(response.response.data)
8
- }
9
- }
10
-
11
- export const getNews = async (options) => {
12
- const url = '/news/actions/query_by_scope_id'
13
- try {
14
- const response = await newsAPI.get(url, options)
15
- return tanstormRequestResponse(response)
16
- } catch (e) {
17
- return tanstormRequestResponse(e)
18
- }
19
- }
20
-
21
- export const searchNews = async (data) => {
22
- const url = '/news/actions/search'
23
- try {
24
- const response = await newsAPI.post(url, data)
25
- return tanstormRequestResponse(response)
26
- } catch (e) {
27
- return tanstormRequestResponse(e)
28
- }
29
- }
30
-
31
- export const getNewsById = async (id) => {
32
- const url = `/news/${id}`
33
- try {
34
- const response = await newsAPI.get(url)
35
- return tanstormRequestResponse(response)
36
- } catch (e) {
37
- return tanstormRequestResponse(e)
38
- }
39
- }
40
-
41
- export const addNews = async (data) => {
42
- const url = '/news'
43
- try {
44
- const response = await newsAPI.post(url, data)
45
- return tanstormRequestResponse(response)
46
- } catch (e) {
47
- return tanstormRequestResponse(e)
48
- }
49
- }
50
-
51
- export const updateNews = async (id, data) => {
52
- const url = `/news/${id}`
53
- try {
54
- const response = await newsAPI.put(url, data)
55
- return tanstormRequestResponse(response)
56
- } catch (e) {
57
- return tanstormRequestResponse(e)
58
- }
59
- }
60
-
61
- export const deleteNews = async (id) => {
62
- const url = `/news/${id}`
63
- try {
64
- const response = await newsAPI.delete(url)
65
- return tanstormRequestResponse(response)
66
- } catch (e) {
67
- return tanstormRequestResponse(e)
68
- }
69
- }
70
-
71
- export const batchDeleteNews = async (ids) => {
72
- const url = '/news/actions/batch_delete'
73
- try {
74
- const response = await newsAPI.post(url, ids)
75
- return tanstormRequestResponse(response)
76
- } catch (e) {
77
- return tanstormRequestResponse(e)
78
- }
79
- }
80
-
81
- let index = 1 // 批量上传时,存在token请求被缓存后不返回response,故需要设置key
82
- export const getToken = async (data) => {
83
- index += 1
84
- const url = '/v1/cs_common/tokens'
85
- try {
86
- const response = await newsAPI.post(url, data, {
87
- key: `news_attachment_cs_token_${index}`
88
- })
89
- return tanstormRequestResponse(response)
90
- } catch (e) {
91
- return tanstormRequestResponse(e)
92
- }
93
- }
1
+ import { newsAPI } from '@/config/request/news'
2
+
3
+ const tanstormRequestResponse = (response) => {
4
+ if (response.data !== undefined) {
5
+ return response.data
6
+ } else {
7
+ return Promise.reject(response.response.data)
8
+ }
9
+ }
10
+
11
+ export const getNews = async (options) => {
12
+ const url = '/news/actions/query_by_scope_id'
13
+ try {
14
+ const response = await newsAPI.get(url, options)
15
+ return tanstormRequestResponse(response)
16
+ } catch (e) {
17
+ return tanstormRequestResponse(e)
18
+ }
19
+ }
20
+
21
+ export const searchNews = async (data) => {
22
+ const url = '/news/actions/search'
23
+ try {
24
+ const response = await newsAPI.post(url, data)
25
+ return tanstormRequestResponse(response)
26
+ } catch (e) {
27
+ return tanstormRequestResponse(e)
28
+ }
29
+ }
30
+
31
+ export const getNewsById = async (id) => {
32
+ const url = `/news/${id}`
33
+ try {
34
+ const response = await newsAPI.get(url)
35
+ return tanstormRequestResponse(response)
36
+ } catch (e) {
37
+ return tanstormRequestResponse(e)
38
+ }
39
+ }
40
+
41
+ export const addNews = async (data) => {
42
+ const url = '/news'
43
+ try {
44
+ const response = await newsAPI.post(url, data)
45
+ return tanstormRequestResponse(response)
46
+ } catch (e) {
47
+ return tanstormRequestResponse(e)
48
+ }
49
+ }
50
+
51
+ export const updateNews = async (id, data) => {
52
+ const url = `/news/${id}`
53
+ try {
54
+ const response = await newsAPI.put(url, data)
55
+ return tanstormRequestResponse(response)
56
+ } catch (e) {
57
+ return tanstormRequestResponse(e)
58
+ }
59
+ }
60
+
61
+ export const deleteNews = async (id) => {
62
+ const url = `/news/${id}`
63
+ try {
64
+ const response = await newsAPI.delete(url)
65
+ return tanstormRequestResponse(response)
66
+ } catch (e) {
67
+ return tanstormRequestResponse(e)
68
+ }
69
+ }
70
+
71
+ export const batchDeleteNews = async (ids) => {
72
+ const url = '/news/actions/batch_delete'
73
+ try {
74
+ const response = await newsAPI.post(url, ids)
75
+ return tanstormRequestResponse(response)
76
+ } catch (e) {
77
+ return tanstormRequestResponse(e)
78
+ }
79
+ }
80
+
81
+ let index = 1 // 批量上传时,存在token请求被缓存后不返回response,故需要设置key
82
+ export const getToken = async (data) => {
83
+ index += 1
84
+ const url = '/v1/cs_common/tokens'
85
+ try {
86
+ const response = await newsAPI.post(url, data, {
87
+ key: `news_attachment_cs_token_${index}`
88
+ })
89
+ return tanstormRequestResponse(response)
90
+ } catch (e) {
91
+ return tanstormRequestResponse(e)
92
+ }
93
+ }