@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,118 +1,118 @@
1
- import React from 'react'
2
- import { STYLE, ChatroomChatMessageList } from '@sdp.nd/im-web-components'
3
-
4
- import * as C from '../../constants'
5
-
6
- const WelcomeImage = require('../../asset/style/images/welcome.png')
7
-
8
- const actionConfig = {
9
- trigger: undefined,
10
- placement: undefined,
11
- getActionRights: false
12
- }
13
-
14
- const nameConfig = {
15
- visible: true,
16
- rule: '_parsedContent.contentSender.nick_name|_parsedContent.contentSender.uid|from',
17
- getInfo: false
18
- }
19
-
20
- const avatarConfig = {
21
- visible: true,
22
- icon: undefined
23
- }
24
-
25
- const tagConfig = {
26
- visible: true,
27
- getTags: false
28
- }
29
-
30
- export default {
31
- business: 'chatroom',
32
- uc: true,
33
- wsUrl: undefined,
34
- style: STYLE.PC,
35
- platform: C.PLATFORM.WEB,
36
- noticeVisible: false,
37
- fontSizeVisible: false,
38
- memberVisible: false,
39
- autoViewMessage: true,
40
- cmds: [],
41
- chatroomMemberList: {
42
- pageSize: 50,
43
- limit: 1000,
44
- actionConfig: {
45
- actions: undefined,
46
- ...actionConfig
47
- },
48
- nameConfig: {
49
- ...nameConfig,
50
- rule: ['real_name|nick_name|user_id', '({user_id})']
51
- },
52
- avatarConfig,
53
- tagConfig
54
- },
55
- chatroomChatMessageList: {
56
- direction: false,
57
- emptyImage: <img src={WelcomeImage} />,
58
- limit: 1000,
59
- filterMessages: false,
60
- getRecallMessageExtInfo: false,
61
- messageContentConfig: {
62
- nameRule: 'nick_name|real_name|user_id'
63
- },
64
- actionConfig: {
65
- actions: [
66
- ChatroomChatMessageList.C.CHATROOM_CHAT_MESSAGE_LIST_ITEM_ACTION.DELETE,
67
- ChatroomChatMessageList.C.CHATROOM_CHAT_MESSAGE_LIST_ITEM_ACTION.RECALL,
68
- ChatroomChatMessageList.C.CHATROOM_CHAT_MESSAGE_LIST_ITEM_ACTION.COPY,
69
- ChatroomChatMessageList.C.CHATROOM_CHAT_MESSAGE_LIST_ITEM_ACTION.KICK,
70
- ChatroomChatMessageList.C.CHATROOM_CHAT_MESSAGE_LIST_ITEM_ACTION.FORBIDDEN,
71
- ChatroomChatMessageList.C.CHATROOM_CHAT_MESSAGE_LIST_ITEM_ACTION.CANCEL_FORBIDDEN,
72
- ChatroomChatMessageList.C.CHATROOM_CHAT_MESSAGE_LIST_ITEM_ACTION.ALLOW_SPEECH,
73
- ChatroomChatMessageList.C.CHATROOM_CHAT_MESSAGE_LIST_ITEM_ACTION.CANCEL_ALLOW_SPEECH,
74
- ChatroomChatMessageList.C.CHATROOM_CHAT_MESSAGE_LIST_ITEM_ACTION.TOP_MESSAGE
75
- ],
76
- ...actionConfig
77
- },
78
- nameConfig: {
79
- ...nameConfig
80
- // rule: 'nick_name|real_name|user_id'
81
- },
82
- avatarConfig,
83
- tagConfig
84
- },
85
- messageEditor: {
86
- inputStyle: '',
87
- placeholder: '',
88
- readonly: false,
89
- banedIconUrl: '',
90
- contextMenu: [],
91
- getMessageHeaders: false,
92
- shortcutKeyConfig: {
93
- selectable: false
94
- },
95
- emotionConfig: {
96
- mode: 'emoji',
97
- emojiPagesize: '4*8',
98
- dynamicPagesize: '2*4',
99
- emotionPackages: [],
100
- emotionOnlinePreview: false,
101
- children: undefined
102
- },
103
- fileConfig: {
104
- accept: 'image/*',
105
- multiple: false,
106
- minSize: 0,
107
- maxSize: Infinity,
108
- maxNameLength: Infinity,
109
- select: true,
110
- photograph: false,
111
- screenshot: false,
112
- drop: false,
113
- paste: false
114
- }
115
- },
116
- initialStyle: 'html{background: #eee;}',
117
- iframeCssUrl: ''
118
- }
1
+ import React from 'react'
2
+ import { STYLE, ChatroomChatMessageList } from '@sdp.nd/im-web-components'
3
+
4
+ import * as C from '../../constants'
5
+
6
+ const WelcomeImage = require('../../asset/style/images/welcome.png')
7
+
8
+ const actionConfig = {
9
+ trigger: undefined,
10
+ placement: undefined,
11
+ getActionRights: false
12
+ }
13
+
14
+ const nameConfig = {
15
+ visible: true,
16
+ rule: '_parsedContent.contentSender.nick_name|_parsedContent.contentSender.uid|from',
17
+ getInfo: false
18
+ }
19
+
20
+ const avatarConfig = {
21
+ visible: true,
22
+ icon: undefined
23
+ }
24
+
25
+ const tagConfig = {
26
+ visible: true,
27
+ getTags: false
28
+ }
29
+
30
+ export default {
31
+ business: 'chatroom',
32
+ uc: true,
33
+ wsUrl: undefined,
34
+ style: STYLE.PC,
35
+ platform: C.PLATFORM.WEB,
36
+ noticeVisible: false,
37
+ fontSizeVisible: false,
38
+ memberVisible: false,
39
+ autoViewMessage: true,
40
+ cmds: [],
41
+ chatroomMemberList: {
42
+ pageSize: 50,
43
+ limit: 1000,
44
+ actionConfig: {
45
+ actions: undefined,
46
+ ...actionConfig
47
+ },
48
+ nameConfig: {
49
+ ...nameConfig,
50
+ rule: ['real_name|nick_name|user_id', '({user_id})']
51
+ },
52
+ avatarConfig,
53
+ tagConfig
54
+ },
55
+ chatroomChatMessageList: {
56
+ direction: false,
57
+ emptyImage: <img src={WelcomeImage} />,
58
+ limit: 1000,
59
+ filterMessages: false,
60
+ getRecallMessageExtInfo: false,
61
+ messageContentConfig: {
62
+ nameRule: 'nick_name|real_name|user_id'
63
+ },
64
+ actionConfig: {
65
+ actions: [
66
+ ChatroomChatMessageList.C.CHATROOM_CHAT_MESSAGE_LIST_ITEM_ACTION.DELETE,
67
+ ChatroomChatMessageList.C.CHATROOM_CHAT_MESSAGE_LIST_ITEM_ACTION.RECALL,
68
+ ChatroomChatMessageList.C.CHATROOM_CHAT_MESSAGE_LIST_ITEM_ACTION.COPY,
69
+ ChatroomChatMessageList.C.CHATROOM_CHAT_MESSAGE_LIST_ITEM_ACTION.KICK,
70
+ ChatroomChatMessageList.C.CHATROOM_CHAT_MESSAGE_LIST_ITEM_ACTION.FORBIDDEN,
71
+ ChatroomChatMessageList.C.CHATROOM_CHAT_MESSAGE_LIST_ITEM_ACTION.CANCEL_FORBIDDEN,
72
+ ChatroomChatMessageList.C.CHATROOM_CHAT_MESSAGE_LIST_ITEM_ACTION.ALLOW_SPEECH,
73
+ ChatroomChatMessageList.C.CHATROOM_CHAT_MESSAGE_LIST_ITEM_ACTION.CANCEL_ALLOW_SPEECH,
74
+ ChatroomChatMessageList.C.CHATROOM_CHAT_MESSAGE_LIST_ITEM_ACTION.TOP_MESSAGE
75
+ ],
76
+ ...actionConfig
77
+ },
78
+ nameConfig: {
79
+ ...nameConfig
80
+ // rule: 'nick_name|real_name|user_id'
81
+ },
82
+ avatarConfig,
83
+ tagConfig
84
+ },
85
+ messageEditor: {
86
+ inputStyle: '',
87
+ placeholder: '',
88
+ readonly: false,
89
+ banedIconUrl: '',
90
+ contextMenu: [],
91
+ getMessageHeaders: false,
92
+ shortcutKeyConfig: {
93
+ selectable: false
94
+ },
95
+ emotionConfig: {
96
+ mode: 'emoji',
97
+ emojiPagesize: '4*8',
98
+ dynamicPagesize: '2*4',
99
+ emotionPackages: [],
100
+ emotionOnlinePreview: false,
101
+ children: undefined
102
+ },
103
+ fileConfig: {
104
+ accept: 'image/*',
105
+ multiple: false,
106
+ minSize: 0,
107
+ maxSize: Infinity,
108
+ maxNameLength: Infinity,
109
+ select: true,
110
+ photograph: false,
111
+ screenshot: false,
112
+ drop: false,
113
+ paste: false
114
+ }
115
+ },
116
+ initialStyle: 'html{background: #eee;}',
117
+ iframeCssUrl: ''
118
+ }
@@ -1,60 +1,60 @@
1
- import get from 'lodash/get'
2
- import isPlainObject from 'lodash/isPlainObject'
3
- import Url from 'browser-url'
4
-
5
- import config from './config'
6
-
7
- class App {
8
- config = config
9
-
10
- set = (productConfig) => {
11
- this.config = this._defaultsDeep(productConfig, this.config)
12
- this.initStyle()
13
- }
14
-
15
- get = (key) => {
16
- if (key) {
17
- return get(this.config, key)
18
- }
19
- return this.config
20
- }
21
-
22
- initStyle = () => {
23
- const { initialStyle, iframeCssUrl } = this.config
24
- if (iframeCssUrl) {
25
- const urlData = new Url(iframeCssUrl)
26
- urlData.query._t = new Date().getTime()
27
-
28
- const link = document.createElement('link')
29
- link.href = urlData.href
30
- link.rel = 'stylesheet'
31
- document.body.appendChild(link)
32
- }
33
-
34
- if (initialStyle) {
35
- const style = document.createElement('style')
36
- style.innerText = initialStyle
37
- document.body.appendChild(style)
38
- }
39
- }
40
-
41
- _defaultsDeep(a, b) {
42
- if (isPlainObject(a)) {
43
- const data = {
44
- ...b
45
- }
46
- Object.keys(a).forEach((key) => {
47
- if (b[key] !== undefined) {
48
- data[key] = this._defaultsDeep(a[key], b[key])
49
- } else {
50
- data[key] = a[key]
51
- }
52
- })
53
- return data
54
- } else {
55
- return a
56
- }
57
- }
58
- }
59
-
60
- export default new App()
1
+ import get from 'lodash/get'
2
+ import isPlainObject from 'lodash/isPlainObject'
3
+ import Url from 'browser-url'
4
+
5
+ import config from './config'
6
+
7
+ class App {
8
+ config = config
9
+
10
+ set = (productConfig) => {
11
+ this.config = this._defaultsDeep(productConfig, this.config)
12
+ this.initStyle()
13
+ }
14
+
15
+ get = (key) => {
16
+ if (key) {
17
+ return get(this.config, key)
18
+ }
19
+ return this.config
20
+ }
21
+
22
+ initStyle = () => {
23
+ const { initialStyle, iframeCssUrl } = this.config
24
+ if (iframeCssUrl) {
25
+ const urlData = new Url(iframeCssUrl)
26
+ urlData.query._t = new Date().getTime()
27
+
28
+ const link = document.createElement('link')
29
+ link.href = urlData.href
30
+ link.rel = 'stylesheet'
31
+ document.body.appendChild(link)
32
+ }
33
+
34
+ if (initialStyle) {
35
+ const style = document.createElement('style')
36
+ style.innerText = initialStyle
37
+ document.body.appendChild(style)
38
+ }
39
+ }
40
+
41
+ _defaultsDeep(a, b) {
42
+ if (isPlainObject(a)) {
43
+ const data = {
44
+ ...b
45
+ }
46
+ Object.keys(a).forEach((key) => {
47
+ if (b[key] !== undefined) {
48
+ data[key] = this._defaultsDeep(a[key], b[key])
49
+ } else {
50
+ data[key] = a[key]
51
+ }
52
+ })
53
+ return data
54
+ } else {
55
+ return a
56
+ }
57
+ }
58
+ }
59
+
60
+ export default new App()
@@ -1,5 +1,5 @@
1
- import config from '@/config/env'
2
-
3
- const { env } = config
4
-
5
- export default env
1
+ import config from '@/config/env'
2
+
3
+ const { env } = config
4
+
5
+ export default env
@@ -1,3 +1,3 @@
1
- import './request'
2
- import './env'
3
- import './url'
1
+ import './request'
2
+ import './env'
3
+ import './url'
@@ -1,124 +1,124 @@
1
- /* eslint-disable no-param-reassign */
2
- import { buildURL } from '@sdp.nd/request-adapter-waf'
3
- import { message } from 'fish'
4
- import get from 'lodash/get'
5
- import intl from '../../../i18n'
6
-
7
- import getUCInstance from '../../../sdk/uc'
8
- import { ERROR_CODE } from '../../../constants'
9
- import {
10
- setChatroom,
11
- setChatroomConversationId,
12
- setChatroomToken
13
- } from '../../../util/chatroom'
14
- import jsonBigInt from '../../../util/jsonBigInt'
15
-
16
- import urlConfig from '../../url'
17
- import { logout } from '@/util/auth/func'
18
-
19
- const PROTECTION_PREFIX = /^\)\]\}',?\n/
20
-
21
- const invalidTokenErrorCodes = [
22
- ERROR_CODE.UC_AUTH_INVALID_TOKEN,
23
- ERROR_CODE.UC_AUTH_TOKEN_EXPIRED,
24
- ERROR_CODE.UC_MAC_SIGN_INVALID
25
- ]
26
-
27
- const ignoreMessageErrorCodes = [
28
- ERROR_CODE.IMP_TOKEN_EXPIRED,
29
- ERROR_CODE.IMP_AUTH_TOKEN_EXPIRED
30
- ]
31
-
32
- export default {
33
- headers: {
34
- 'sdp-app-id': urlConfig.sdpAppId
35
- },
36
- transformResponse: [(data) => {
37
- if (!data) return data
38
-
39
- // 长整型统一转化为字符串
40
- try {
41
- return jsonBigInt.parse(data.replace(PROTECTION_PREFIX, ''))
42
- } catch (e) {
43
- return data
44
- }
45
- }],
46
- validateStatus(status) {
47
- return status === 200
48
- },
49
- interceptors: {
50
- async request(config) {
51
- // 因为oms sdk中delete、get、head、options这几个方法的第一个请求是config,不是url
52
- // 所以axios中config.url被设置成了config,所以这边需要转换一下
53
- if (['delete', 'get', 'head', 'options'].some((method) => method === config.method)) {
54
- if (typeof config.url !== 'string') {
55
- const options = config.url || {}
56
- config = {
57
- ...config,
58
- ...options
59
- }
60
- }
61
- }
62
-
63
- // 因为im-sdk-*中post、put、patch这几个方法的第二个请求是config,不是data
64
- // 所以axios中config.data被设置成了config,所以这边需要转换一下
65
- if (['post', 'put', 'patch'].some((method) => method === config.method)) {
66
- const options = config.data || {}
67
- if (options.data || options.params) {
68
- config = {
69
- ...config,
70
- ...options
71
- }
72
- }
73
- }
74
- const uc = getUCInstance()
75
- if (uc.getAuthHeaderAsync) {
76
- const url = buildURL(config.url, config.params, config.paramsSerializer).replace(/@/g, '%40')
77
- const Authorization = await uc.getAuthHeaderAsync({
78
- url,
79
- method: config.method.toLocaleUpperCase()
80
- })
81
- config.headers = {
82
- ...config.headers,
83
- Authorization
84
- }
85
- }
86
-
87
- return config
88
- },
89
- response: {
90
- success(response) {
91
- return response.data
92
- },
93
- error(error) {
94
- let response
95
- if (error.message === ERROR_CODE.NETWORK_ERROR) {
96
- response = {
97
- data: {
98
- code: ERROR_CODE.NETWORK_ERROR,
99
- message: intl.get('error.networkError')
100
- }
101
- }
102
- } else {
103
- response = error.response
104
- }
105
-
106
- const code = get(response, 'data.code')
107
- if (!ignoreMessageErrorCodes.some((item) => item === code)) {
108
- message.error(intl.get(`error.${code}`, '') || get(response, 'data.message') || intl.get('error.serviceError'))
109
- }
110
- if (invalidTokenErrorCodes.some((item) => item === code)) {
111
- setTimeout(() => {
112
- logout()
113
- setChatroom()
114
- setChatroomConversationId()
115
- setChatroomToken()
116
- // TODO: 重新登录
117
- message.error('请重新登录')
118
- }, 3000)
119
- }
120
- return Promise.reject(response)
121
- }
122
- }
123
- }
124
- }
1
+ /* eslint-disable no-param-reassign */
2
+ import { buildURL } from '@sdp.nd/request-adapter-waf'
3
+ import { message } from 'fish'
4
+ import get from 'lodash/get'
5
+ import intl from '../../../i18n'
6
+
7
+ import getUCInstance from '../../../sdk/uc'
8
+ import { ERROR_CODE } from '../../../constants'
9
+ import {
10
+ setChatroom,
11
+ setChatroomConversationId,
12
+ setChatroomToken
13
+ } from '../../../util/chatroom'
14
+ import jsonBigInt from '../../../util/jsonBigInt'
15
+
16
+ import urlConfig from '../../url'
17
+ import { logout } from '@/util/auth/func'
18
+
19
+ const PROTECTION_PREFIX = /^\)\]\}',?\n/
20
+
21
+ const invalidTokenErrorCodes = [
22
+ ERROR_CODE.UC_AUTH_INVALID_TOKEN,
23
+ ERROR_CODE.UC_AUTH_TOKEN_EXPIRED,
24
+ ERROR_CODE.UC_MAC_SIGN_INVALID
25
+ ]
26
+
27
+ const ignoreMessageErrorCodes = [
28
+ ERROR_CODE.IMP_TOKEN_EXPIRED,
29
+ ERROR_CODE.IMP_AUTH_TOKEN_EXPIRED
30
+ ]
31
+
32
+ export default {
33
+ headers: {
34
+ 'sdp-app-id': urlConfig.sdpAppId
35
+ },
36
+ transformResponse: [(data) => {
37
+ if (!data) return data
38
+
39
+ // 长整型统一转化为字符串
40
+ try {
41
+ return jsonBigInt.parse(data.replace(PROTECTION_PREFIX, ''))
42
+ } catch (e) {
43
+ return data
44
+ }
45
+ }],
46
+ validateStatus(status) {
47
+ return status === 200
48
+ },
49
+ interceptors: {
50
+ async request(config) {
51
+ // 因为oms sdk中delete、get、head、options这几个方法的第一个请求是config,不是url
52
+ // 所以axios中config.url被设置成了config,所以这边需要转换一下
53
+ if (['delete', 'get', 'head', 'options'].some((method) => method === config.method)) {
54
+ if (typeof config.url !== 'string') {
55
+ const options = config.url || {}
56
+ config = {
57
+ ...config,
58
+ ...options
59
+ }
60
+ }
61
+ }
62
+
63
+ // 因为im-sdk-*中post、put、patch这几个方法的第二个请求是config,不是data
64
+ // 所以axios中config.data被设置成了config,所以这边需要转换一下
65
+ if (['post', 'put', 'patch'].some((method) => method === config.method)) {
66
+ const options = config.data || {}
67
+ if (options.data || options.params) {
68
+ config = {
69
+ ...config,
70
+ ...options
71
+ }
72
+ }
73
+ }
74
+ const uc = getUCInstance()
75
+ if (uc.getAuthHeaderAsync) {
76
+ const url = buildURL(config.url, config.params, config.paramsSerializer).replace(/@/g, '%40')
77
+ const Authorization = await uc.getAuthHeaderAsync({
78
+ url,
79
+ method: config.method.toLocaleUpperCase()
80
+ })
81
+ config.headers = {
82
+ ...config.headers,
83
+ Authorization
84
+ }
85
+ }
86
+
87
+ return config
88
+ },
89
+ response: {
90
+ success(response) {
91
+ return response.data
92
+ },
93
+ error(error) {
94
+ let response
95
+ if (error.message === ERROR_CODE.NETWORK_ERROR) {
96
+ response = {
97
+ data: {
98
+ code: ERROR_CODE.NETWORK_ERROR,
99
+ message: intl.get('error.networkError')
100
+ }
101
+ }
102
+ } else {
103
+ response = error.response
104
+ }
105
+
106
+ const code = get(response, 'data.code')
107
+ if (!ignoreMessageErrorCodes.some((item) => item === code)) {
108
+ message.error(intl.get(`error.${code}`, '') || get(response, 'data.message') || intl.get('error.serviceError'))
109
+ }
110
+ if (invalidTokenErrorCodes.some((item) => item === code)) {
111
+ setTimeout(() => {
112
+ logout()
113
+ setChatroom()
114
+ setChatroomConversationId()
115
+ setChatroomToken()
116
+ // TODO: 重新登录
117
+ message.error('请重新登录')
118
+ }, 3000)
119
+ }
120
+ return Promise.reject(response)
121
+ }
122
+ }
123
+ }
124
+ }
@@ -1,26 +1,26 @@
1
- /* eslint-disable no-param-reassign */
2
- import { getChatroomToken } from '../../../util/chatroom'
3
-
4
- import requestConfig from './base'
5
-
6
- export default {
7
- ...requestConfig,
8
- interceptors: {
9
- ...requestConfig.interceptors,
10
- request: async (config) => {
11
- const token = getChatroomToken()
12
- if (token) {
13
- config.headers = {
14
- ...config.headers,
15
- imchatroomstoken: token
16
- }
17
- } else {
18
- config.url = config.url.replace('v2', 'v0.1')
19
- }
20
-
21
- config = await requestConfig.interceptors.request(config)
22
-
23
- return config
24
- }
25
- }
26
- }
1
+ /* eslint-disable no-param-reassign */
2
+ import { getChatroomToken } from '../../../util/chatroom'
3
+
4
+ import requestConfig from './base'
5
+
6
+ export default {
7
+ ...requestConfig,
8
+ interceptors: {
9
+ ...requestConfig.interceptors,
10
+ request: async (config) => {
11
+ const token = getChatroomToken()
12
+ if (token) {
13
+ config.headers = {
14
+ ...config.headers,
15
+ imchatroomstoken: token
16
+ }
17
+ } else {
18
+ config.url = config.url.replace('v2', 'v0.1')
19
+ }
20
+
21
+ config = await requestConfig.interceptors.request(config)
22
+
23
+ return config
24
+ }
25
+ }
26
+ }