@x-edu/live-player 0.0.21 → 0.0.23

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 (299) 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/doc/develop.md +23 -23
  9. package/gem-mine.config.js +86 -86
  10. package/jest.config.js +9 -9
  11. package/jsconfig.json +15 -15
  12. package/mock/helper.js +8 -8
  13. package/mock/index.js +34 -34
  14. package/package.json +99 -99
  15. package/public/3rd/ali-player/alipayercomponents-1.0.8.min.js +26 -26
  16. package/public/3rd/ali-player/aliplayer-hls-min.js +27 -27
  17. package/public/3rd/ali-player/aliplayer-min.js +1 -1
  18. package/public/3rd/im-web-push/index.umd.js +14 -14
  19. package/public/JsBridge.js +1602 -1602
  20. package/public/fish/editor/themes/default/css/ueditor.css +1905 -1905
  21. package/public/fish/editor/third-party/codemirror/codemirror.css +104 -104
  22. package/public/fish/editor/third-party/codemirror/codemirror.js +3581 -3581
  23. package/public/fish/editor/third-party/zeroclipboard/ZeroClipboard.js +1255 -1255
  24. package/public/fish/editor/ueditor.all.min.js +16 -16
  25. package/public/fish/editor/ueditor.config.js +467 -467
  26. package/public/fish/icon/umd-4.1.2.js +1 -1
  27. package/public/fish/video/videoplayer.min.css +6 -6
  28. package/public/fish/video/videoplayer.min.js +31 -31
  29. package/public/fish/video/zh-CN.js +82 -82
  30. package/public/icon/demo.css +539 -539
  31. package/public/icon/demo_index.html +2189 -2189
  32. package/public/icon/iconfont.css +363 -363
  33. package/public/icon/iconfont.json +618 -618
  34. package/public/index.html +50 -50
  35. package/script/image/readme.md +77 -77
  36. package/script/postcss.js +48 -48
  37. package/src/App.jsx +24 -24
  38. package/src/asset/img/course/playing.svg +21 -21
  39. package/src/asset/img/icon-course-white.svg +3 -3
  40. package/src/asset/img/icon-course.svg +3 -3
  41. package/src/asset/img/icon-eye-white.svg +4 -4
  42. package/src/asset/img/icon-eye.svg +4 -4
  43. package/src/asset/img/icon-school-white.svg +3 -3
  44. package/src/asset/img/icon-school.svg +3 -3
  45. package/src/asset/img/loading.svg +52 -52
  46. package/src/asset/img/video-play.svg +6 -6
  47. package/src/asset/style/background.less +19 -19
  48. package/src/asset/style/banner.less +36 -36
  49. package/src/asset/style/base.less +74 -74
  50. package/src/asset/style/index.less +114 -114
  51. package/src/asset/style/reset-theme.less +141 -141
  52. package/src/asset/style/theme/index.less +55 -55
  53. package/src/asset/style/theme/party/global.less +20 -20
  54. package/src/asset/style/theme/party/override.less +57 -57
  55. package/src/asset/style/theme/test/global.less +18 -18
  56. package/src/asset/style/theme/test/override.less +45 -45
  57. package/src/asset/style/variable.less +12 -12
  58. package/src/component/AliPlayer/index.jsx +49 -49
  59. package/src/component/Avatar/index.jsx +50 -50
  60. package/src/component/Empty/index.jsx +34 -34
  61. package/src/component/Empty/index.module.less +37 -37
  62. package/src/component/IMChatroom/component/status/403.jsx +13 -13
  63. package/src/component/IMChatroom/component/status/404.jsx +13 -13
  64. package/src/component/IMChatroom/component/status/Error.jsx +23 -23
  65. package/src/component/IMChatroom/component/status/Loading.jsx +5 -5
  66. package/src/component/IMChatroom/config/app/config.js +118 -118
  67. package/src/component/IMChatroom/config/app/index.js +60 -60
  68. package/src/component/IMChatroom/config/env.js +5 -5
  69. package/src/component/IMChatroom/config/index.js +3 -3
  70. package/src/component/IMChatroom/config/request/config/base.js +124 -124
  71. package/src/component/IMChatroom/config/request/config/chatroom.js +26 -26
  72. package/src/component/IMChatroom/config/request/config/imCoreApi.js +21 -21
  73. package/src/component/IMChatroom/config/request/index.js +21 -21
  74. package/src/component/IMChatroom/config/request/proxy.js +39 -39
  75. package/src/component/IMChatroom/config/url.js +7 -7
  76. package/src/component/IMChatroom/constants/errorCode.js +9 -9
  77. package/src/component/IMChatroom/constants/index.js +84 -84
  78. package/src/component/IMChatroom/constants/origin.js +27 -27
  79. package/src/component/IMChatroom/context/chatroom.js +154 -154
  80. package/src/component/IMChatroom/context/connect.js +28 -28
  81. package/src/component/IMChatroom/i18n/en/index.json +73 -73
  82. package/src/component/IMChatroom/i18n/index.jsx +14 -14
  83. package/src/component/IMChatroom/i18n/language.js +9 -9
  84. package/src/component/IMChatroom/i18n/zh-CN/index.json +73 -73
  85. package/src/component/IMChatroom/index.jsx +49 -49
  86. package/src/component/IMChatroom/page/chat/index.jsx +27 -27
  87. package/src/component/IMChatroom/page/chat/messageEditor/index.jsx +375 -375
  88. package/src/component/IMChatroom/page/chat/messageList/index.jsx +354 -354
  89. package/src/component/IMChatroom/page/chat/stickedMessage/index.jsx +59 -59
  90. package/src/component/IMChatroom/page/chat/stickedMessage/style/index.module.less +7 -7
  91. package/src/component/IMChatroom/page/chat/style/index.module.less +51 -51
  92. package/src/component/IMChatroom/page/home/connect/index.jsx +188 -188
  93. package/src/component/IMChatroom/page/home/connect/status.jsx +124 -124
  94. package/src/component/IMChatroom/page/home/context/cmd.jsx +37 -37
  95. package/src/component/IMChatroom/page/home/context/index.jsx +67 -67
  96. package/src/component/IMChatroom/page/home/index.jsx +164 -164
  97. package/src/component/IMChatroom/page/home/notice/index.jsx +123 -123
  98. package/src/component/IMChatroom/page/home/notice/style/index.module.less +49 -49
  99. package/src/component/IMChatroom/page/home/style/index.module.less +110 -110
  100. package/src/component/IMChatroom/page/member/index.jsx +15 -15
  101. package/src/component/IMChatroom/page/member/memberCount/index.jsx +44 -44
  102. package/src/component/IMChatroom/page/member/memberList/index.jsx +121 -121
  103. package/src/component/IMChatroom/page/member/style/index.module.less +2 -2
  104. package/src/component/IMChatroom/sdk/bridge.js +39 -39
  105. package/src/component/IMChatroom/sdk/cs/constants.js +20 -20
  106. package/src/component/IMChatroom/sdk/cs/index.js +101 -101
  107. package/src/component/IMChatroom/sdk/imChatroom.js +15 -15
  108. package/src/component/IMChatroom/sdk/imcore/constants.js +128 -128
  109. package/src/component/IMChatroom/sdk/imcore/emitters/chatroomDestroyed.js +5 -5
  110. package/src/component/IMChatroom/sdk/imcore/emitters/chatroomInfoGetFail.js +5 -5
  111. package/src/component/IMChatroom/sdk/imcore/emitters/chatroomKickedByAdmin.js +5 -5
  112. package/src/component/IMChatroom/sdk/imcore/emitters/chatroomKickedBySelf.js +5 -5
  113. package/src/component/IMChatroom/sdk/imcore/emitters/chatroomLoginFail.js +5 -5
  114. package/src/component/IMChatroom/sdk/imcore/emitters/chatroomLoginSuccess.js +5 -5
  115. package/src/component/IMChatroom/sdk/imcore/emitters/chatroomMemberLogin.js +5 -5
  116. package/src/component/IMChatroom/sdk/imcore/emitters/chatroomMemberLogout.js +5 -5
  117. package/src/component/IMChatroom/sdk/imcore/emitters/connectionConnected.js +5 -5
  118. package/src/component/IMChatroom/sdk/imcore/emitters/connectionConnecting.js +5 -5
  119. package/src/component/IMChatroom/sdk/imcore/emitters/connectionDisconnect.js +5 -5
  120. package/src/component/IMChatroom/sdk/imcore/emitters/index.js +57 -57
  121. package/src/component/IMChatroom/sdk/imcore/emitters/messageReceive.js +36 -36
  122. package/src/component/IMChatroom/sdk/imcore/index.js +178 -178
  123. package/src/component/IMChatroom/sdk/imcore/interceptors/request.js +7 -7
  124. package/src/component/IMChatroom/sdk/imcore/interceptors/response.js +5 -5
  125. package/src/component/IMChatroom/sdk/imcore/plugins/getAuth.js +64 -64
  126. package/src/component/IMChatroom/sdk/imcore/plugins/getConversationId.js +20 -20
  127. package/src/component/IMChatroom/sdk/imcore/plugins/getExtInfo.js +10 -10
  128. package/src/component/IMChatroom/sdk/imcore/plugins/getLoginInfo.js +48 -48
  129. package/src/component/IMChatroom/sdk/imcore/plugins/getPlatformType.js +12 -12
  130. package/src/component/IMChatroom/sdk/imcore/plugins/index.js +22 -22
  131. package/src/component/IMChatroom/sdk/imcore/util/format.js +177 -177
  132. package/src/component/IMChatroom/sdk/imcore/util/parser.js +35 -35
  133. package/src/component/IMChatroom/sdk/oms.js +18 -18
  134. package/src/component/IMChatroom/sdk/uc.js +3 -3
  135. package/src/component/IMChatroom/subscription/channel/app.js +5 -5
  136. package/src/component/IMChatroom/subscription/channel/ctl.js +22 -22
  137. package/src/component/IMChatroom/subscription/channel/member.js +40 -40
  138. package/src/component/IMChatroom/subscription/channel/message.js +13 -13
  139. package/src/component/IMChatroom/subscription/channel/ntf.js +86 -86
  140. package/src/component/IMChatroom/subscription/channel/tel.js +5 -5
  141. package/src/component/IMChatroom/subscription/channel/websocket.js +5 -5
  142. package/src/component/IMChatroom/subscription/event.js +37 -37
  143. package/src/component/IMChatroom/subscription/index.js +19 -19
  144. package/src/component/IMChatroom/util/account.js +8 -8
  145. package/src/component/IMChatroom/util/chatroom.js +255 -255
  146. package/src/component/IMChatroom/util/jsonBigInt.js +5 -5
  147. package/src/component/IMChatroom/util/location.js +12 -12
  148. package/src/component/Icon/index.jsx +16 -16
  149. package/src/component/Icon/index.module.less +2 -2
  150. package/src/component/Pagination/LocalPagination.jsx +27 -27
  151. package/src/component/Pagination/RemotePagination.jsx +32 -32
  152. package/src/component/Pagination/index.jsx +32 -31
  153. package/src/component/Pagination/index.module.less +117 -110
  154. package/src/component/PlayerTip/index.jsx +34 -34
  155. package/src/component/VideoBase/index.jsx +242 -242
  156. package/src/component/VideoBase/style.less +65 -65
  157. package/src/component/VideoBase/utils.js +81 -81
  158. package/src/component/mixin.less +9 -9
  159. package/src/component/status/403.jsx +15 -15
  160. package/src/component/status/404/index.jsx +73 -73
  161. package/src/component/status/404/index.module.less +36 -36
  162. package/src/component/status/Error/error.module.less +13 -13
  163. package/src/component/status/Error/index.jsx +47 -47
  164. package/src/component/status/Loading/img/loading.svg +52 -52
  165. package/src/component/status/Loading/index.jsx +31 -31
  166. package/src/component/status/Loading/index.less +56 -56
  167. package/src/component/status/None/index.jsx +20 -20
  168. package/src/component/status/None/index.module.less +35 -35
  169. package/src/component/status/Status/index.jsx +26 -26
  170. package/src/component/status/Status/index.module.less +8 -8
  171. package/src/config/constant/commonUrl.js +2 -2
  172. package/src/config/constant/user.js +6 -6
  173. package/src/config/context/site-config.js +48 -48
  174. package/src/config/env/index.js +5 -5
  175. package/src/config/env/local/index.js +13 -13
  176. package/src/config/env/ncet-xedu/api.js +175 -175
  177. package/src/config/env/ncet-xedu/app.js +12 -12
  178. package/src/config/env/ncet-xedu/cs.js +8 -8
  179. package/src/config/env/ncet-xedu/index.js +14 -14
  180. package/src/config/env/ncet-xedu/push.js +5 -5
  181. package/src/config/env/preproduction/api.js +144 -144
  182. package/src/config/env/preproduction/app.js +12 -12
  183. package/src/config/env/preproduction/cs.js +8 -8
  184. package/src/config/env/preproduction/index.js +14 -14
  185. package/src/config/env/preproduction/push.js +5 -5
  186. package/src/config/env/product/api.js +113 -113
  187. package/src/config/env/product/app.js +12 -12
  188. package/src/config/env/product/cs.js +5 -5
  189. package/src/config/env/product/index.js +14 -14
  190. package/src/config/env/product/push.js +5 -5
  191. package/src/config/live.js +80 -80
  192. package/src/config/publicLive.js +53 -53
  193. package/src/config/request/assessments.js +24 -24
  194. package/src/config/request/config-center.js +8 -8
  195. package/src/config/request/helper.js +166 -166
  196. package/src/config/request/im-broadcasts.js +12 -12
  197. package/src/config/request/live-activity-gateway.js +8 -8
  198. package/src/config/request/live-activity.js +13 -13
  199. package/src/config/request/raw.js +6 -6
  200. package/src/config/request/x-cloud-web.js +13 -13
  201. package/src/config/request/x-proxy.js +34 -34
  202. package/src/demo/Detail.jsx +11 -11
  203. package/src/demo/List.jsx +66 -64
  204. package/src/demo/index.jsx +17 -17
  205. package/src/detail/LineSwitch/index.jsx +71 -71
  206. package/src/detail/LiveCountDown/index.jsx +44 -44
  207. package/src/detail/LiveCountDown/index.module.less +31 -31
  208. package/src/detail/LiveOnlineCount/img/icon.svg +15 -15
  209. package/src/detail/LiveOnlineCount/index.jsx +68 -68
  210. package/src/detail/LiveOnlineCount/index.module.less +34 -34
  211. package/src/detail/LiveOnlineCount/util.js +74 -74
  212. package/src/detail/LiveStatus/AnchorOnTheWay.jsx +88 -88
  213. package/src/detail/LiveStatus/index.jsx +202 -202
  214. package/src/detail/LiveStatus/index.module.less +192 -192
  215. package/src/detail/LiveVideo/config.js +37 -37
  216. package/src/detail/LiveVideo/index.jsx +188 -188
  217. package/src/detail/LiveVideo/index.module.less +41 -41
  218. package/src/detail/NotLoginChatroom/index.jsx +37 -37
  219. package/src/detail/NotLoginChatroom/index.module.less +46 -46
  220. package/src/detail/RecordVideo/index.jsx +150 -150
  221. package/src/detail/RecordVideo/index.module.less +31 -31
  222. package/src/detail/ReplayVideo/index.jsx +93 -93
  223. package/src/detail/ReplayVideo/index.module.less +65 -65
  224. package/src/detail/const.js +20 -20
  225. package/src/detail/hook/usePullSource.js +82 -82
  226. package/src/detail/hook/usePullState.js +51 -51
  227. package/src/detail/index.jsx +482 -482
  228. package/src/detail/index.module.less +188 -188
  229. package/src/hook/useAsync.js +84 -84
  230. package/src/hook/useGoToPage.js +83 -83
  231. package/src/hook/useInterval.js +28 -28
  232. package/src/hook/useIsMounted.js +17 -17
  233. package/src/hook/useModuleByRole.js +53 -53
  234. package/src/hook/usePageScrollable.js +52 -52
  235. package/src/hook/usePortal.js +83 -83
  236. package/src/hook/useScrollRestore/index.js +32 -32
  237. package/src/hook/useScrollRestore/scrollContext.js +20 -20
  238. package/src/hook/useTrackRef.js +11 -11
  239. package/src/hook/useWindowSize.js +28 -28
  240. package/src/hook/useZoom.js +47 -47
  241. package/src/index.js +10 -10
  242. package/src/lib/getLiveOnlineCount.js +10 -10
  243. package/src/lib/getServiceConfig.js +102 -102
  244. package/src/list/Empty/index.jsx +20 -20
  245. package/src/list/Empty/index.module.less +23 -23
  246. package/src/list/ListItem/Action/index.jsx +100 -98
  247. package/src/list/ListItem/Action/index.module.less +19 -21
  248. package/src/list/ListItem/img/play.svg +15 -15
  249. package/src/list/ListItem/img/video.svg +3 -0
  250. package/src/list/ListItem/index.jsx +46 -28
  251. package/src/list/ListItem/index.module.less +152 -146
  252. package/src/list/index.module.less +35 -35
  253. package/src/service/common.js +73 -73
  254. package/src/service/content-mgr.js +73 -73
  255. package/src/service/im-group.js +12 -12
  256. package/src/service/im.js +7 -7
  257. package/src/service/imBroadcasts.js +33 -33
  258. package/src/service/like.js +134 -134
  259. package/src/service/manageApi.js +7 -7
  260. package/src/service/managePortal.js +6 -6
  261. package/src/service/myStudyRecord.js +93 -93
  262. package/src/service/navigation.js +47 -47
  263. package/src/service/ndMeeting.js +10 -10
  264. package/src/service/ndr.js +122 -122
  265. package/src/service/news.js +93 -93
  266. package/src/service/personalCenter.js +270 -270
  267. package/src/service/qualityCourse.js +31 -31
  268. package/src/service/recommend.js +81 -81
  269. package/src/service/school.js +323 -323
  270. package/src/service/search.js +170 -170
  271. package/src/service/site-config.js +7 -7
  272. package/src/service/socialCensor.js +45 -45
  273. package/src/service/specialEdu.js +31 -31
  274. package/src/service/suggestion.js +85 -85
  275. package/src/service/syncClassroom.js +321 -321
  276. package/src/service/tCourse.js +204 -204
  277. package/src/service/tchTraining.js +37 -37
  278. package/src/service/uc.js +45 -45
  279. package/src/util/app.js +1 -1
  280. package/src/util/array.js +3 -3
  281. package/src/util/auth/func.js +57 -57
  282. package/src/util/date.js +53 -53
  283. package/src/util/env.js +9 -9
  284. package/src/util/getTimestamp.js +10 -10
  285. package/src/util/hof.js +105 -105
  286. package/src/util/live/index.js +42 -42
  287. package/src/util/netUrl.js +35 -35
  288. package/src/util/object.js +13 -13
  289. package/src/util/push/index.js +58 -58
  290. package/src/util/request.js +227 -227
  291. package/src/util/type.js +17 -17
  292. package/src/util/url.js +203 -203
  293. package/src/util/video.js +26 -26
  294. package/test/setup.js +21 -21
  295. package/test/unit/component/header/logo.spec.jsx +8 -8
  296. package/test/unit/helper.jsx +25 -25
  297. package/test/unit/util/date.spec.js +40 -40
  298. package/dist/XEduLivePlayer.common.js +0 -72605
  299. package/dist/XEduLivePlayerPre.common.js +0 -72625
@@ -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
+ }