@x-edu/live-player 0.0.31 → 0.0.33

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 (304) 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 +11931 -1033
  9. package/dist/XEduLivePlayerPre.common.js +11435 -898
  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 +98 -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 +32 -32
  155. package/src/component/Pagination/index.module.less +117 -117
  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 +190 -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 +68 -68
  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 +483 -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 +109 -109
  249. package/src/list/ListItem/Action/index.module.less +25 -25
  250. package/src/list/ListItem/img/dianzan.svg +4 -4
  251. package/src/list/ListItem/img/like-fill.svg +8 -8
  252. package/src/list/ListItem/img/play.svg +15 -15
  253. package/src/list/ListItem/img/view-fill.svg +8 -8
  254. package/src/list/ListItem/img/yiguankan.svg +3 -3
  255. package/src/list/ListItem/index.module.less +158 -158
  256. package/src/list/index.jsx +241 -240
  257. package/src/list/index.module.less +38 -38
  258. package/src/service/common.js +73 -73
  259. package/src/service/content-mgr.js +73 -73
  260. package/src/service/im-group.js +12 -12
  261. package/src/service/im.js +7 -7
  262. package/src/service/imBroadcasts.js +33 -33
  263. package/src/service/like.js +134 -134
  264. package/src/service/live.js +293 -293
  265. package/src/service/manageApi.js +7 -7
  266. package/src/service/managePortal.js +6 -6
  267. package/src/service/myStudyRecord.js +93 -93
  268. package/src/service/navigation.js +47 -47
  269. package/src/service/ndMeeting.js +10 -10
  270. package/src/service/ndr.js +122 -122
  271. package/src/service/news.js +93 -93
  272. package/src/service/personalCenter.js +270 -270
  273. package/src/service/qualityCourse.js +31 -31
  274. package/src/service/recommend.js +81 -81
  275. package/src/service/school.js +323 -323
  276. package/src/service/search.js +170 -170
  277. package/src/service/site-config.js +7 -7
  278. package/src/service/socialCensor.js +45 -45
  279. package/src/service/specialEdu.js +31 -31
  280. package/src/service/suggestion.js +85 -85
  281. package/src/service/syncClassroom.js +321 -321
  282. package/src/service/tCourse.js +204 -204
  283. package/src/service/tchTraining.js +37 -37
  284. package/src/service/uc.js +45 -45
  285. package/src/util/app.js +1 -1
  286. package/src/util/array.js +3 -3
  287. package/src/util/auth/func.js +57 -57
  288. package/src/util/date.js +53 -53
  289. package/src/util/env.js +9 -9
  290. package/src/util/getTimestamp.js +10 -10
  291. package/src/util/hof.js +105 -105
  292. package/src/util/live/index.js +42 -42
  293. package/src/util/liveCountUtil.js +52 -52
  294. package/src/util/netUrl.js +35 -35
  295. package/src/util/object.js +13 -13
  296. package/src/util/push/index.js +58 -58
  297. package/src/util/request.js +227 -227
  298. package/src/util/type.js +17 -17
  299. package/src/util/url.js +203 -203
  300. package/src/util/video.js +26 -26
  301. package/test/setup.js +21 -21
  302. package/test/unit/component/header/logo.spec.jsx +8 -8
  303. package/test/unit/helper.jsx +25 -25
  304. package/test/unit/util/date.spec.js +40 -40
@@ -1,73 +1,73 @@
1
- import { getJobTitles } from './school'
2
- import rawAPI from '@/config/request/raw'
3
-
4
- /* 数据字典:获取职称 */
5
- export async function getJobTitle() {
6
- const data = await getJobTitles()
7
- return {
8
- data
9
- }
10
- // const url = '/studio/configs/dictionary/job_title.json'
11
- // return getCdnHotAPI().get(url)
12
- }
13
-
14
- /* 数据字典:获取身份证类型 */
15
- export async function getCardType() {
16
- // const url = '/studio/configs/dictionary/card_type.json'
17
- // return getCdnHotAPI().get(url)
18
- const resp = await rawAPI.get('https://bdcs-file-1.ykt.cbern.com.cn/bdxcloud/configs/card_type.json')
19
- return resp
20
- }
21
-
22
- /** 数据字典:获取性别 */
23
- export async function getGender() {
24
- const res = await rawAPI.get('https://bdcs-file-1.ykt.cbern.com.cn/bdxcloud/configs/gender.json')
25
- return res.data
26
- }
27
-
28
- /**
29
- * 获取民族字典
30
- * @returns
31
- */
32
- export async function getMinzu() {
33
- const res = await rawAPI.get('https://bdcs-file-1.ykt.cbern.com.cn/bdxcloud/configs/national.json')
34
- return res.data
35
- }
36
-
37
- /**
38
- * 获取最高学历字典
39
- * @returns
40
- */
41
- export async function getDegree() {
42
- const res = await rawAPI.get('https://bdcs-file-1.ykt.cbern.com.cn/bdxcloud/configs/degree.json')
43
- return res.data
44
- }
45
-
46
- /**
47
- * 获取政治面貌字典
48
- * @returns
49
- */
50
- export async function getPoliticalStatus() {
51
- const res = await rawAPI.get('https://bdcs-file-1.ykt.cbern.com.cn/bdxcloud/configs/political_status.json')
52
- return res.data
53
- }
54
- // 获取荣誉
55
- export async function getHonor() {
56
- const res = await rawAPI.get('https://bdcs-file-1.ykt.cbern.com.cn/bdxcloud/configs/teacher_honor.json')
57
- return res.data
58
- }
59
-
60
- /**
61
- * 是否心理健康教育教师
62
- * @returns
63
- */
64
- export async function getMentalHealthTeacher() {
65
- const res = await rawAPI.get('https://bdcs-file-1.ykt.cbern.com.cn/bdxcloud/configs/employment_type.json')
66
- return res.data
67
- }
68
-
69
- /** 数据字典:获取性别 */
70
- export async function getAreaInfoMap() {
71
- const res = await rawAPI.get('https://bdcs-file-2.ykt.cbern.com.cn/bdxcloud/configs/rank_area_info.json')
72
- return res.data
73
- }
1
+ import { getJobTitles } from './school'
2
+ import rawAPI from '@/config/request/raw'
3
+
4
+ /* 数据字典:获取职称 */
5
+ export async function getJobTitle() {
6
+ const data = await getJobTitles()
7
+ return {
8
+ data
9
+ }
10
+ // const url = '/studio/configs/dictionary/job_title.json'
11
+ // return getCdnHotAPI().get(url)
12
+ }
13
+
14
+ /* 数据字典:获取身份证类型 */
15
+ export async function getCardType() {
16
+ // const url = '/studio/configs/dictionary/card_type.json'
17
+ // return getCdnHotAPI().get(url)
18
+ const resp = await rawAPI.get('https://bdcs-file-1.ykt.cbern.com.cn/bdxcloud/configs/card_type.json')
19
+ return resp
20
+ }
21
+
22
+ /** 数据字典:获取性别 */
23
+ export async function getGender() {
24
+ const res = await rawAPI.get('https://bdcs-file-1.ykt.cbern.com.cn/bdxcloud/configs/gender.json')
25
+ return res.data
26
+ }
27
+
28
+ /**
29
+ * 获取民族字典
30
+ * @returns
31
+ */
32
+ export async function getMinzu() {
33
+ const res = await rawAPI.get('https://bdcs-file-1.ykt.cbern.com.cn/bdxcloud/configs/national.json')
34
+ return res.data
35
+ }
36
+
37
+ /**
38
+ * 获取最高学历字典
39
+ * @returns
40
+ */
41
+ export async function getDegree() {
42
+ const res = await rawAPI.get('https://bdcs-file-1.ykt.cbern.com.cn/bdxcloud/configs/degree.json')
43
+ return res.data
44
+ }
45
+
46
+ /**
47
+ * 获取政治面貌字典
48
+ * @returns
49
+ */
50
+ export async function getPoliticalStatus() {
51
+ const res = await rawAPI.get('https://bdcs-file-1.ykt.cbern.com.cn/bdxcloud/configs/political_status.json')
52
+ return res.data
53
+ }
54
+ // 获取荣誉
55
+ export async function getHonor() {
56
+ const res = await rawAPI.get('https://bdcs-file-1.ykt.cbern.com.cn/bdxcloud/configs/teacher_honor.json')
57
+ return res.data
58
+ }
59
+
60
+ /**
61
+ * 是否心理健康教育教师
62
+ * @returns
63
+ */
64
+ export async function getMentalHealthTeacher() {
65
+ const res = await rawAPI.get('https://bdcs-file-1.ykt.cbern.com.cn/bdxcloud/configs/employment_type.json')
66
+ return res.data
67
+ }
68
+
69
+ /** 数据字典:获取性别 */
70
+ export async function getAreaInfoMap() {
71
+ const res = await rawAPI.get('https://bdcs-file-2.ykt.cbern.com.cn/bdxcloud/configs/rank_area_info.json')
72
+ return res.data
73
+ }
@@ -1,73 +1,73 @@
1
- /** @format */
2
-
3
- import ContentMgrApi from '@/config/request/content-mgr-web'
4
-
5
- export const getDocument = async (id) => {
6
- const url = `/v1/proxy/documents/${id}?r=${Math.random()}`
7
- const { data } = await ContentMgrApi.get(url)
8
- return data
9
- }
10
-
11
- export const getVedio = async (id) => {
12
- const url = `/v1/proxy/videos/${id}?r=${Math.random()}`
13
- const { data } = await ContentMgrApi.get(url)
14
- return data
15
- }
16
-
17
- export const getVedioUrls = async (id) => {
18
- const url = `/v1/proxy/videos/${id}/urls?r=${Math.random()}`
19
- const { data } = await ContentMgrApi.get(url)
20
- return data
21
- }
22
-
23
- /**
24
- * 创建content_mgr
25
- * @param {string} type 类型:x_audio_video,x_document
26
- * @param {Object} content 内容
27
- */
28
- export const createContent = async (type, content) => {
29
- const url = `/v1/content_types/${type}/contents?r=${Math.random()}`
30
- const res = await ContentMgrApi.post(url, content)
31
- return res?.data
32
- }
33
-
34
- export const getContent = async (contentType, id) => {
35
- const url = `/v1/content_types/${contentType}/contents/${id}?r=${Math.random()}`
36
- const res = await ContentMgrApi.get(url)
37
- return res?.data
38
- }
39
-
40
- export const getContentDetail = async (type, id) => {
41
- const url = `/v1/content_types/${type}/contents/${id}?r=${Math.random()}`
42
- const res = await ContentMgrApi.get(url)
43
- return res?.data
44
- // await ContentMgrApi.get(`/v1/content_types/${type}/contents/${id}`, {
45
- // headers: {
46
- // 'sdp-app-id': appid
47
- // }
48
- // })
49
- }
50
-
51
- export const updateContent = async (type, id, body) => {
52
- const url = `/v1/content_types/${type}/contents/${id}?r=${Math.random()}`
53
- const res = await ContentMgrApi.put(url, body)
54
- return res?.data
55
- }
56
-
57
- export const putOnline = async (id) => {
58
- const url = `/v1/spi/contents/${id}/online?r=${Math.random()}`
59
- const res = await ContentMgrApi.put(url)
60
- return res?.data
61
- }
62
-
63
- export const putOffline = async (id) => {
64
- const url = `/v1/spi/contents/${id}/offline?r=${Math.random()}`
65
- const res = await ContentMgrApi.put(url)
66
- return res?.data
67
- }
68
-
69
- export const deleteContent = async (id) => {
70
- const url = `/v1/spi/contents/${id}?r=${Math.random()}`
71
- const res = await ContentMgrApi.delete(url)
72
- return res?.data
73
- }
1
+ /** @format */
2
+
3
+ import ContentMgrApi from '@/config/request/content-mgr-web'
4
+
5
+ export const getDocument = async (id) => {
6
+ const url = `/v1/proxy/documents/${id}?r=${Math.random()}`
7
+ const { data } = await ContentMgrApi.get(url)
8
+ return data
9
+ }
10
+
11
+ export const getVedio = async (id) => {
12
+ const url = `/v1/proxy/videos/${id}?r=${Math.random()}`
13
+ const { data } = await ContentMgrApi.get(url)
14
+ return data
15
+ }
16
+
17
+ export const getVedioUrls = async (id) => {
18
+ const url = `/v1/proxy/videos/${id}/urls?r=${Math.random()}`
19
+ const { data } = await ContentMgrApi.get(url)
20
+ return data
21
+ }
22
+
23
+ /**
24
+ * 创建content_mgr
25
+ * @param {string} type 类型:x_audio_video,x_document
26
+ * @param {Object} content 内容
27
+ */
28
+ export const createContent = async (type, content) => {
29
+ const url = `/v1/content_types/${type}/contents?r=${Math.random()}`
30
+ const res = await ContentMgrApi.post(url, content)
31
+ return res?.data
32
+ }
33
+
34
+ export const getContent = async (contentType, id) => {
35
+ const url = `/v1/content_types/${contentType}/contents/${id}?r=${Math.random()}`
36
+ const res = await ContentMgrApi.get(url)
37
+ return res?.data
38
+ }
39
+
40
+ export const getContentDetail = async (type, id) => {
41
+ const url = `/v1/content_types/${type}/contents/${id}?r=${Math.random()}`
42
+ const res = await ContentMgrApi.get(url)
43
+ return res?.data
44
+ // await ContentMgrApi.get(`/v1/content_types/${type}/contents/${id}`, {
45
+ // headers: {
46
+ // 'sdp-app-id': appid
47
+ // }
48
+ // })
49
+ }
50
+
51
+ export const updateContent = async (type, id, body) => {
52
+ const url = `/v1/content_types/${type}/contents/${id}?r=${Math.random()}`
53
+ const res = await ContentMgrApi.put(url, body)
54
+ return res?.data
55
+ }
56
+
57
+ export const putOnline = async (id) => {
58
+ const url = `/v1/spi/contents/${id}/online?r=${Math.random()}`
59
+ const res = await ContentMgrApi.put(url)
60
+ return res?.data
61
+ }
62
+
63
+ export const putOffline = async (id) => {
64
+ const url = `/v1/spi/contents/${id}/offline?r=${Math.random()}`
65
+ const res = await ContentMgrApi.put(url)
66
+ return res?.data
67
+ }
68
+
69
+ export const deleteContent = async (id) => {
70
+ const url = `/v1/spi/contents/${id}?r=${Math.random()}`
71
+ const res = await ContentMgrApi.delete(url)
72
+ return res?.data
73
+ }
@@ -1,12 +1,12 @@
1
- import { imGroupWithUC } from '@/config/request/imGroup'
2
-
3
- /* 获取群头像内容服务上传token */
4
- export async function getCSToken(id, params) {
5
- const response = await imGroupWithUC.post(`/groups/${id}/upload_token/avatar`, params)
6
- return response.data
7
- }
8
-
9
- /* 客户端上传群头像成功通知 */
10
- export function avatarUploadOk(id) {
11
- return imGroupWithUC.patch(`/groups/${id}/avatar_uploadOk`)
12
- }
1
+ import { imGroupWithUC } from '@/config/request/imGroup'
2
+
3
+ /* 获取群头像内容服务上传token */
4
+ export async function getCSToken(id, params) {
5
+ const response = await imGroupWithUC.post(`/groups/${id}/upload_token/avatar`, params)
6
+ return response.data
7
+ }
8
+
9
+ /* 客户端上传群头像成功通知 */
10
+ export function avatarUploadOk(id) {
11
+ return imGroupWithUC.patch(`/groups/${id}/avatar_uploadOk`)
12
+ }
package/src/service/im.js CHANGED
@@ -1,7 +1,7 @@
1
- import xProxy from '@/config/request/x-proxy'
2
-
3
- // 获取资源点赞
4
- export async function getUserInfo(userId) {
5
- const { data } = await xProxy.get(`/v1/users/${userId}/actions/show_name`)
6
- return data
7
- }
1
+ import xProxy from '@/config/request/x-proxy'
2
+
3
+ // 获取资源点赞
4
+ export async function getUserInfo(userId) {
5
+ const { data } = await xProxy.get(`/v1/users/${userId}/actions/show_name`)
6
+ return data
7
+ }
@@ -1,33 +1,33 @@
1
- import imBroadcastsAPI, {
2
- staticAPI as imBroadcastsStaticAPI
3
- } from '@/config/request/im-broadcasts'
4
-
5
- // https://wiki.doc.101.com/index.php?title=IM%E7%9B%B4%E6%92%ADv2#.5BGET.5D_.2Fapis.2Fbroadcasts.2F.7BroomId.7D_.E6.A0.B9.E6.8D.AEroomId_.E8.8E.B7.E5.8F.96.E7.9B.B4.E6.92.AD.E4.BF.A1.E6.81.AF
6
- export const getIMLiveInfo = async (roomId) => {
7
- const url = `/v4/apis/broadcasts/${roomId}`
8
- const response = await imBroadcastsAPI.get(url)
9
- return response.data
10
- }
11
-
12
- /**
13
- * 预生产
14
- https://betacs.101.com/v0.1/static/preproduction_content_chatroom/livecache/{bid}.json
15
- 百度
16
- https://bdcs-file-1.ykt.cbern.com.cn/xxuexiimbr/livecache/{bid}.json
17
-
18
- */
19
- export const getGuestIMLiveInfoStatic = async (bId) => {
20
- const { data } = await imBroadcastsStaticAPI.get(`/livecache/${bId}.json`)
21
- return data
22
- }
23
-
24
- // https://wiki.doc.101.com/index.php?title=IM%E7%9B%B4%E6%92%ADv2#.5BGET.5D_.2Fguest.2Fbroadcasts.2F.7Bbid.7D_.E8.8E.B7.E5.8F.96.E7.9B.B4.E6.92.AD
25
- // 访客获取直播接口
26
- export const getGuestIMLiveInfo = async (bId) => {
27
- try {
28
- return await getGuestIMLiveInfoStatic(bId)
29
- } catch (e) {
30
- const { data } = await imBroadcastsAPI.get(`/v2/guest/broadcasts/${bId}`)
31
- return data
32
- }
33
- }
1
+ import imBroadcastsAPI, {
2
+ staticAPI as imBroadcastsStaticAPI
3
+ } from '@/config/request/im-broadcasts'
4
+
5
+ // https://wiki.doc.101.com/index.php?title=IM%E7%9B%B4%E6%92%ADv2#.5BGET.5D_.2Fapis.2Fbroadcasts.2F.7BroomId.7D_.E6.A0.B9.E6.8D.AEroomId_.E8.8E.B7.E5.8F.96.E7.9B.B4.E6.92.AD.E4.BF.A1.E6.81.AF
6
+ export const getIMLiveInfo = async (roomId) => {
7
+ const url = `/v4/apis/broadcasts/${roomId}`
8
+ const response = await imBroadcastsAPI.get(url)
9
+ return response.data
10
+ }
11
+
12
+ /**
13
+ * 预生产
14
+ https://betacs.101.com/v0.1/static/preproduction_content_chatroom/livecache/{bid}.json
15
+ 百度
16
+ https://bdcs-file-1.ykt.cbern.com.cn/xxuexiimbr/livecache/{bid}.json
17
+
18
+ */
19
+ export const getGuestIMLiveInfoStatic = async (bId) => {
20
+ const { data } = await imBroadcastsStaticAPI.get(`/livecache/${bId}.json`)
21
+ return data
22
+ }
23
+
24
+ // https://wiki.doc.101.com/index.php?title=IM%E7%9B%B4%E6%92%ADv2#.5BGET.5D_.2Fguest.2Fbroadcasts.2F.7Bbid.7D_.E8.8E.B7.E5.8F.96.E7.9B.B4.E6.92.AD
25
+ // 访客获取直播接口
26
+ export const getGuestIMLiveInfo = async (bId) => {
27
+ try {
28
+ return await getGuestIMLiveInfoStatic(bId)
29
+ } catch (e) {
30
+ const { data } = await imBroadcastsAPI.get(`/v2/guest/broadcasts/${bId}`)
31
+ return data
32
+ }
33
+ }
@@ -1,134 +1,134 @@
1
- import xCloudWeb from '@/config/request/x-cloud-web'
2
- import { assessmentApi } from '@/config/request/assessments'
3
- import xProxy from '@/config/request/x-proxy'
4
- import config from '@/config/env'
5
-
6
- const { appid } = config.app
7
-
8
- // 获取资源点赞
9
- export async function getResourceLikes(resId, type) {
10
- const { data } = await xProxy.get(`/v1/res_stats/${resId}`, {
11
- params: {
12
- type
13
- }
14
- })
15
- return data
16
- }
17
-
18
- // 获取资源点赞
19
- export async function getResourceLikesForLive(resId, type) {
20
- const { data } = await xProxy.get(`/v1/res_stats/open_lives/${resId}`, {
21
- params: {
22
- type
23
- }
24
- })
25
- return data
26
- }
27
-
28
- // 资源点赞
29
- export async function postResourceLikes(resId, type = 'like') {
30
- await xCloudWeb.post(`/v1/res_stats/${resId}?type=${type}`, {
31
- headers: {
32
- 'sdp-app-id': appid
33
- }
34
- })
35
- }
36
-
37
- async function getStatByChunk(resIds, requestFn) {
38
- const chunkSize = 100
39
- if (resIds.length <= chunkSize) {
40
- const { data } = await requestFn(resIds)
41
- return data
42
- } else {
43
- const chunkCount = Math.ceil(resIds.length / chunkSize)
44
- const result = []
45
- const t = new Array(chunkCount).fill(0)
46
- await Promise.all(t.map(async (v, i) => {
47
- const chunk = resIds.slice(chunkSize * i, chunkSize * i + chunkSize)
48
- const { data } = await requestFn(chunk)
49
- result[i] = data
50
- }))
51
- return [].concat(...result)
52
- }
53
- }
54
-
55
- // 批量获取资源点赞、访问统计
56
- export async function getResourceStat(resIds) {
57
- return getStatByChunk(resIds, async (chunk) => xProxy.get(`/v1/res_stats/actions/query?res_ids=${chunk.join(',')}`))
58
- }
59
-
60
- // 批量获取评价统计
61
- export async function getAssessmentStat(resIds, assessmentTypes) {
62
- return getStatByChunk(resIds, async (chunk) => assessmentApi
63
- .post('/assessments/actions/stats', chunk.map((t, i) => ({
64
- assessment_id: t,
65
- assessment_type: assessmentTypes[i]
66
- }))))
67
- }
68
-
69
- /**
70
- * 每 maxCount 个分为一组,默认每 100 个分为一组
71
- * @param {array} data 带分组数据
72
- * @param {number} [maxNum=100] 每组最大数量
73
- * @return {array} [[data1], [data2], ...]
74
- */
75
- function groupData(data, maxNum = 100) {
76
- const result = []
77
- for (let i = 0; i < data.length;) {
78
- result.push(data.slice(i, i += maxNum))
79
- }
80
- return result
81
- }
82
-
83
- // 一次性获取资源点赞、访问统计
84
- export function getAllResourceStat(data = []) {
85
- const groupIds = groupData(data)
86
- const maxNum = groupIds.length
87
- // 请求总数量
88
- const len = groupIds.length
89
- // 根据请求数量创建一个数组来保存请求的结果
90
- const result = new Array(len).fill(false)
91
- // 当前完成的数量
92
- let count = -1
93
-
94
- return new Promise((resolve) => {
95
- // 请求 maxNum 个
96
- while (count < maxNum) {
97
- next()
98
- }
99
- function next() {
100
- const current = count + 1
101
- count = current
102
- // 处理边界条件
103
- if (current >= len) {
104
- // 请求全部完成就将promise置为成功状态, 然后将result作为promise值返回
105
- if (!result.includes(false)) {
106
- let r = []
107
- result.forEach((arr) => {
108
- r = r.concat(arr)
109
- })
110
- resolve(r)
111
- }
112
- return
113
- }
114
- const ids = groupIds[current]
115
- getResourceStat(ids)
116
- .then((res) => {
117
- // 保存请求结果
118
- result[current] = res
119
- // 请求没有全部完成, 就递归
120
- if (current < len) {
121
- next()
122
- }
123
- })
124
- .catch((err) => {
125
- console.error(err)
126
- result[current] = []
127
- // 请求没有全部完成, 就递归
128
- if (current < len) {
129
- next()
130
- }
131
- })
132
- }
133
- })
134
- }
1
+ import xCloudWeb from '@/config/request/x-cloud-web'
2
+ import { assessmentApi } from '@/config/request/assessments'
3
+ import xProxy from '@/config/request/x-proxy'
4
+ import config from '@/config/env'
5
+
6
+ const { appid } = config.app
7
+
8
+ // 获取资源点赞
9
+ export async function getResourceLikes(resId, type) {
10
+ const { data } = await xProxy.get(`/v1/res_stats/${resId}`, {
11
+ params: {
12
+ type
13
+ }
14
+ })
15
+ return data
16
+ }
17
+
18
+ // 获取资源点赞
19
+ export async function getResourceLikesForLive(resId, type) {
20
+ const { data } = await xProxy.get(`/v1/res_stats/open_lives/${resId}`, {
21
+ params: {
22
+ type
23
+ }
24
+ })
25
+ return data
26
+ }
27
+
28
+ // 资源点赞
29
+ export async function postResourceLikes(resId, type = 'like') {
30
+ await xCloudWeb.post(`/v1/res_stats/${resId}?type=${type}`, {
31
+ headers: {
32
+ 'sdp-app-id': appid
33
+ }
34
+ })
35
+ }
36
+
37
+ async function getStatByChunk(resIds, requestFn) {
38
+ const chunkSize = 100
39
+ if (resIds.length <= chunkSize) {
40
+ const { data } = await requestFn(resIds)
41
+ return data
42
+ } else {
43
+ const chunkCount = Math.ceil(resIds.length / chunkSize)
44
+ const result = []
45
+ const t = new Array(chunkCount).fill(0)
46
+ await Promise.all(t.map(async (v, i) => {
47
+ const chunk = resIds.slice(chunkSize * i, chunkSize * i + chunkSize)
48
+ const { data } = await requestFn(chunk)
49
+ result[i] = data
50
+ }))
51
+ return [].concat(...result)
52
+ }
53
+ }
54
+
55
+ // 批量获取资源点赞、访问统计
56
+ export async function getResourceStat(resIds) {
57
+ return getStatByChunk(resIds, async (chunk) => xProxy.get(`/v1/res_stats/actions/query?res_ids=${chunk.join(',')}`))
58
+ }
59
+
60
+ // 批量获取评价统计
61
+ export async function getAssessmentStat(resIds, assessmentTypes) {
62
+ return getStatByChunk(resIds, async (chunk) => assessmentApi
63
+ .post('/assessments/actions/stats', chunk.map((t, i) => ({
64
+ assessment_id: t,
65
+ assessment_type: assessmentTypes[i]
66
+ }))))
67
+ }
68
+
69
+ /**
70
+ * 每 maxCount 个分为一组,默认每 100 个分为一组
71
+ * @param {array} data 带分组数据
72
+ * @param {number} [maxNum=100] 每组最大数量
73
+ * @return {array} [[data1], [data2], ...]
74
+ */
75
+ function groupData(data, maxNum = 100) {
76
+ const result = []
77
+ for (let i = 0; i < data.length;) {
78
+ result.push(data.slice(i, i += maxNum))
79
+ }
80
+ return result
81
+ }
82
+
83
+ // 一次性获取资源点赞、访问统计
84
+ export function getAllResourceStat(data = []) {
85
+ const groupIds = groupData(data)
86
+ const maxNum = groupIds.length
87
+ // 请求总数量
88
+ const len = groupIds.length
89
+ // 根据请求数量创建一个数组来保存请求的结果
90
+ const result = new Array(len).fill(false)
91
+ // 当前完成的数量
92
+ let count = -1
93
+
94
+ return new Promise((resolve) => {
95
+ // 请求 maxNum 个
96
+ while (count < maxNum) {
97
+ next()
98
+ }
99
+ function next() {
100
+ const current = count + 1
101
+ count = current
102
+ // 处理边界条件
103
+ if (current >= len) {
104
+ // 请求全部完成就将promise置为成功状态, 然后将result作为promise值返回
105
+ if (!result.includes(false)) {
106
+ let r = []
107
+ result.forEach((arr) => {
108
+ r = r.concat(arr)
109
+ })
110
+ resolve(r)
111
+ }
112
+ return
113
+ }
114
+ const ids = groupIds[current]
115
+ getResourceStat(ids)
116
+ .then((res) => {
117
+ // 保存请求结果
118
+ result[current] = res
119
+ // 请求没有全部完成, 就递归
120
+ if (current < len) {
121
+ next()
122
+ }
123
+ })
124
+ .catch((err) => {
125
+ console.error(err)
126
+ result[current] = []
127
+ // 请求没有全部完成, 就递归
128
+ if (current < len) {
129
+ next()
130
+ }
131
+ })
132
+ }
133
+ })
134
+ }