@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,64 +1,64 @@
1
- import IMCoreChatroom from '@ndim/chatroom'
2
- import Sha from 'nd-sha'
3
-
4
- import getUCInstance from '../../uc'
5
-
6
- function getNonce(diff) {
7
- function rnd(min, max) {
8
- const arr = [
9
- '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
10
- 'a', 'b', 'c', 'd', 'e', 'f', 'g',
11
- 'h', 'i', 'j', 'k', 'l', 'm', 'n',
12
- 'o', 'p', 'q', 'r', 's', 't',
13
- 'u', 'v', 'w', 'x', 'y', 'z',
14
- 'A', 'B', 'C', 'D', 'E', 'F', 'G',
15
- 'H', 'I', 'J', 'K', 'L', 'M', 'N',
16
- 'O', 'P', 'Q', 'R', 'S', 'T',
17
- 'U', 'V', 'W', 'X', 'Y', 'Z'
18
- ]
19
-
20
- const range = max ? max - min : min
21
- let str = ''
22
- const length = arr.length - 1
23
-
24
- for (let i = 0; i < range; i++) {
25
- str += arr[Math.round(Math.random() * length)]
26
- }
27
-
28
- return str
29
- }
30
-
31
- return `${new Date().getTime() + (diff || 0)}:${rnd(8)}`
32
- }
33
-
34
- function getMac(nonce, macKey, userId) {
35
- const macContent = [nonce, 'POST', `/id=${userId}`, 'uc.im', ''].join('\n')
36
- return new Sha(macContent, 'TEXT').getHMAC(macKey, 'TEXT', 'SHA-256', 'B64')
37
- }
38
-
39
- export default (token, accountInfo) => {
40
- IMCoreChatroom.use({
41
- name: 'IMCoreChatroom',
42
- install(NDIM) {
43
- NDIM.intercept('getAuth', () => {
44
- const uc = getUCInstance()
45
- if (uc.getAuth) {
46
- return uc.getAuth()
47
- }
48
- const {
49
- diff,
50
- mac_key: macKey,
51
- access_token: accessToken
52
- } = token
53
- const nonce = getNonce(diff)
54
- const auth = {
55
- nonce,
56
- mac: getMac(nonce, macKey, accountInfo.user_id),
57
- access_token: accessToken
58
- }
59
- console.log(auth)
60
- return auth
61
- })
62
- }
63
- })
64
- }
1
+ import IMCoreChatroom from '@ndim/chatroom'
2
+ import Sha from 'nd-sha'
3
+
4
+ import getUCInstance from '../../uc'
5
+
6
+ function getNonce(diff) {
7
+ function rnd(min, max) {
8
+ const arr = [
9
+ '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
10
+ 'a', 'b', 'c', 'd', 'e', 'f', 'g',
11
+ 'h', 'i', 'j', 'k', 'l', 'm', 'n',
12
+ 'o', 'p', 'q', 'r', 's', 't',
13
+ 'u', 'v', 'w', 'x', 'y', 'z',
14
+ 'A', 'B', 'C', 'D', 'E', 'F', 'G',
15
+ 'H', 'I', 'J', 'K', 'L', 'M', 'N',
16
+ 'O', 'P', 'Q', 'R', 'S', 'T',
17
+ 'U', 'V', 'W', 'X', 'Y', 'Z'
18
+ ]
19
+
20
+ const range = max ? max - min : min
21
+ let str = ''
22
+ const length = arr.length - 1
23
+
24
+ for (let i = 0; i < range; i++) {
25
+ str += arr[Math.round(Math.random() * length)]
26
+ }
27
+
28
+ return str
29
+ }
30
+
31
+ return `${new Date().getTime() + (diff || 0)}:${rnd(8)}`
32
+ }
33
+
34
+ function getMac(nonce, macKey, userId) {
35
+ const macContent = [nonce, 'POST', `/id=${userId}`, 'uc.im', ''].join('\n')
36
+ return new Sha(macContent, 'TEXT').getHMAC(macKey, 'TEXT', 'SHA-256', 'B64')
37
+ }
38
+
39
+ export default (token, accountInfo) => {
40
+ IMCoreChatroom.use({
41
+ name: 'IMCoreChatroom',
42
+ install(NDIM) {
43
+ NDIM.intercept('getAuth', () => {
44
+ const uc = getUCInstance()
45
+ if (uc.getAuth) {
46
+ return uc.getAuth()
47
+ }
48
+ const {
49
+ diff,
50
+ mac_key: macKey,
51
+ access_token: accessToken
52
+ } = token
53
+ const nonce = getNonce(diff)
54
+ const auth = {
55
+ nonce,
56
+ mac: getMac(nonce, macKey, accountInfo.user_id),
57
+ access_token: accessToken
58
+ }
59
+ console.log(auth)
60
+ return auth
61
+ })
62
+ }
63
+ })
64
+ }
@@ -1,20 +1,20 @@
1
- import IMCoreChatroom from '@ndim/chatroom'
2
- import get from 'lodash/get'
3
-
4
- import imChatroom from '../../imChatroom'
5
- import { getChatroomConversationId } from '../../../util/chatroom'
6
-
7
- export default () => {
8
- IMCoreChatroom.use({
9
- name: 'IMCoreChatroom',
10
- install(NDIM) {
11
- NDIM.intercept('getConversationId', () => {
12
- const conversationId = getChatroomConversationId()
13
- if (conversationId) {
14
- return conversationId
15
- }
16
- return imChatroom.getRoomInfo().then((chatroom) => get(chatroom, 'room.convid'))
17
- })
18
- }
19
- })
20
- }
1
+ import IMCoreChatroom from '@ndim/chatroom'
2
+ import get from 'lodash/get'
3
+
4
+ import imChatroom from '../../imChatroom'
5
+ import { getChatroomConversationId } from '../../../util/chatroom'
6
+
7
+ export default () => {
8
+ IMCoreChatroom.use({
9
+ name: 'IMCoreChatroom',
10
+ install(NDIM) {
11
+ NDIM.intercept('getConversationId', () => {
12
+ const conversationId = getChatroomConversationId()
13
+ if (conversationId) {
14
+ return conversationId
15
+ }
16
+ return imChatroom.getRoomInfo().then((chatroom) => get(chatroom, 'room.convid'))
17
+ })
18
+ }
19
+ })
20
+ }
@@ -1,10 +1,10 @@
1
- import IMCoreChatroom from '@ndim/chatroom'
2
-
3
- export default () => {
4
- IMCoreChatroom.use({
5
- name: 'IMCoreChatroom',
6
- install(NDIM) {
7
- NDIM.intercept('getExtInfo', async () => ({}))
8
- }
9
- })
10
- }
1
+ import IMCoreChatroom from '@ndim/chatroom'
2
+
3
+ export default () => {
4
+ IMCoreChatroom.use({
5
+ name: 'IMCoreChatroom',
6
+ install(NDIM) {
7
+ NDIM.intercept('getExtInfo', async () => ({}))
8
+ }
9
+ })
10
+ }
@@ -1,48 +1,48 @@
1
- import IMCoreChatroom from '@ndim/chatroom'
2
- import UAParser from 'ua-parser-js'
3
-
4
- import urlConfig from '../../../config/url'
5
-
6
- function getDeviceInfo() {
7
- const uaParser = new UAParser()
8
- const result = uaParser.getResult()
9
- const { browser, os, device } = result
10
-
11
- // 将重要的设备信息提取出来拼接,
12
- // 因为:WebSocket关闭代码的定义非常严格,并且关闭原因短语/消息的长度不能超过123个字符(这是有意的websocket限制)。
13
- // 而服务端会将device_name、device_info信息设置在close reason 中。
14
- // 其中device_name: WebIM占用了18个字符,device_info: 占用了12个字符,
15
- // 故将device_info信息的长度设置在80个字符以内,剩余13个字符作为预留。斟酌执行只设置以下几个信息,并根据重要程度做了优先级排序。
16
- const infos = [os.name, os.version, browser.name, browser.version, device.vendor]
17
-
18
- let deviceInfo = ''
19
- infos.forEach((value, index) => {
20
- if (value && deviceInfo.length + value.length + 1 <= 80) {
21
- if (index !== 0) {
22
- deviceInfo += ' '
23
- }
24
- deviceInfo += value
25
- }
26
- })
27
-
28
- return deviceInfo
29
- }
30
-
31
- export default (
32
- // token,
33
- // accountInfo
34
- ) => {
35
- IMCoreChatroom.use({
36
- name: 'IMCoreChatroom',
37
- install(NDIM) {
38
- NDIM.intercept('getLoginInfo', () => ({
39
- device_name: 'im-chat-room', // 设备名称
40
- device_info: getDeviceInfo(), // 客户端设备信息, 客户端自定义设备信息,用于透传踢人通知的设备信息
41
- // network_type: 'WIFI', // WIFI,2G,3G,4G
42
- // version: '客户端版本',
43
- // orgid: get(accountInfo, 'org_id', ''), // 组织id
44
- 'sdp-app-id': urlConfig.sdpAppId // 客户端应用id,必填
45
- }))
46
- }
47
- })
48
- }
1
+ import IMCoreChatroom from '@ndim/chatroom'
2
+ import UAParser from 'ua-parser-js'
3
+
4
+ import urlConfig from '../../../config/url'
5
+
6
+ function getDeviceInfo() {
7
+ const uaParser = new UAParser()
8
+ const result = uaParser.getResult()
9
+ const { browser, os, device } = result
10
+
11
+ // 将重要的设备信息提取出来拼接,
12
+ // 因为:WebSocket关闭代码的定义非常严格,并且关闭原因短语/消息的长度不能超过123个字符(这是有意的websocket限制)。
13
+ // 而服务端会将device_name、device_info信息设置在close reason 中。
14
+ // 其中device_name: WebIM占用了18个字符,device_info: 占用了12个字符,
15
+ // 故将device_info信息的长度设置在80个字符以内,剩余13个字符作为预留。斟酌执行只设置以下几个信息,并根据重要程度做了优先级排序。
16
+ const infos = [os.name, os.version, browser.name, browser.version, device.vendor]
17
+
18
+ let deviceInfo = ''
19
+ infos.forEach((value, index) => {
20
+ if (value && deviceInfo.length + value.length + 1 <= 80) {
21
+ if (index !== 0) {
22
+ deviceInfo += ' '
23
+ }
24
+ deviceInfo += value
25
+ }
26
+ })
27
+
28
+ return deviceInfo
29
+ }
30
+
31
+ export default (
32
+ // token,
33
+ // accountInfo
34
+ ) => {
35
+ IMCoreChatroom.use({
36
+ name: 'IMCoreChatroom',
37
+ install(NDIM) {
38
+ NDIM.intercept('getLoginInfo', () => ({
39
+ device_name: 'im-chat-room', // 设备名称
40
+ device_info: getDeviceInfo(), // 客户端设备信息, 客户端自定义设备信息,用于透传踢人通知的设备信息
41
+ // network_type: 'WIFI', // WIFI,2G,3G,4G
42
+ // version: '客户端版本',
43
+ // orgid: get(accountInfo, 'org_id', ''), // 组织id
44
+ 'sdp-app-id': urlConfig.sdpAppId // 客户端应用id,必填
45
+ }))
46
+ }
47
+ })
48
+ }
@@ -1,12 +1,12 @@
1
- import IMCoreChatroom from '@ndim/chatroom'
2
-
3
- import appConfig from '../../../config/app'
4
-
5
- export default () => {
6
- IMCoreChatroom.use({
7
- name: 'IMCoreChatroom',
8
- install(NDIM) {
9
- NDIM.intercept('getPlatformType', () => appConfig.get('platform'))
10
- }
11
- })
12
- }
1
+ import IMCoreChatroom from '@ndim/chatroom'
2
+
3
+ import appConfig from '../../../config/app'
4
+
5
+ export default () => {
6
+ IMCoreChatroom.use({
7
+ name: 'IMCoreChatroom',
8
+ install(NDIM) {
9
+ NDIM.intercept('getPlatformType', () => appConfig.get('platform'))
10
+ }
11
+ })
12
+ }
@@ -1,22 +1,22 @@
1
- import IMCoreChatroom from '@ndim/chatroom'
2
- import IMPluginMessage from '@ndim/plugin-message'
3
-
4
- import getAuthPlugin from './getAuth'
5
- import getConversationIdPlugin from './getConversationId'
6
- import getExtInfoPlugin from './getExtInfo'
7
- import getLoginInfoPlugin from './getLoginInfo'
8
- import getPlatformTypePlugin from './getPlatformType'
9
-
10
- export default (token, accountInfo) => {
11
- [
12
- getAuthPlugin,
13
- getConversationIdPlugin,
14
- getExtInfoPlugin,
15
- getLoginInfoPlugin,
16
- getPlatformTypePlugin
17
- ].forEach((plugin) => {
18
- plugin(token, accountInfo)
19
- })
20
-
21
- IMCoreChatroom.use(IMPluginMessage)
22
- }
1
+ import IMCoreChatroom from '@ndim/chatroom'
2
+ import IMPluginMessage from '@ndim/plugin-message'
3
+
4
+ import getAuthPlugin from './getAuth'
5
+ import getConversationIdPlugin from './getConversationId'
6
+ import getExtInfoPlugin from './getExtInfo'
7
+ import getLoginInfoPlugin from './getLoginInfo'
8
+ import getPlatformTypePlugin from './getPlatformType'
9
+
10
+ export default (token, accountInfo) => {
11
+ [
12
+ getAuthPlugin,
13
+ getConversationIdPlugin,
14
+ getExtInfoPlugin,
15
+ getLoginInfoPlugin,
16
+ getPlatformTypePlugin
17
+ ].forEach((plugin) => {
18
+ plugin(token, accountInfo)
19
+ })
20
+
21
+ IMCoreChatroom.use(IMPluginMessage)
22
+ }