@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,59 +1,59 @@
1
- import React, { Component } from 'react'
2
- import { MessageContent } from '@sdp.nd/im-web-components'
3
- import { Icon } from 'fish'
4
-
5
- import intl from '../../../i18n'
6
- import { parseMessage } from '../../../sdk/imcore/util/format'
7
- import { isCurrentAccountId } from '../../../util/account'
8
-
9
- import style from './style/index.module.less'
10
- import { useChatroom } from '../../../context/chatroom'
11
-
12
- class StickedMessage extends Component {
13
- render() {
14
- const { chatroomStickedMessages, chatroomOwner } = this.props
15
- if (!chatroomStickedMessages.length) {
16
- return null
17
- }
18
-
19
- const stickedMessage = parseMessage(chatroomStickedMessages[0])
20
- console.log('stickedMessage', stickedMessage)
21
-
22
- return (
23
- <div className={style['sticked-message-container']}>
24
- {
25
- isCurrentAccountId(chatroomOwner.uid) && (
26
- <div className={style.close}>
27
- <Icon
28
- type="close-circle"
29
- title={intl.get('message.stick.cancel')}
30
- onClick={
31
- () => {
32
- this.props.deleteChatroomStickMessages()
33
- }
34
- }
35
- />
36
- </div>
37
- )
38
- }
39
- <MessageContent message={stickedMessage} />
40
- </div>
41
- )
42
- }
43
- }
44
-
45
- function StickedMessageFn() {
46
- const {
47
- owner, stickedMessages, deleteChatroomStickMessages
48
- } = useChatroom()
49
-
50
- return (
51
- <StickedMessage
52
- chatroomOwner={owner}
53
- chatroomStickedMessages={stickedMessages}
54
- deleteChatroomStickMessages={deleteChatroomStickMessages}
55
- />
56
- )
57
- }
58
-
59
- export default StickedMessageFn
1
+ import React, { Component } from 'react'
2
+ import { MessageContent } from '@sdp.nd/im-web-components'
3
+ import { Icon } from 'fish'
4
+
5
+ import intl from '../../../i18n'
6
+ import { parseMessage } from '../../../sdk/imcore/util/format'
7
+ import { isCurrentAccountId } from '../../../util/account'
8
+
9
+ import style from './style/index.module.less'
10
+ import { useChatroom } from '../../../context/chatroom'
11
+
12
+ class StickedMessage extends Component {
13
+ render() {
14
+ const { chatroomStickedMessages, chatroomOwner } = this.props
15
+ if (!chatroomStickedMessages.length) {
16
+ return null
17
+ }
18
+
19
+ const stickedMessage = parseMessage(chatroomStickedMessages[0])
20
+ console.log('stickedMessage', stickedMessage)
21
+
22
+ return (
23
+ <div className={style['sticked-message-container']}>
24
+ {
25
+ isCurrentAccountId(chatroomOwner.uid) && (
26
+ <div className={style.close}>
27
+ <Icon
28
+ type="close-circle"
29
+ title={intl.get('message.stick.cancel')}
30
+ onClick={
31
+ () => {
32
+ this.props.deleteChatroomStickMessages()
33
+ }
34
+ }
35
+ />
36
+ </div>
37
+ )
38
+ }
39
+ <MessageContent message={stickedMessage} />
40
+ </div>
41
+ )
42
+ }
43
+ }
44
+
45
+ function StickedMessageFn() {
46
+ const {
47
+ owner, stickedMessages, deleteChatroomStickMessages
48
+ } = useChatroom()
49
+
50
+ return (
51
+ <StickedMessage
52
+ chatroomOwner={owner}
53
+ chatroomStickedMessages={stickedMessages}
54
+ deleteChatroomStickMessages={deleteChatroomStickMessages}
55
+ />
56
+ )
57
+ }
58
+
59
+ export default StickedMessageFn
@@ -1,8 +1,8 @@
1
- .sticked-message-container {
2
- padding: 10px 20px;
3
- border: 1px #eee solid;
4
-
5
- .close {
6
- text-align: right;
7
- }
1
+ .sticked-message-container {
2
+ padding: 10px 20px;
3
+ border: 1px #eee solid;
4
+
5
+ .close {
6
+ text-align: right;
7
+ }
8
8
  }
@@ -1,52 +1,52 @@
1
- .chat-container {
2
- position: relative;
3
- height: 100%;
4
- display: flex;
5
- flex-direction: column;
6
- overflow-y: auto;
7
-
8
- :global(#chatMessageList .fish-empty-description) {
9
- color: #333;
10
- }
11
-
12
- :global(.chat-message-list-item-time) {
13
- padding-left: 5px;
14
- }
15
-
16
- .chat-body {
17
- height: 50px; /*设置一个高度,然后通过flex:1撑开*/
18
- flex: 1;
19
- position: relative;
20
-
21
- :global(.chat-message-list .chat-message-list-inner) {
22
- padding: 0 14px;
23
- }
24
- }
25
-
26
- .banned-overlayer {
27
- position: absolute;
28
- top: 0;
29
- right: 0;
30
- bottom: 0;
31
- left: 0;
32
- background: #fff;
33
- z-index: 99;
34
- }
35
-
36
- :global(#messageEditorDisabledBox > div) {
37
- width: 100%;
38
- text-align: center;
39
- }
40
-
41
- :global(#messageEditorDisabledBox) {
42
- background-color: #eee;
43
- color: #999;
44
- font-size: 14px;
45
- }
46
-
47
- .chat-footer {
48
- :global(.message-editor-container.message-editor-container-h5) {
49
- margin: 8px 14px;
50
- }
51
- }
1
+ .chat-container {
2
+ position: relative;
3
+ height: 100%;
4
+ display: flex;
5
+ flex-direction: column;
6
+ overflow-y: auto;
7
+
8
+ :global(#chatMessageList .fish-empty-description) {
9
+ color: #333;
10
+ }
11
+
12
+ :global(.chat-message-list-item-time) {
13
+ padding-left: 5px;
14
+ }
15
+
16
+ .chat-body {
17
+ height: 50px; /*设置一个高度,然后通过flex:1撑开*/
18
+ flex: 1;
19
+ position: relative;
20
+
21
+ :global(.chat-message-list .chat-message-list-inner) {
22
+ padding: 0 14px;
23
+ }
24
+ }
25
+
26
+ .banned-overlayer {
27
+ position: absolute;
28
+ top: 0;
29
+ right: 0;
30
+ bottom: 0;
31
+ left: 0;
32
+ background: #fff;
33
+ z-index: 99;
34
+ }
35
+
36
+ :global(#messageEditorDisabledBox > div) {
37
+ width: 100%;
38
+ text-align: center;
39
+ }
40
+
41
+ :global(#messageEditorDisabledBox) {
42
+ background-color: #eee;
43
+ color: #999;
44
+ font-size: 14px;
45
+ }
46
+
47
+ .chat-footer {
48
+ :global(.message-editor-container.message-editor-container-h5) {
49
+ margin: 8px 14px;
50
+ }
51
+ }
52
52
  }
@@ -1,188 +1,188 @@
1
- import React, { Component } from 'react'
2
- import get from 'lodash/get'
3
-
4
- import {
5
- setChatroom,
6
- getChatroom as getChatroomUtil,
7
- setChatroomConversationId,
8
- setChatroomToken,
9
- getChatroomToken
10
- } from '../../../util/chatroom'
11
- import { initIMCoreChatroom, getIMCoreChatroom, reconnectIMCoreChatroom } from '../../../sdk/imcore'
12
- import { CONNECT_STATUS, ERROR_CODE } from '../../../constants'
13
- import subscription from '../../../subscription'
14
-
15
- import ConnectStatus from './status'
16
- import { useConnect } from '../../../context/connect'
17
- import { useChatroom } from '../../../context/chatroom'
18
-
19
- class Connect extends Component {
20
- constructor(props) {
21
- super(props)
22
- this.retryTimes = 0
23
- }
24
-
25
- componentDidMount() {
26
- this.loginChatroom()
27
- window.addEventListener('online', this.handleOnline)
28
- }
29
-
30
- componentDidUpdate(prevProps) {
31
- const { status, times } = this.props
32
- if (prevProps.status !== status && status === CONNECT_STATUS.LOGIN_SUCCESS && times > 1) {
33
- subscription.message.publish(subscription.EVENT.CHAT_MESSAGE_LIST_INIT)
34
- const chatroom = getChatroomUtil()
35
- if (chatroom) {
36
- this.initChatroom(chatroom)
37
- }
38
- }
39
- }
40
-
41
- componentWillUnmount() {
42
- window.removeEventListener('online', this.handleOnline)
43
- }
44
-
45
- loginChatroom = () => {
46
- if (getChatroomToken()) {
47
- this.getChatroom()
48
- } else {
49
- this.props.loginChatroom()
50
- .then((token) => {
51
- setChatroomToken(token)
52
- this.getChatroom()
53
- this.retryTimes = 0
54
- })
55
- .catch((error) => {
56
- console.log('login chatroom error:', error)
57
-
58
- if (get(error, 'data.code') === ERROR_CODE.NETWORK_ERROR) {
59
- if (this.retryTimes < 5) {
60
- setTimeout(() => {
61
- this.retryTimes += 1
62
- this.onReConnect()
63
- }, 2000)
64
- return
65
- }
66
- this.props.setStatus(CONNECT_STATUS.NETWORK_ERROR)
67
- return
68
- }
69
-
70
- if (get(error, 'data.code') === ERROR_CODE.IMP_TOKEN_EXPIRED) {
71
- setChatroomToken()
72
- if (this.retryTimes < 5) {
73
- setTimeout(() => {
74
- this.retryTimes += 1
75
- this.onReConnect()
76
- }, 500)
77
- return
78
- }
79
- }
80
- this.props.setStatus(CONNECT_STATUS.LOGIN_FAIL)
81
- })
82
- }
83
- }
84
-
85
- // 需要重获取聊天室信息时
86
- getChatroom = () => {
87
- this.props.getChatroom()
88
- .then((chatroom) => {
89
- setChatroom(chatroom)
90
- setChatroomConversationId(chatroom)
91
- this.loginCore()
92
- this.initChatroom(chatroom)
93
- this.retryTimes = 0
94
- })
95
- .catch((error) => {
96
- console.log('get chatroom error:', error)
97
-
98
- if (get(error, 'data.code') === ERROR_CODE.NETWORK_ERROR) {
99
- if (this.retryTimes < 5) {
100
- setTimeout(() => {
101
- this.retryTimes += 1
102
- this.onReConnect()
103
- }, 2000)
104
- return
105
- }
106
- this.props.setStatus(CONNECT_STATUS.NETWORK_ERROR)
107
- return
108
- }
109
-
110
- if (get(error, 'data.code') === ERROR_CODE.IMP_AUTH_TOKEN_EXPIRED) {
111
- setChatroomToken()
112
- if (this.retryTimes < 5) {
113
- setTimeout(() => {
114
- this.retryTimes += 1
115
- this.onReConnect()
116
- }, 500)
117
- return
118
- }
119
- }
120
- this.props.setStatus(CONNECT_STATUS.GET_CHATROOM_INFO_FAIL)
121
- })
122
- }
123
-
124
- loginCore = () => {
125
- if (getIMCoreChatroom()) {
126
- reconnectIMCoreChatroom()
127
- } else {
128
- initIMCoreChatroom()
129
- .catch((error) => {
130
- console.log('login core error:', error)
131
- this.props.setStatus(CONNECT_STATUS.LOGIN_FAIL)
132
- })
133
- }
134
- }
135
-
136
- initChatroom = (chatroom) => {
137
- if (chatroom.user_role === 2) {
138
- this.props.getChatroomAdmins()
139
- }
140
- this.props.getChatroomBan()
141
- }
142
-
143
- onReConnect = () => {
144
- this.props.setStatus(CONNECT_STATUS.CONNECTING)
145
- this.loginChatroom()
146
- }
147
-
148
- handleOnline = () => {
149
- if ([CONNECT_STATUS.DISCONNECT, CONNECT_STATUS.NETWORK_ERROR].find((item) => item === this.props.status)) {
150
- this.onReConnect()
151
- }
152
- }
153
-
154
- render() {
155
- return (
156
- <ConnectStatus onRetry={this.onReConnect} />
157
- )
158
- }
159
- }
160
-
161
- function ConnectFn() {
162
- const {
163
- status,
164
- times,
165
- setStatus
166
- } = useConnect()
167
-
168
- const {
169
- getChatroom,
170
- getChatroomAdmins,
171
- getChatroomBan,
172
- loginChatroom
173
- } = useChatroom()
174
-
175
- return (
176
- <Connect
177
- status={status}
178
- times={times}
179
- setStatus={setStatus}
180
- loginChatroom={loginChatroom}
181
- getChatroom={getChatroom}
182
- getChatroomAdmins={getChatroomAdmins}
183
- getChatroomBan={getChatroomBan}
184
- />
185
- )
186
- }
187
-
188
- export default ConnectFn
1
+ import React, { Component } from 'react'
2
+ import get from 'lodash/get'
3
+
4
+ import {
5
+ setChatroom,
6
+ getChatroom as getChatroomUtil,
7
+ setChatroomConversationId,
8
+ setChatroomToken,
9
+ getChatroomToken
10
+ } from '../../../util/chatroom'
11
+ import { initIMCoreChatroom, getIMCoreChatroom, reconnectIMCoreChatroom } from '../../../sdk/imcore'
12
+ import { CONNECT_STATUS, ERROR_CODE } from '../../../constants'
13
+ import subscription from '../../../subscription'
14
+
15
+ import ConnectStatus from './status'
16
+ import { useConnect } from '../../../context/connect'
17
+ import { useChatroom } from '../../../context/chatroom'
18
+
19
+ class Connect extends Component {
20
+ constructor(props) {
21
+ super(props)
22
+ this.retryTimes = 0
23
+ }
24
+
25
+ componentDidMount() {
26
+ this.loginChatroom()
27
+ window.addEventListener('online', this.handleOnline)
28
+ }
29
+
30
+ componentDidUpdate(prevProps) {
31
+ const { status, times } = this.props
32
+ if (prevProps.status !== status && status === CONNECT_STATUS.LOGIN_SUCCESS && times > 1) {
33
+ subscription.message.publish(subscription.EVENT.CHAT_MESSAGE_LIST_INIT)
34
+ const chatroom = getChatroomUtil()
35
+ if (chatroom) {
36
+ this.initChatroom(chatroom)
37
+ }
38
+ }
39
+ }
40
+
41
+ componentWillUnmount() {
42
+ window.removeEventListener('online', this.handleOnline)
43
+ }
44
+
45
+ loginChatroom = () => {
46
+ if (getChatroomToken()) {
47
+ this.getChatroom()
48
+ } else {
49
+ this.props.loginChatroom()
50
+ .then((token) => {
51
+ setChatroomToken(token)
52
+ this.getChatroom()
53
+ this.retryTimes = 0
54
+ })
55
+ .catch((error) => {
56
+ console.log('login chatroom error:', error)
57
+
58
+ if (get(error, 'data.code') === ERROR_CODE.NETWORK_ERROR) {
59
+ if (this.retryTimes < 5) {
60
+ setTimeout(() => {
61
+ this.retryTimes += 1
62
+ this.onReConnect()
63
+ }, 2000)
64
+ return
65
+ }
66
+ this.props.setStatus(CONNECT_STATUS.NETWORK_ERROR)
67
+ return
68
+ }
69
+
70
+ if (get(error, 'data.code') === ERROR_CODE.IMP_TOKEN_EXPIRED) {
71
+ setChatroomToken()
72
+ if (this.retryTimes < 5) {
73
+ setTimeout(() => {
74
+ this.retryTimes += 1
75
+ this.onReConnect()
76
+ }, 500)
77
+ return
78
+ }
79
+ }
80
+ this.props.setStatus(CONNECT_STATUS.LOGIN_FAIL)
81
+ })
82
+ }
83
+ }
84
+
85
+ // 需要重获取聊天室信息时
86
+ getChatroom = () => {
87
+ this.props.getChatroom()
88
+ .then((chatroom) => {
89
+ setChatroom(chatroom)
90
+ setChatroomConversationId(chatroom)
91
+ this.loginCore()
92
+ this.initChatroom(chatroom)
93
+ this.retryTimes = 0
94
+ })
95
+ .catch((error) => {
96
+ console.log('get chatroom error:', error)
97
+
98
+ if (get(error, 'data.code') === ERROR_CODE.NETWORK_ERROR) {
99
+ if (this.retryTimes < 5) {
100
+ setTimeout(() => {
101
+ this.retryTimes += 1
102
+ this.onReConnect()
103
+ }, 2000)
104
+ return
105
+ }
106
+ this.props.setStatus(CONNECT_STATUS.NETWORK_ERROR)
107
+ return
108
+ }
109
+
110
+ if (get(error, 'data.code') === ERROR_CODE.IMP_AUTH_TOKEN_EXPIRED) {
111
+ setChatroomToken()
112
+ if (this.retryTimes < 5) {
113
+ setTimeout(() => {
114
+ this.retryTimes += 1
115
+ this.onReConnect()
116
+ }, 500)
117
+ return
118
+ }
119
+ }
120
+ this.props.setStatus(CONNECT_STATUS.GET_CHATROOM_INFO_FAIL)
121
+ })
122
+ }
123
+
124
+ loginCore = () => {
125
+ if (getIMCoreChatroom()) {
126
+ reconnectIMCoreChatroom()
127
+ } else {
128
+ initIMCoreChatroom()
129
+ .catch((error) => {
130
+ console.log('login core error:', error)
131
+ this.props.setStatus(CONNECT_STATUS.LOGIN_FAIL)
132
+ })
133
+ }
134
+ }
135
+
136
+ initChatroom = (chatroom) => {
137
+ if (chatroom.user_role === 2) {
138
+ this.props.getChatroomAdmins()
139
+ }
140
+ this.props.getChatroomBan()
141
+ }
142
+
143
+ onReConnect = () => {
144
+ this.props.setStatus(CONNECT_STATUS.CONNECTING)
145
+ this.loginChatroom()
146
+ }
147
+
148
+ handleOnline = () => {
149
+ if ([CONNECT_STATUS.DISCONNECT, CONNECT_STATUS.NETWORK_ERROR].find((item) => item === this.props.status)) {
150
+ this.onReConnect()
151
+ }
152
+ }
153
+
154
+ render() {
155
+ return (
156
+ <ConnectStatus onRetry={this.onReConnect} />
157
+ )
158
+ }
159
+ }
160
+
161
+ function ConnectFn() {
162
+ const {
163
+ status,
164
+ times,
165
+ setStatus
166
+ } = useConnect()
167
+
168
+ const {
169
+ getChatroom,
170
+ getChatroomAdmins,
171
+ getChatroomBan,
172
+ loginChatroom
173
+ } = useChatroom()
174
+
175
+ return (
176
+ <Connect
177
+ status={status}
178
+ times={times}
179
+ setStatus={setStatus}
180
+ loginChatroom={loginChatroom}
181
+ getChatroom={getChatroom}
182
+ getChatroomAdmins={getChatroomAdmins}
183
+ getChatroomBan={getChatroomBan}
184
+ />
185
+ )
186
+ }
187
+
188
+ export default ConnectFn