@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
package/doc/develop.md CHANGED
@@ -1,24 +1,24 @@
1
- # 开发指南
2
-
3
- ## 发布
4
-
5
- 发布到 npm 官方 registry 上,注意不要发到 npm.sdp.nd 上
6
-
7
- ```bash
8
- npm publish
9
- ```
10
-
11
- 发布后需要同步版本,依次访问如下地址,进行同步
12
-
13
- - https://npmmirror.com/sync/@x-edu/live-player
14
- - http://npm.sdp.nd/sync/@x-edu/live-player
15
-
16
- 访问 https://npmmirror.com/package/%40x-edu%2Flive-player 查看版本是否正确
17
-
18
- ## 开发
19
-
20
- 代码都是由 x-edu-web 项目下的 `src\page\publicLive\detail`
21
-
22
- 直播相关逻辑代码因为是复用公开直播的,不要轻易更改,只更改强师方面外围接入的的需求
23
-
1
+ # 开发指南
2
+
3
+ ## 发布
4
+
5
+ 发布到 npm 官方 registry 上,注意不要发到 npm.sdp.nd 上
6
+
7
+ ```bash
8
+ npm publish
9
+ ```
10
+
11
+ 发布后需要同步版本,依次访问如下地址,进行同步
12
+
13
+ - https://npmmirror.com/sync/@x-edu/live-player
14
+ - http://npm.sdp.nd/sync/@x-edu/live-player
15
+
16
+ 访问 https://npmmirror.com/package/%40x-edu%2Flive-player 查看版本是否正确
17
+
18
+ ## 开发
19
+
20
+ 代码都是由 x-edu-web 项目下的 `src\page\publicLive\detail`
21
+
22
+ 直播相关逻辑代码因为是复用公开直播的,不要轻易更改,只更改强师方面外围接入的的需求
23
+
24
24
  对接人:孙仙钟
@@ -1,86 +1,86 @@
1
- /**
2
- * 相关参数文档请参考
3
- * https://doc.gem-mine.tech/#/zh-cn/toolkit/api/gms
4
- */
5
- const webpack = require('webpack')
6
- const { defineConfig } = require('@gem-mine/script')
7
- const AntdDayjsWebpackPlugin = require('antd-dayjs-webpack-plugin')
8
-
9
- const isDev = process.argv[2] === 'dev'
10
- const devServer = {
11
- https: true,
12
- proxy: {}
13
- }
14
- const { SDP_ENV } = process.env
15
-
16
- module.exports = defineConfig({
17
- inlineLimit: 0,
18
- /**
19
- * dev模式下注入右下角的开发菜单
20
- */
21
- showDevEntry: false,
22
- minimize: false,
23
- transpileDependencies: ['mutex-lock', 'crypto-es', 'rc-tree', '@sdp.nd/nd-uc-sdk', 'rc-util', 'pdfjs-dist'],
24
- chainWebpack(config) {
25
- // use webpack-chain
26
- config.plugins.delete('prefetch')
27
- config.plugins.delete('preload')
28
-
29
- config.module.rule('svg')
30
- .clear()
31
- .test(/\.(svg)(\?.*)?$/)
32
- .use('@svgr/webpack')
33
- .loader(require.resolve('@svgr/webpack'))
34
- .end()
35
- .use('url-loader')
36
- .loader(require.resolve('url-loader'))
37
-
38
- config
39
- .plugin('define')
40
- .tap((args) => {
41
- let sdpEnv
42
- if (process.env.BUILD_ON_SDP) {
43
- sdpEnv = 'window.__global_env'
44
- } else {
45
- sdpEnv = JSON.stringify(SDP_ENV)
46
- args[0]['process.env'].BUILD_ON_LOCAL = true
47
- }
48
- args[0]['process.env'].SDP_ENV = sdpEnv
49
- if (isDev) {
50
- args[0]['process.env'].DEV = true
51
- }
52
-
53
- return args
54
- })
55
- config.plugin('provider')
56
- .use(webpack.ProvidePlugin, [{
57
- process: 'process/browser'
58
- }])
59
- },
60
- configureWebpack: {
61
- // normal webpack config
62
- plugins: [
63
- new AntdDayjsWebpackPlugin()
64
- ],
65
- module: {
66
- rules: [
67
- {
68
- test: /\.(png|jpe?g|gif|webp|avif)(\?.*)?$/,
69
- type: 'asset',
70
- parser: {
71
- dataUrlCondition() {
72
- return true
73
- }
74
- },
75
- generator: {
76
- filename: 'img/[name].[hash:8][ext][query]'
77
- }
78
- }
79
- ]
80
- }
81
- },
82
- css: {
83
- extract: false
84
- },
85
- devServer
86
- })
1
+ /**
2
+ * 相关参数文档请参考
3
+ * https://doc.gem-mine.tech/#/zh-cn/toolkit/api/gms
4
+ */
5
+ const webpack = require('webpack')
6
+ const { defineConfig } = require('@gem-mine/script')
7
+ const AntdDayjsWebpackPlugin = require('antd-dayjs-webpack-plugin')
8
+
9
+ const isDev = process.argv[2] === 'dev'
10
+ const devServer = {
11
+ https: true,
12
+ proxy: {}
13
+ }
14
+ const { SDP_ENV } = process.env
15
+
16
+ module.exports = defineConfig({
17
+ inlineLimit: 0,
18
+ /**
19
+ * dev模式下注入右下角的开发菜单
20
+ */
21
+ showDevEntry: false,
22
+ minimize: false,
23
+ transpileDependencies: ['mutex-lock', 'crypto-es', 'rc-tree', '@sdp.nd/nd-uc-sdk', 'rc-util', 'pdfjs-dist'],
24
+ chainWebpack(config) {
25
+ // use webpack-chain
26
+ config.plugins.delete('prefetch')
27
+ config.plugins.delete('preload')
28
+
29
+ config.module.rule('svg')
30
+ .clear()
31
+ .test(/\.(svg)(\?.*)?$/)
32
+ .use('@svgr/webpack')
33
+ .loader(require.resolve('@svgr/webpack'))
34
+ .end()
35
+ .use('url-loader')
36
+ .loader(require.resolve('url-loader'))
37
+
38
+ config
39
+ .plugin('define')
40
+ .tap((args) => {
41
+ let sdpEnv
42
+ if (process.env.BUILD_ON_SDP) {
43
+ sdpEnv = 'window.__global_env'
44
+ } else {
45
+ sdpEnv = JSON.stringify(SDP_ENV)
46
+ args[0]['process.env'].BUILD_ON_LOCAL = true
47
+ }
48
+ args[0]['process.env'].SDP_ENV = sdpEnv
49
+ if (isDev) {
50
+ args[0]['process.env'].DEV = true
51
+ }
52
+
53
+ return args
54
+ })
55
+ config.plugin('provider')
56
+ .use(webpack.ProvidePlugin, [{
57
+ process: 'process/browser'
58
+ }])
59
+ },
60
+ configureWebpack: {
61
+ // normal webpack config
62
+ plugins: [
63
+ new AntdDayjsWebpackPlugin()
64
+ ],
65
+ module: {
66
+ rules: [
67
+ {
68
+ test: /\.(png|jpe?g|gif|webp|avif)(\?.*)?$/,
69
+ type: 'asset',
70
+ parser: {
71
+ dataUrlCondition() {
72
+ return true
73
+ }
74
+ },
75
+ generator: {
76
+ filename: 'img/[name].[hash:8][ext][query]'
77
+ }
78
+ }
79
+ ]
80
+ }
81
+ },
82
+ css: {
83
+ extract: false
84
+ },
85
+ devServer
86
+ })
package/jest.config.js CHANGED
@@ -1,9 +1,9 @@
1
- // 指定 SDP_ENV,是为了获取到 config/env/{SDP_ENV}.js
2
- process.env.SDP_ENV = 'test'
3
- // 标识使用 JEST,处理 babel-import-plugin 问题
4
- process.env.USE_JEST = true
5
-
6
- module.exports = {
7
- preset: '@gem-mine/cli-plugin-jest',
8
- setupFilesAfterEnv: ['<rootDir>/test/setup.js']
9
- }
1
+ // 指定 SDP_ENV,是为了获取到 config/env/{SDP_ENV}.js
2
+ process.env.SDP_ENV = 'test'
3
+ // 标识使用 JEST,处理 babel-import-plugin 问题
4
+ process.env.USE_JEST = true
5
+
6
+ module.exports = {
7
+ preset: '@gem-mine/cli-plugin-jest',
8
+ setupFilesAfterEnv: ['<rootDir>/test/setup.js']
9
+ }
package/jsconfig.json CHANGED
@@ -1,15 +1,15 @@
1
- {
2
- "compilerOptions": {
3
- "baseUrl": ".",
4
- "moduleResolution": "node",
5
- "jsx": "react",
6
- "resolveJsonModule": true,
7
- "experimentalDecorators": true,
8
- "paths": {
9
- "@/*": ["./src/*"],
10
- "fish": ["./node_modules/@sdp.nd/fish"],
11
- "@/config/env": ["./src/config/env/ncet-xedu"],
12
- }
13
- },
14
- "exclude": ["node_modules", "dist"]
15
- }
1
+ {
2
+ "compilerOptions": {
3
+ "baseUrl": ".",
4
+ "moduleResolution": "node",
5
+ "jsx": "react",
6
+ "resolveJsonModule": true,
7
+ "experimentalDecorators": true,
8
+ "paths": {
9
+ "@/*": ["./src/*"],
10
+ "fish": ["./node_modules/@sdp.nd/fish"],
11
+ "@/config/env": ["./src/config/env/ncet-xedu"],
12
+ }
13
+ },
14
+ "exclude": ["node_modules", "dist"]
15
+ }
package/mock/helper.js CHANGED
@@ -1,8 +1,8 @@
1
- module.exports = {
2
- /**
3
- * 模拟延时,可以被 await
4
- */
5
- sleep(ms) {
6
- return new Promise((resolve) => setTimeout(resolve, ms))
7
- }
8
- }
1
+ module.exports = {
2
+ /**
3
+ * 模拟延时,可以被 await
4
+ */
5
+ sleep(ms) {
6
+ return new Promise((resolve) => setTimeout(resolve, ms))
7
+ }
8
+ }
package/mock/index.js CHANGED
@@ -1,34 +1,34 @@
1
- const Mock = require('mockjs')
2
- const { sleep } = require('./helper')
3
-
4
- const { Random, mock } = Mock
5
-
6
- module.exports = {
7
- prefix: '/xx',
8
- data: {
9
- 'GET /user/:id': async (ctx, id) => {
10
- // 模拟服务端异常
11
- if (id === 0) {
12
- ctx.status = 404
13
- return {
14
- message: `user ${id} not exist`
15
- }
16
- }
17
- // 模拟延时
18
- if (ctx.query.sleep) {
19
- await sleep(ctx.query.sleep)
20
- }
21
- // 模拟正常返回
22
- return mock({
23
- id,
24
- name: Random.first(),
25
- email: Random.email()
26
- })
27
- },
28
- 'POST /user': () => mock({
29
- id: Random.id(),
30
- name: Random.first(),
31
- email: Random.email()
32
- })
33
- }
34
- }
1
+ const Mock = require('mockjs')
2
+ const { sleep } = require('./helper')
3
+
4
+ const { Random, mock } = Mock
5
+
6
+ module.exports = {
7
+ prefix: '/xx',
8
+ data: {
9
+ 'GET /user/:id': async (ctx, id) => {
10
+ // 模拟服务端异常
11
+ if (id === 0) {
12
+ ctx.status = 404
13
+ return {
14
+ message: `user ${id} not exist`
15
+ }
16
+ }
17
+ // 模拟延时
18
+ if (ctx.query.sleep) {
19
+ await sleep(ctx.query.sleep)
20
+ }
21
+ // 模拟正常返回
22
+ return mock({
23
+ id,
24
+ name: Random.first(),
25
+ email: Random.email()
26
+ })
27
+ },
28
+ 'POST /user': () => mock({
29
+ id: Random.id(),
30
+ name: Random.first(),
31
+ email: Random.email()
32
+ })
33
+ }
34
+ }
package/package.json CHANGED
@@ -1,99 +1,99 @@
1
- {
2
- "name": "@x-edu/live-player",
3
- "version": "0.0.19",
4
- "main": "dist/XEduLivePlayer.common.js",
5
- "scripts": {
6
- "start": "cross-env SDP_ENV=local gms dev",
7
- "start:test": "cross-env SDP_ENV=test gms dev",
8
- "start:pre": "cross-env SDP_ENV=preproduction gms dev",
9
- "start:ncet": "cross-env SDP_ENV=ncet-xedu gms dev",
10
- "start:ie11-ncet": "cross-env SDP_ENV=ncet-xedu BROWSERSLIST_ENV=production gms dev",
11
- "start:prod": "cross-env SDP_ENV=product gms dev",
12
- "build": "gms build",
13
- "build:lib-ncet": "cross-env SDP_ENV=ncet-xedu gms build --target=lib --excludeReact --formats=commonjs --name XEduLivePlayer",
14
- "build:lib-pre": "cross-env SDP_ENV=preproduction gms build --target=lib --excludeReact --formats=commonjs --name XEduLivePlayerPre --no-cleanDist",
15
- "build:lib": "npm run build:lib-ncet && npm run build:lib-pre",
16
- "cache:clean": "rimraf node_modules/.cache",
17
- "test": "gms test:unit",
18
- "test:coverage": "gms test:unit --coverage --collectCoverageFrom='src/**/*.{js,jsx}'",
19
- "lint": "gms lint",
20
- "lint:fix": "gms lint --fix",
21
- "fix:lockfileVersion": "npm i --lockfile-version 1 --package-lock-only",
22
- "prepublish": "npm run build:lib"
23
- },
24
- "husky": {
25
- "hooks": {
26
- "pre-commit": "lint-staged"
27
- }
28
- },
29
- "lint-staged": {
30
- "src/**/*.{js,jsx}": [
31
- "eslint --fix",
32
- "git add"
33
- ]
34
- },
35
- "dependencies": {
36
- "@ndim/chatroom": "^0.2.11",
37
- "@sdp.nd/fish": "^4.2.4",
38
- "@sdp.nd/im-sdk-chatroom": "^1.1.6",
39
- "@sdp.nd/im-sdk-commons": "^2.0.4",
40
- "@sdp.nd/im-web-components": "^1.0.42",
41
- "@sdp.nd/js-cs-sdk": "^2.2.22",
42
- "@sdp.nd/nd-uc-sdk": "^1.9.19",
43
- "@sdp.nd/request-adapter-waf": "^1.0.4",
44
- "@svgr/webpack": "^6.3.1",
45
- "ahooks": "^2.10.12",
46
- "axios": "^0.21.4",
47
- "b64-to-blob": "^1.2.19",
48
- "browser-url": "^2.0.1",
49
- "core-js": "^3.0.0",
50
- "dayjs": "^1.10.7",
51
- "js-cookie": "^3.0.1",
52
- "json-bigint": "^1.0.0",
53
- "lodash": "^4.17.21",
54
- "long": "^5.2.0",
55
- "nd-sha": "^3.0.0",
56
- "pdfjs-dist": "^2.13.216",
57
- "postal": "^2.0.6",
58
- "query-string": "^5.1.1",
59
- "react": "^17.0.1",
60
- "react-animate-height": "^3.0.4",
61
- "react-dom": "^17.0.1",
62
- "react-infinite-scroll-component": "^6.1.0",
63
- "react-pdf": "4.1.0",
64
- "react-router": "^5.2.1",
65
- "react-tabs-scrollable": "^2.0.0-alpha",
66
- "sa-sdk-javascript": "^1.21.6",
67
- "ua-parser-js": "^0.7.28",
68
- "uuid": "^8.3.2"
69
- },
70
- "devDependencies": {
71
- "@gem-mine/babel-preset-app": "^3.2.11",
72
- "@gem-mine/cli-plugin-eslint": "^4.1.3",
73
- "@gem-mine/cli-plugin-jest": "^3.0.2",
74
- "@gem-mine/eslint-config-recommend": "^4.0.2",
75
- "@gem-mine/script": "^3.4.6",
76
- "@peculiar/webcrypto": "^1.2.2",
77
- "@testing-library/jest-dom": "^5.14.1",
78
- "@testing-library/react": "^12.0.0",
79
- "antd-dayjs-webpack-plugin": "^1.0.6",
80
- "babel-plugin-import": "^1.11.0",
81
- "classnames": "^2.3.1",
82
- "cross-env": "^7.0.3",
83
- "eslint": "^7.5.0",
84
- "history": "^5.1.0",
85
- "husky": "^2.7.0",
86
- "jest": "^27.0.6",
87
- "lint-staged": "^7.2.2",
88
- "mockjs": "^1.0.1-beta3",
89
- "mutex-lock": "^2.0.0",
90
- "postcss": "^8.2.6",
91
- "resize-observer-polyfill": "^1.5.1",
92
- "rimraf": "^3.0.0",
93
- "smoothscroll-polyfill": "^0.4.4",
94
- "webpack": "^5.45.1"
95
- },
96
- "volta": {
97
- "node": "14.17.5"
98
- }
99
- }
1
+ {
2
+ "name": "@x-edu/live-player",
3
+ "version": "0.0.21",
4
+ "main": "dist/XEduLivePlayer.common.js",
5
+ "scripts": {
6
+ "start": "cross-env SDP_ENV=local gms dev",
7
+ "start:test": "cross-env SDP_ENV=test gms dev",
8
+ "start:pre": "cross-env SDP_ENV=preproduction gms dev",
9
+ "start:ncet": "cross-env SDP_ENV=ncet-xedu gms dev",
10
+ "start:ie11-ncet": "cross-env SDP_ENV=ncet-xedu BROWSERSLIST_ENV=production gms dev",
11
+ "start:prod": "cross-env SDP_ENV=product gms dev",
12
+ "build": "gms build",
13
+ "build:lib-ncet": "cross-env SDP_ENV=ncet-xedu gms build --target=lib --excludeReact --formats=commonjs --name XEduLivePlayer",
14
+ "build:lib-pre": "cross-env SDP_ENV=preproduction gms build --target=lib --excludeReact --formats=commonjs --name XEduLivePlayerPre --no-cleanDist",
15
+ "build:lib": "npm run build:lib-ncet && npm run build:lib-pre",
16
+ "cache:clean": "rimraf node_modules/.cache",
17
+ "test": "gms test:unit",
18
+ "test:coverage": "gms test:unit --coverage --collectCoverageFrom='src/**/*.{js,jsx}'",
19
+ "lint": "gms lint",
20
+ "lint:fix": "gms lint --fix",
21
+ "fix:lockfileVersion": "npm i --lockfile-version 1 --package-lock-only",
22
+ "prepublish": "npm run build:lib"
23
+ },
24
+ "husky": {
25
+ "hooks": {
26
+ "pre-commit": "lint-staged"
27
+ }
28
+ },
29
+ "lint-staged": {
30
+ "src/**/*.{js,jsx}": [
31
+ "eslint --fix",
32
+ "git add"
33
+ ]
34
+ },
35
+ "dependencies": {
36
+ "@ndim/chatroom": "^0.2.11",
37
+ "@sdp.nd/fish": "^4.2.4",
38
+ "@sdp.nd/im-sdk-chatroom": "^1.1.6",
39
+ "@sdp.nd/im-sdk-commons": "^2.0.4",
40
+ "@sdp.nd/im-web-components": "^1.0.42",
41
+ "@sdp.nd/js-cs-sdk": "^2.2.22",
42
+ "@sdp.nd/nd-uc-sdk": "^1.9.19",
43
+ "@sdp.nd/request-adapter-waf": "^1.0.4",
44
+ "@svgr/webpack": "^6.3.1",
45
+ "ahooks": "^2.10.12",
46
+ "axios": "^0.21.4",
47
+ "b64-to-blob": "^1.2.19",
48
+ "browser-url": "^2.0.1",
49
+ "core-js": "^3.0.0",
50
+ "dayjs": "^1.10.7",
51
+ "js-cookie": "^3.0.1",
52
+ "json-bigint": "^1.0.0",
53
+ "lodash": "^4.17.21",
54
+ "long": "^5.2.0",
55
+ "nd-sha": "^3.0.0",
56
+ "pdfjs-dist": "^2.13.216",
57
+ "postal": "^2.0.6",
58
+ "query-string": "^5.1.1",
59
+ "react": "^17.0.1",
60
+ "react-animate-height": "^3.0.4",
61
+ "react-dom": "^17.0.1",
62
+ "react-infinite-scroll-component": "^6.1.0",
63
+ "react-pdf": "4.1.0",
64
+ "react-router": "^5.2.1",
65
+ "react-tabs-scrollable": "^2.0.0-alpha",
66
+ "sa-sdk-javascript": "^1.21.6",
67
+ "ua-parser-js": "^0.7.28",
68
+ "uuid": "^8.3.2"
69
+ },
70
+ "devDependencies": {
71
+ "@gem-mine/babel-preset-app": "^3.2.11",
72
+ "@gem-mine/cli-plugin-eslint": "^4.1.3",
73
+ "@gem-mine/cli-plugin-jest": "^3.0.2",
74
+ "@gem-mine/eslint-config-recommend": "^4.0.2",
75
+ "@gem-mine/script": "^3.4.6",
76
+ "@peculiar/webcrypto": "^1.2.2",
77
+ "@testing-library/jest-dom": "^5.14.1",
78
+ "@testing-library/react": "^12.0.0",
79
+ "antd-dayjs-webpack-plugin": "^1.0.6",
80
+ "babel-plugin-import": "^1.11.0",
81
+ "classnames": "^2.3.1",
82
+ "cross-env": "^7.0.3",
83
+ "eslint": "^7.5.0",
84
+ "history": "^5.1.0",
85
+ "husky": "^2.7.0",
86
+ "jest": "^27.0.6",
87
+ "lint-staged": "^7.2.2",
88
+ "mockjs": "^1.0.1-beta3",
89
+ "mutex-lock": "^2.0.0",
90
+ "postcss": "^8.2.6",
91
+ "resize-observer-polyfill": "^1.5.1",
92
+ "rimraf": "^3.0.0",
93
+ "smoothscroll-polyfill": "^0.4.4",
94
+ "webpack": "^5.45.1"
95
+ },
96
+ "volta": {
97
+ "node": "14.17.5"
98
+ }
99
+ }