@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,20 +1,20 @@
1
- import get from 'lodash/get'
2
- import env from '../../config/env'
3
-
4
- export const csHost = get({
5
- development: 'betacs.101.com',
6
- test: 'betacs.101.com',
7
- preproduction: 'betacs.101.com',
8
- product: 'cs.101.com',
9
- hk: 'hkcs.101.com',
10
- 'ncet-xedu': 'cs.101.com'
11
- }, env)
12
-
13
- export const chatroomServiceName = get({
14
- development: 'qa_content_chatroom',
15
- test: 'qa_content_chatroom',
16
- preproduction: 'preproduction_content_chatroom',
17
- product: 'chatroom',
18
- hk: 'im_chatroom',
19
- 'ncet-xedu': 'chatroom'
20
- }, env)
1
+ import get from 'lodash/get'
2
+ import env from '../../config/env'
3
+
4
+ export const csHost = get({
5
+ development: 'betacs.101.com',
6
+ test: 'betacs.101.com',
7
+ preproduction: 'betacs.101.com',
8
+ product: 'cs.101.com',
9
+ hk: 'hkcs.101.com',
10
+ 'ncet-xedu': 'cs.101.com'
11
+ }, env)
12
+
13
+ export const chatroomServiceName = get({
14
+ development: 'qa_content_chatroom',
15
+ test: 'qa_content_chatroom',
16
+ preproduction: 'preproduction_content_chatroom',
17
+ product: 'chatroom',
18
+ hk: 'im_chatroom',
19
+ 'ncet-xedu': 'chatroom'
20
+ }, env)
@@ -1,101 +1,101 @@
1
- import csSDK from '@sdp.nd/js-cs-sdk/dist/CS-SDK.common'
2
-
3
- import { csHost, chatroomServiceName } from './constants'
4
-
5
- const serviceNames = [
6
- chatroomServiceName
7
- ]
8
-
9
- class CsSdk {
10
- constructor() {
11
- this.csClient = {}
12
- }
13
-
14
- init() {
15
- // 默认需要初始化的公开文件的 serviceNames
16
- return Promise.all(serviceNames.map((name) => {
17
- if (!name) {
18
- return Promise.reject(new Error('serviceName can\'t be empty'))
19
- }
20
- return csSDK({
21
- serviceName: name,
22
- getToken: this.getToken,
23
- host: csHost,
24
- protocol: 'https'
25
- }).then((client) => {
26
- console.log('client', name, client)
27
- // eslint-disable-next-line no-useless-escape
28
- client._validateFileName = (t) => t.replace(/[\\\/:*?"<>|]+/g, '-')
29
- this.csClient[name] = client
30
- return client
31
- }).catch((e) => {
32
- console.log('e')
33
- console.log(e)
34
- })
35
- }))
36
- }
37
-
38
- async set(serviceName) {
39
- if (!serviceName) {
40
- return Promise.reject(new Error('serviceName can\'t be empty'))
41
- }
42
- if (!this.csClient[serviceName]) {
43
- const client = await csSDK({
44
- serviceName,
45
- getToken: this.getToken,
46
- host: URL.CS_HOST,
47
- protocol: 'https'
48
- })
49
- // eslint-disable-next-line no-useless-escape
50
- client._validateFileName = (name) => name.replace(/[\\\/:*?"<>|]+/g, '-')
51
- this.csClient[serviceName] = client
52
- }
53
- return this.csClient[serviceName]
54
- }
55
-
56
- getPublicDownloadURL(options) {
57
- const { serviceName, ...others } = options
58
-
59
- if (!this.csClient[serviceName]) {
60
- return ''
61
- }
62
-
63
- if (!others.dentryId && !others.path) {
64
- return ''
65
- }
66
-
67
- const urls = this.csClient[serviceName].getPublicDownloadURL(others)
68
- return urls.length ? urls[0] : ''
69
- }
70
-
71
- getToken({ javaSDKParams, name }, extraInfo = {}) {
72
- const { actionType, replacement, model, tokenData, isCover } = extraInfo
73
- const { params, path, tokenType } = javaSDKParams
74
- const data = {
75
- type: tokenType,
76
- params,
77
- ...tokenData
78
- }
79
- if (actionType === 'upload') {
80
- if (isCover) {
81
- data.path = path
82
- } else {
83
- data.path = `${path}/${name}`
84
- }
85
- }
86
-
87
- return model
88
- .replace(replacement)
89
- .send(data)
90
- .post()
91
- .then(({ data: newData }) => {
92
- const { expire_at: expireAt } = newData
93
- return {
94
- ...newData,
95
- expireAt
96
- }
97
- })
98
- }
99
- }
100
-
101
- export default new CsSdk()
1
+ import csSDK from '@sdp.nd/js-cs-sdk/dist/CS-SDK.common'
2
+
3
+ import { csHost, chatroomServiceName } from './constants'
4
+
5
+ const serviceNames = [
6
+ chatroomServiceName
7
+ ]
8
+
9
+ class CsSdk {
10
+ constructor() {
11
+ this.csClient = {}
12
+ }
13
+
14
+ init() {
15
+ // 默认需要初始化的公开文件的 serviceNames
16
+ return Promise.all(serviceNames.map((name) => {
17
+ if (!name) {
18
+ return Promise.reject(new Error('serviceName can\'t be empty'))
19
+ }
20
+ return csSDK({
21
+ serviceName: name,
22
+ getToken: this.getToken,
23
+ host: csHost,
24
+ protocol: 'https'
25
+ }).then((client) => {
26
+ console.log('client', name, client)
27
+ // eslint-disable-next-line no-useless-escape
28
+ client._validateFileName = (t) => t.replace(/[\\\/:*?"<>|]+/g, '-')
29
+ this.csClient[name] = client
30
+ return client
31
+ }).catch((e) => {
32
+ console.log('e')
33
+ console.log(e)
34
+ })
35
+ }))
36
+ }
37
+
38
+ async set(serviceName) {
39
+ if (!serviceName) {
40
+ return Promise.reject(new Error('serviceName can\'t be empty'))
41
+ }
42
+ if (!this.csClient[serviceName]) {
43
+ const client = await csSDK({
44
+ serviceName,
45
+ getToken: this.getToken,
46
+ host: URL.CS_HOST,
47
+ protocol: 'https'
48
+ })
49
+ // eslint-disable-next-line no-useless-escape
50
+ client._validateFileName = (name) => name.replace(/[\\\/:*?"<>|]+/g, '-')
51
+ this.csClient[serviceName] = client
52
+ }
53
+ return this.csClient[serviceName]
54
+ }
55
+
56
+ getPublicDownloadURL(options) {
57
+ const { serviceName, ...others } = options
58
+
59
+ if (!this.csClient[serviceName]) {
60
+ return ''
61
+ }
62
+
63
+ if (!others.dentryId && !others.path) {
64
+ return ''
65
+ }
66
+
67
+ const urls = this.csClient[serviceName].getPublicDownloadURL(others)
68
+ return urls.length ? urls[0] : ''
69
+ }
70
+
71
+ getToken({ javaSDKParams, name }, extraInfo = {}) {
72
+ const { actionType, replacement, model, tokenData, isCover } = extraInfo
73
+ const { params, path, tokenType } = javaSDKParams
74
+ const data = {
75
+ type: tokenType,
76
+ params,
77
+ ...tokenData
78
+ }
79
+ if (actionType === 'upload') {
80
+ if (isCover) {
81
+ data.path = path
82
+ } else {
83
+ data.path = `${path}/${name}`
84
+ }
85
+ }
86
+
87
+ return model
88
+ .replace(replacement)
89
+ .send(data)
90
+ .post()
91
+ .then(({ data: newData }) => {
92
+ const { expire_at: expireAt } = newData
93
+ return {
94
+ ...newData,
95
+ expireAt
96
+ }
97
+ })
98
+ }
99
+ }
100
+
101
+ export default new CsSdk()
@@ -1,15 +1,15 @@
1
- import Chatroom from '@sdp.nd/im-sdk-chatroom'
2
- import env from '../config/env'
3
- import urlConfig from '../config/url'
4
- import request from '../config/request'
5
-
6
- const chatroom = new Chatroom({
7
- env,
8
- request: request.imChatroom,
9
- gid: urlConfig.roomId,
10
- overrides: env === 'ncet-xedu' ? {
11
- API_HOST: 'https://im-chatroom.ykt.eduyun.cn'
12
- } : null
13
- })
14
-
15
- export default chatroom
1
+ import Chatroom from '@sdp.nd/im-sdk-chatroom'
2
+ import env from '../config/env'
3
+ import urlConfig from '../config/url'
4
+ import request from '../config/request'
5
+
6
+ const chatroom = new Chatroom({
7
+ env,
8
+ request: request.imChatroom,
9
+ gid: urlConfig.roomId,
10
+ overrides: env === 'ncet-xedu' ? {
11
+ API_HOST: 'https://im-chatroom.ykt.eduyun.cn'
12
+ } : null
13
+ })
14
+
15
+ export default chatroom
@@ -1,128 +1,128 @@
1
- import get from 'lodash/get'
2
-
3
- import env from '../../config/env'
4
-
5
- export const imCoreOrigin = get({
6
- development: 'wss://im-httpaccess-develop.101.com:13080',
7
- test: 'wss://im-httpaccess-test.101.com:13080',
8
- preproduction: 'wss://im-httpaccess-preproduction.101.com:13080',
9
- product: 'wss://chatroom-access.101.com:13080',
10
- hk: 'wss://im-access-hk.101.com:8443',
11
- 'ncet-xedu': 'wss://chatroom-access.ykt.eduyun.cn:13080'
12
- }, env)
13
-
14
- export const imCoreApiOrigin = get({
15
- development: 'http://imcoreapi-develop.k8s.sdp.nd',
16
- test: 'http://imcoreapi-qa-test.k8s.sdp.nd',
17
- preproduction: 'https://imcoreapi.beta.101.com',
18
- product: 'https://imcoreapis.101.com',
19
- hk: 'https://imcoreapis-hk.101.com',
20
- 'ncet-xedu': 'https://imcoreapi.ykt.eduyun.cn'
21
- }, env)
22
-
23
- export const MessageType = {
24
- Base: 'Base',
25
- Text: 'Text',
26
- Tip: 'Tip',
27
- Image: 'Image',
28
- File: 'File',
29
- Link: 'Link',
30
- Folder: 'Folder',
31
- Audio: 'Audio',
32
- Article: 'Article',
33
- Rich: 'Rich',
34
- Video: 'Video',
35
- Smiley: 'Smiley',
36
- Associate: 'Associate',
37
- Directory: 'Directory',
38
- RichTip: 'RichTip',
39
- Box: 'Box',
40
- FlexBox: 'FlexBox',
41
- Ctl: 'Ctl',
42
- DocSync: 'DocSync',
43
- EventDispatch: 'EventDispatch',
44
- Event: 'Event',
45
- Ntf: 'Ntf',
46
- Sys: 'Sys',
47
- Tel: 'Tel',
48
- Unknown: 'Unknown',
49
- // 消息解析新增类型
50
- Error: 'error',
51
- // 自定义消息类型
52
- CustomFlexBox: 'CustomFlexBox' // 自定义消息类型,将flexbox/json转换成flexbox-web-im/xml,转换后的消息内容content用户模板消息翻译
53
- }
54
-
55
- export const ContentType = {
56
- Base: 'ndim/base',
57
- Text: 'text/plain',
58
- Tip: 'tip/xml',
59
- Image: 'img/xml',
60
- File: 'file/xml',
61
- Link: 'link/xml',
62
- Folder: 'folder/xml',
63
- Audio: 'audio/xml',
64
- Article: 'article/xml',
65
- Rich: 'rich/xml',
66
- Video: 'video/xml',
67
- Smiley: 'smiley/xml',
68
- Associate: 'associate/xml',
69
- Directory: 'directory/xml',
70
- RichTip: 'rich-tip/xml',
71
- Box: 'box/xml',
72
- Ctl: 'ctl/json',
73
- DocSync: 'docsync/json',
74
- EventDispatch: 'event-dispatch',
75
- Event: 'event/json',
76
- Ntf: 'ntf/json',
77
- Sys: 'sys/json',
78
- Tel: 'tel/json'
79
- }
80
-
81
- /**
82
- * contentType 对应的 MessageType 映射
83
- */
84
- export const MessageTypeMap = {
85
- [ContentType.Base]: MessageType.Base,
86
- [ContentType.Text]: MessageType.Text,
87
- [ContentType.Tip]: MessageType.Tip,
88
- [ContentType.Image]: MessageType.Image,
89
- [ContentType.File]: MessageType.File,
90
- [ContentType.Link]: MessageType.Link,
91
- [ContentType.Folder]: MessageType.Folder,
92
- [ContentType.Audio]: MessageType.Audio,
93
- [ContentType.Article]: MessageType.Article,
94
- [ContentType.Rich]: MessageType.Rich,
95
- [ContentType.Video]: MessageType.Video,
96
- [ContentType.Smiley]: MessageType.Smiley,
97
- [ContentType.Associate]: MessageType.Associate,
98
- [ContentType.Directory]: MessageType.Directory,
99
- [ContentType.RichTip]: MessageType.RichTip,
100
- [ContentType.Box]: MessageType.Box,
101
- [ContentType.Ctl]: MessageType.Ctl,
102
- [ContentType.DocSync]: MessageType.DocSync,
103
- [ContentType.EventDispatch]: MessageType.EventDispatch,
104
- [ContentType.Event]: MessageType.Event,
105
- [ContentType.Ntf]: MessageType.Ntf,
106
- [ContentType.Sys]: MessageType.Sys,
107
- [ContentType.Tel]: MessageType.Tel
108
- }
109
-
110
- export const MessageHeader = {
111
- ContentType: 'Content-Type',
112
- ContentEncoding: 'Content-Encoding',
113
- ContentReceivers: 'Content-Receivers',
114
- ContentAt: 'Content-At',
115
- SupportLanguages: 'Support-Languages',
116
- LanguageTemplate: 'Language-Template',
117
- LanguageParameter: 'Language-Parameter',
118
- EventDispatch: 'Event-Dispatch',
119
- SupportPlatform: 'Support-Platform',
120
- PopupEndingTime: 'Popup-EndingTime',
121
- MessageTimer: 'Message-Timer',
122
- BlinkCode: 'Blink-Code',
123
- PerformanceDentryId: 'Performance-dentryid',
124
- DataBiz: 'Data-Biz',
125
- Sponsor: 'Sponsor',
126
- ContentSender: 'Content-Sender',
127
- ExtInfo: 'Ext-Info'
128
- }
1
+ import get from 'lodash/get'
2
+
3
+ import env from '../../config/env'
4
+
5
+ export const imCoreOrigin = get({
6
+ development: 'wss://im-httpaccess-develop.101.com:13080',
7
+ test: 'wss://im-httpaccess-test.101.com:13080',
8
+ preproduction: 'wss://im-httpaccess-preproduction.101.com:13080',
9
+ product: 'wss://chatroom-access.101.com:13080',
10
+ hk: 'wss://im-access-hk.101.com:8443',
11
+ 'ncet-xedu': 'wss://chatroom-access.ykt.eduyun.cn:13080'
12
+ }, env)
13
+
14
+ export const imCoreApiOrigin = get({
15
+ development: 'http://imcoreapi-develop.k8s.sdp.nd',
16
+ test: 'http://imcoreapi-qa-test.k8s.sdp.nd',
17
+ preproduction: 'https://imcoreapi.beta.101.com',
18
+ product: 'https://imcoreapis.101.com',
19
+ hk: 'https://imcoreapis-hk.101.com',
20
+ 'ncet-xedu': 'https://imcoreapi.ykt.eduyun.cn'
21
+ }, env)
22
+
23
+ export const MessageType = {
24
+ Base: 'Base',
25
+ Text: 'Text',
26
+ Tip: 'Tip',
27
+ Image: 'Image',
28
+ File: 'File',
29
+ Link: 'Link',
30
+ Folder: 'Folder',
31
+ Audio: 'Audio',
32
+ Article: 'Article',
33
+ Rich: 'Rich',
34
+ Video: 'Video',
35
+ Smiley: 'Smiley',
36
+ Associate: 'Associate',
37
+ Directory: 'Directory',
38
+ RichTip: 'RichTip',
39
+ Box: 'Box',
40
+ FlexBox: 'FlexBox',
41
+ Ctl: 'Ctl',
42
+ DocSync: 'DocSync',
43
+ EventDispatch: 'EventDispatch',
44
+ Event: 'Event',
45
+ Ntf: 'Ntf',
46
+ Sys: 'Sys',
47
+ Tel: 'Tel',
48
+ Unknown: 'Unknown',
49
+ // 消息解析新增类型
50
+ Error: 'error',
51
+ // 自定义消息类型
52
+ CustomFlexBox: 'CustomFlexBox' // 自定义消息类型,将flexbox/json转换成flexbox-web-im/xml,转换后的消息内容content用户模板消息翻译
53
+ }
54
+
55
+ export const ContentType = {
56
+ Base: 'ndim/base',
57
+ Text: 'text/plain',
58
+ Tip: 'tip/xml',
59
+ Image: 'img/xml',
60
+ File: 'file/xml',
61
+ Link: 'link/xml',
62
+ Folder: 'folder/xml',
63
+ Audio: 'audio/xml',
64
+ Article: 'article/xml',
65
+ Rich: 'rich/xml',
66
+ Video: 'video/xml',
67
+ Smiley: 'smiley/xml',
68
+ Associate: 'associate/xml',
69
+ Directory: 'directory/xml',
70
+ RichTip: 'rich-tip/xml',
71
+ Box: 'box/xml',
72
+ Ctl: 'ctl/json',
73
+ DocSync: 'docsync/json',
74
+ EventDispatch: 'event-dispatch',
75
+ Event: 'event/json',
76
+ Ntf: 'ntf/json',
77
+ Sys: 'sys/json',
78
+ Tel: 'tel/json'
79
+ }
80
+
81
+ /**
82
+ * contentType 对应的 MessageType 映射
83
+ */
84
+ export const MessageTypeMap = {
85
+ [ContentType.Base]: MessageType.Base,
86
+ [ContentType.Text]: MessageType.Text,
87
+ [ContentType.Tip]: MessageType.Tip,
88
+ [ContentType.Image]: MessageType.Image,
89
+ [ContentType.File]: MessageType.File,
90
+ [ContentType.Link]: MessageType.Link,
91
+ [ContentType.Folder]: MessageType.Folder,
92
+ [ContentType.Audio]: MessageType.Audio,
93
+ [ContentType.Article]: MessageType.Article,
94
+ [ContentType.Rich]: MessageType.Rich,
95
+ [ContentType.Video]: MessageType.Video,
96
+ [ContentType.Smiley]: MessageType.Smiley,
97
+ [ContentType.Associate]: MessageType.Associate,
98
+ [ContentType.Directory]: MessageType.Directory,
99
+ [ContentType.RichTip]: MessageType.RichTip,
100
+ [ContentType.Box]: MessageType.Box,
101
+ [ContentType.Ctl]: MessageType.Ctl,
102
+ [ContentType.DocSync]: MessageType.DocSync,
103
+ [ContentType.EventDispatch]: MessageType.EventDispatch,
104
+ [ContentType.Event]: MessageType.Event,
105
+ [ContentType.Ntf]: MessageType.Ntf,
106
+ [ContentType.Sys]: MessageType.Sys,
107
+ [ContentType.Tel]: MessageType.Tel
108
+ }
109
+
110
+ export const MessageHeader = {
111
+ ContentType: 'Content-Type',
112
+ ContentEncoding: 'Content-Encoding',
113
+ ContentReceivers: 'Content-Receivers',
114
+ ContentAt: 'Content-At',
115
+ SupportLanguages: 'Support-Languages',
116
+ LanguageTemplate: 'Language-Template',
117
+ LanguageParameter: 'Language-Parameter',
118
+ EventDispatch: 'Event-Dispatch',
119
+ SupportPlatform: 'Support-Platform',
120
+ PopupEndingTime: 'Popup-EndingTime',
121
+ MessageTimer: 'Message-Timer',
122
+ BlinkCode: 'Blink-Code',
123
+ PerformanceDentryId: 'Performance-dentryid',
124
+ DataBiz: 'Data-Biz',
125
+ Sponsor: 'Sponsor',
126
+ ContentSender: 'Content-Sender',
127
+ ExtInfo: 'Ext-Info'
128
+ }
@@ -1,5 +1,5 @@
1
- import subscription from '../../../subscription'
2
-
3
- export default function chatroomDestroyed(data) {
4
- subscription.websocket.publish(subscription.EVENT.CHATROOM_DESTROYED, data)
5
- }
1
+ import subscription from '../../../subscription'
2
+
3
+ export default function chatroomDestroyed(data) {
4
+ subscription.websocket.publish(subscription.EVENT.CHATROOM_DESTROYED, data)
5
+ }
@@ -1,5 +1,5 @@
1
- import subscription from '../../../subscription'
2
-
3
- export default function chatroomInfoGetFail(data) {
4
- subscription.websocket.publish(subscription.EVENT.GET_CHATROOM_INFO_FAIL, data)
5
- }
1
+ import subscription from '../../../subscription'
2
+
3
+ export default function chatroomInfoGetFail(data) {
4
+ subscription.websocket.publish(subscription.EVENT.GET_CHATROOM_INFO_FAIL, data)
5
+ }
@@ -1,5 +1,5 @@
1
- import subscription from '../../../subscription'
2
-
3
- export default function chatroomKickedByAdmin(data) {
4
- subscription.websocket.publish(subscription.EVENT.KICKED_BY_ADMIN, data)
5
- }
1
+ import subscription from '../../../subscription'
2
+
3
+ export default function chatroomKickedByAdmin(data) {
4
+ subscription.websocket.publish(subscription.EVENT.KICKED_BY_ADMIN, data)
5
+ }
@@ -1,5 +1,5 @@
1
- import subscription from '../../../subscription'
2
-
3
- export default function chatroomKickedBySelf(data) {
4
- subscription.websocket.publish(subscription.EVENT.KICKED_BY_SELF, data)
5
- }
1
+ import subscription from '../../../subscription'
2
+
3
+ export default function chatroomKickedBySelf(data) {
4
+ subscription.websocket.publish(subscription.EVENT.KICKED_BY_SELF, data)
5
+ }
@@ -1,5 +1,5 @@
1
- import subscription from '../../../subscription'
2
-
3
- export default function chatroomLoginFail(data) {
4
- subscription.websocket.publish(subscription.EVENT.LOGIN_FAIL, data)
5
- }
1
+ import subscription from '../../../subscription'
2
+
3
+ export default function chatroomLoginFail(data) {
4
+ subscription.websocket.publish(subscription.EVENT.LOGIN_FAIL, data)
5
+ }
@@ -1,5 +1,5 @@
1
- import subscription from '../../../subscription'
2
-
3
- export default function chatroomLoginSuccess(data) {
4
- subscription.websocket.publish(subscription.EVENT.LOGIN_SUCCESS, data)
5
- }
1
+ import subscription from '../../../subscription'
2
+
3
+ export default function chatroomLoginSuccess(data) {
4
+ subscription.websocket.publish(subscription.EVENT.LOGIN_SUCCESS, data)
5
+ }
@@ -1,5 +1,5 @@
1
- import subscription from '../../../subscription'
2
-
3
- export default function chatroomMemberLogin(data) {
4
- subscription.member.publish(subscription.EVENT.MEMBER_LOGIN, data)
5
- }
1
+ import subscription from '../../../subscription'
2
+
3
+ export default function chatroomMemberLogin(data) {
4
+ subscription.member.publish(subscription.EVENT.MEMBER_LOGIN, data)
5
+ }
@@ -1,5 +1,5 @@
1
- import subscription from '../../../subscription'
2
-
3
- export default function chatroomMemberLogout(data) {
4
- subscription.member.publish(subscription.EVENT.MEMBER_LOGOUT, data)
5
- }
1
+ import subscription from '../../../subscription'
2
+
3
+ export default function chatroomMemberLogout(data) {
4
+ subscription.member.publish(subscription.EVENT.MEMBER_LOGOUT, data)
5
+ }
@@ -1,5 +1,5 @@
1
- import subscription from '../../../subscription'
2
-
3
- export default function connectionConnected(data) {
4
- subscription.websocket.publish(subscription.EVENT.CONNECTING, data)
5
- }
1
+ import subscription from '../../../subscription'
2
+
3
+ export default function connectionConnected(data) {
4
+ subscription.websocket.publish(subscription.EVENT.CONNECTING, data)
5
+ }
@@ -1,5 +1,5 @@
1
- import subscription from '../../../subscription'
2
-
3
- export default function connectionConnecting(data) {
4
- subscription.websocket.publish(subscription.EVENT.CONNECTING, data)
5
- }
1
+ import subscription from '../../../subscription'
2
+
3
+ export default function connectionConnecting(data) {
4
+ subscription.websocket.publish(subscription.EVENT.CONNECTING, data)
5
+ }