fcr-ui-scene 3.6.4 → 3.7.0

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 (468) hide show
  1. package/lib/creator.d.ts +4 -3
  2. package/lib/creator.js +146 -111
  3. package/lib/electron/app.js +1 -1
  4. package/lib/electron/bootstrap-sdk.js +49 -4
  5. package/lib/electron/injections.d.ts +5 -1
  6. package/lib/electron/injections.js +14 -2
  7. package/lib/electron/ipc/type.d.ts +8 -4
  8. package/lib/electron/ipc/type.js +10 -4
  9. package/lib/electron/logger.js +1 -1
  10. package/lib/electron/main.js +5 -2
  11. package/lib/electron/preload.js +34 -5
  12. package/lib/fragments/annotation/index.d.ts +2 -2
  13. package/lib/fragments/annotation/index.js +38 -28
  14. package/lib/fragments/annotation/libs.d.ts +2 -2
  15. package/lib/fragments/annotation/store.d.ts +21 -4
  16. package/lib/fragments/annotation/store.js +281 -84
  17. package/lib/fragments/annotation/style.css +9 -0
  18. package/lib/{modules/annotation/components → fragments/annotation}/toolbar/components/item/item.js +1 -1
  19. package/lib/{modules/annotation/components → fragments/annotation}/toolbar/components/pen-tool/pen-panel/index.js +1 -1
  20. package/lib/{modules/annotation/components → fragments/annotation}/toolbar/store.d.ts +26 -2
  21. package/lib/{modules/annotation/components → fragments/annotation}/toolbar/store.js +57 -8
  22. package/lib/{modules/annotation/components → fragments/annotation}/toolbar/view.js +36 -3
  23. package/lib/fragments/annotation/view.d.ts +1 -0
  24. package/lib/fragments/annotation/view.js +52 -10
  25. package/lib/modules/action-bar/components/apps/index.js +54 -38
  26. package/lib/modules/action-bar/components/chat/index.js +13 -34
  27. package/lib/modules/action-bar/components/collapse/index.js +1 -1
  28. package/lib/modules/action-bar/components/leave/index.js +9 -9
  29. package/lib/modules/action-bar/components/more/index.js +26 -27
  30. package/lib/modules/action-bar/components/participants/index.js +23 -39
  31. package/lib/modules/action-bar/components/record/index.js +7 -13
  32. package/lib/modules/action-bar/components/screen-share/index.js +4 -24
  33. package/lib/modules/action-bar/components/security/index.js +29 -34
  34. package/lib/modules/action-bar/components/settings/index.js +13 -19
  35. package/lib/modules/action-bar/index.d.ts +4 -0
  36. package/lib/modules/action-bar/index.js +3 -1
  37. package/lib/modules/action-bar/store.d.ts +16 -6
  38. package/lib/modules/action-bar/store.js +63 -25
  39. package/lib/modules/action-bar/types.d.ts +3 -3
  40. package/lib/modules/action-bar/view.js +2 -3
  41. package/lib/modules/annotation/annotation-index.d.ts +2 -0
  42. package/lib/modules/annotation/annotation-index.js +80 -0
  43. package/lib/modules/annotation/annotation-toolbar-store.d.ts +82 -0
  44. package/lib/modules/annotation/annotation-toolbar-store.js +501 -0
  45. package/lib/modules/annotation/components/color-picker/components/color.d.ts +5 -0
  46. package/lib/modules/annotation/components/color-picker/components/color.js +38 -0
  47. package/lib/modules/annotation/components/color-picker/components/panel.d.ts +1 -0
  48. package/lib/modules/annotation/components/color-picker/components/panel.js +109 -0
  49. package/lib/modules/annotation/components/color-picker/components/picker.d.ts +1 -0
  50. package/lib/modules/annotation/components/color-picker/components/picker.js +75 -0
  51. package/lib/modules/annotation/components/color-picker/index.d.ts +2 -0
  52. package/lib/modules/annotation/components/color-picker/index.js +47 -0
  53. package/lib/modules/annotation/components/eraser-picker.d.ts +4 -0
  54. package/lib/modules/annotation/components/eraser-picker.js +144 -0
  55. package/lib/modules/annotation/components/expansion/index.d.ts +1 -0
  56. package/lib/modules/annotation/components/expansion/index.js +100 -0
  57. package/lib/modules/annotation/components/extra-tool-picker.d.ts +1 -0
  58. package/lib/modules/annotation/components/extra-tool-picker.js +62 -0
  59. package/lib/modules/annotation/components/history.d.ts +2 -0
  60. package/lib/modules/annotation/components/history.js +78 -0
  61. package/lib/modules/annotation/components/icons/fold-icon.d.ts +2 -0
  62. package/lib/modules/annotation/components/icons/fold-icon.js +41 -0
  63. package/lib/modules/annotation/components/icons/move-icon.d.ts +1 -0
  64. package/lib/modules/annotation/components/icons/move-icon.js +66 -0
  65. package/lib/modules/annotation/components/item/index.d.ts +1 -0
  66. package/lib/modules/annotation/components/item/index.js +43 -0
  67. package/lib/modules/annotation/components/move-handle.d.ts +5 -0
  68. package/lib/modules/annotation/components/move-handle.js +134 -0
  69. package/lib/modules/annotation/components/pen-picker.d.ts +4 -0
  70. package/lib/modules/annotation/components/pen-picker.js +155 -0
  71. package/lib/modules/annotation/components/screen-capture-picker.d.ts +4 -0
  72. package/lib/modules/annotation/components/screen-capture-picker.js +85 -0
  73. package/lib/modules/annotation/components/shape-picker.d.ts +4 -0
  74. package/lib/modules/annotation/components/shape-picker.js +210 -0
  75. package/lib/modules/annotation/hooks/index.d.ts +14 -0
  76. package/lib/modules/annotation/hooks/index.js +292 -0
  77. package/lib/modules/annotation/index.d.ts +4 -1
  78. package/lib/modules/annotation/index.js +20 -22
  79. package/lib/modules/annotation/store.d.ts +59 -18
  80. package/lib/modules/annotation/store.js +503 -263
  81. package/lib/modules/annotation/style.css +10 -0
  82. package/lib/modules/annotation/view.js +9 -11
  83. package/lib/modules/chat/chat-room-store.js +5 -2
  84. package/lib/modules/chat/components/chat-select/index.js +1 -1
  85. package/lib/modules/chat/components/chat-select/select-item/index.js +10 -3
  86. package/lib/modules/chat/components/message-list/message-item/index.js +4 -2
  87. package/lib/modules/chat/index.d.ts +2 -0
  88. package/lib/modules/chat/index.js +13 -3
  89. package/lib/modules/chat/store.d.ts +3 -0
  90. package/lib/modules/chat/store.js +12 -6
  91. package/lib/modules/chat/types.d.ts +1 -0
  92. package/lib/modules/chat/types.js +2 -1
  93. package/lib/modules/chat/util.js +2 -1
  94. package/lib/modules/chat/view.js +6 -3
  95. package/lib/modules/{action-bar/components → components}/apps/app-item/index.d.ts +1 -1
  96. package/lib/modules/components/apps/app-list.d.ts +3 -0
  97. package/lib/modules/{action-bar/components → components}/apps/app-list.js +2 -4
  98. package/lib/modules/components/apps/types.d.ts +14 -0
  99. package/lib/modules/components/apps/types.js +6 -0
  100. package/lib/modules/components/device-control/components/carmera/index.js +71 -68
  101. package/lib/modules/components/device-control/components/microphone/index.js +99 -97
  102. package/lib/modules/components/device-control/store.d.ts +1 -1
  103. package/lib/modules/components/member-window/components/member-actions/components/audio-control.js +7 -7
  104. package/lib/modules/components/member-window/components/member-actions/components/icon-buttons/index.d.ts +0 -2
  105. package/lib/modules/components/member-window/components/member-actions/components/icon-buttons/index.js +4 -7
  106. package/lib/modules/components/member-window/components/member-actions/components/icon-status.d.ts +0 -1
  107. package/lib/modules/components/member-window/components/member-actions/components/icon-status.js +19 -36
  108. package/lib/modules/components/member-window/components/member-actions/components/more-actions.d.ts +1 -0
  109. package/lib/modules/components/member-window/components/member-actions/components/more-actions.js +9 -2
  110. package/lib/modules/components/member-window/components/member-actions/components/user-info.js +0 -3
  111. package/lib/modules/components/member-window/components/member-actions/components/user-tag.js +15 -11
  112. package/lib/modules/components/member-window/components/member-actions/index.js +10 -2
  113. package/lib/modules/components/member-window/components/member-actions/libs/index.js +2 -2
  114. package/lib/modules/components/member-window/components/video-player/components/local-video-player-with-zoom.d.ts +12 -0
  115. package/lib/modules/components/member-window/components/video-player/components/local-video-player-with-zoom.js +75 -0
  116. package/lib/modules/components/member-window/components/video-player/components/local-video-player.d.ts +1 -7
  117. package/lib/modules/components/member-window/components/video-player/components/local-video-player.js +7 -47
  118. package/lib/modules/components/member-window/components/video-player/components/remote-video-player-with-zoom.d.ts +12 -0
  119. package/lib/modules/components/member-window/components/video-player/components/remote-video-player-with-zoom.js +68 -0
  120. package/lib/modules/components/member-window/components/video-player/components/remote-video-player.d.ts +1 -9
  121. package/lib/modules/components/member-window/components/video-player/components/remote-video-player.js +7 -49
  122. package/lib/modules/components/member-window/components/video-player/components/zoomable-container.d.ts +15 -0
  123. package/lib/modules/components/member-window/components/video-player/components/zoomable-container.js +255 -0
  124. package/lib/modules/components/member-window/components/video-player/index.d.ts +2 -0
  125. package/lib/modules/components/member-window/components/video-player/index.js +8 -2
  126. package/lib/modules/components/member-window/index.css +16 -6
  127. package/lib/modules/components/member-window/index.d.ts +1 -1
  128. package/lib/modules/components/member-window/index.js +12 -4
  129. package/lib/modules/components/member-window/types.d.ts +2 -0
  130. package/lib/modules/components/security-menu/index.js +6 -5
  131. package/lib/modules/control-bar/components/annotation-button/index.js +21 -8
  132. package/lib/modules/control-bar/components/more-actions/index.css +13 -0
  133. package/lib/modules/control-bar/components/more-actions/index.js +1 -1
  134. package/lib/modules/control-bar/components/share-audio/index.css +90 -0
  135. package/lib/modules/control-bar/components/share-audio/index.d.ts +15 -0
  136. package/lib/modules/control-bar/components/share-audio/index.js +173 -0
  137. package/lib/modules/control-bar/components/share-state-nav/index.css +5 -0
  138. package/lib/modules/control-bar/components/share-state-nav/index.js +14 -2
  139. package/lib/modules/control-bar/index.d.ts +2 -0
  140. package/lib/modules/control-bar/index.js +9 -1
  141. package/lib/modules/control-bar/store.d.ts +16 -7
  142. package/lib/modules/control-bar/store.js +36 -12
  143. package/lib/modules/control-bar/view.d.ts +4 -0
  144. package/lib/modules/control-bar/view.js +180 -90
  145. package/lib/modules/device-pretest/store.d.ts +1 -1
  146. package/lib/modules/dialog/components/dialog-container/component/body.d.ts +1 -1
  147. package/lib/modules/dialog/components/dialog-container/index.css +1 -0
  148. package/lib/modules/dialog/components/dialog-container/index.d.ts +2 -1
  149. package/lib/modules/dialog/components/dialog-container/index.js +27 -10
  150. package/lib/modules/dialog/components/host-area-container/index.js +4 -4
  151. package/lib/modules/dialog/components/normal-window/index.d.ts +19 -0
  152. package/lib/modules/dialog/components/normal-window/index.js +69 -0
  153. package/lib/modules/dialog/{components → dialogs}/annotation-tool/index.js +17 -15
  154. package/lib/modules/dialog/dialogs/chat/components/actions.d.ts +1 -0
  155. package/lib/modules/dialog/dialogs/chat/components/actions.js +33 -0
  156. package/lib/modules/dialog/{components → dialogs}/chat/index.d.ts +1 -1
  157. package/lib/modules/dialog/dialogs/chat/index.js +59 -0
  158. package/lib/modules/dialog/dialogs/confirm-leave-meeting/index.d.ts +6 -0
  159. package/lib/modules/dialog/{components → dialogs}/confirm-leave-meeting/index.js +13 -37
  160. package/lib/modules/dialog/{components → dialogs}/connection-gateway/index.js +19 -12
  161. package/lib/modules/dialog/{components → dialogs}/control-bar/index.js +2 -2
  162. package/lib/modules/dialog/{components → dialogs}/device-setting/index.js +20 -13
  163. package/lib/modules/dialog/dialogs/end-meeting/index.d.ts +12 -0
  164. package/lib/modules/dialog/dialogs/end-meeting/index.js +45 -0
  165. package/lib/modules/dialog/{components/interpreter/electron.js → dialogs/interpreter/index.js} +17 -11
  166. package/lib/modules/dialog/dialogs/invite/index.d.ts +3 -0
  167. package/lib/modules/dialog/{components → dialogs}/invite/index.js +9 -25
  168. package/lib/modules/dialog/dialogs/live-streaming/index.d.ts +2 -0
  169. package/lib/modules/dialog/{components → dialogs}/live-streaming/index.js +11 -34
  170. package/lib/modules/dialog/dialogs/participant/components/actions.d.ts +1 -0
  171. package/lib/modules/dialog/dialogs/participant/components/actions.js +32 -0
  172. package/lib/modules/dialog/dialogs/participant/components/title.d.ts +1 -0
  173. package/lib/modules/dialog/dialogs/participant/components/title.js +19 -0
  174. package/lib/modules/dialog/dialogs/participant/index.d.ts +2 -0
  175. package/lib/modules/dialog/dialogs/participant/index.js +53 -0
  176. package/lib/modules/dialog/dialogs/pre-setting/index.js +62 -0
  177. package/lib/modules/dialog/dialogs/rename/index.js +35 -0
  178. package/lib/modules/dialog/{components → dialogs}/share-screen-selection/index.js +1 -1
  179. package/lib/modules/dialog/{components → dialogs}/video-window/index.js +11 -8
  180. package/lib/modules/dialog/{components → dialogs}/whiteboard/index.js +2 -3
  181. package/lib/modules/dialog/{components → dialogs}/widget/electron.js +1 -1
  182. package/lib/modules/dialog/{components → dialogs}/widget/index.js +1 -1
  183. package/lib/modules/dialog/hooks/use-web-drag.d.ts +8 -0
  184. package/lib/modules/dialog/hooks/use-web-drag.js +73 -0
  185. package/lib/modules/dialog/hooks/useElectron.d.ts +2 -7
  186. package/lib/modules/dialog/hooks/useElectron.js +46 -156
  187. package/lib/modules/dialog/index.d.ts +4 -0
  188. package/lib/modules/dialog/index.js +4 -2
  189. package/lib/modules/dialog/level-config.d.ts +11 -0
  190. package/lib/modules/dialog/level-config.js +21 -0
  191. package/lib/modules/dialog/store.d.ts +15 -6
  192. package/lib/modules/dialog/store.js +40 -54
  193. package/lib/modules/dialog/type.d.ts +15 -12
  194. package/lib/modules/event-confirm/components/window/index.d.ts +1 -4
  195. package/lib/modules/event-confirm/components/window/index.js +34 -23
  196. package/lib/modules/event-confirm/index.d.ts +2 -0
  197. package/lib/modules/event-confirm/index.js +3 -2
  198. package/lib/modules/event-confirm/store.d.ts +9 -1
  199. package/lib/modules/event-confirm/store.js +24 -16
  200. package/lib/modules/event-confirm/view.js +11 -22
  201. package/lib/modules/event-sound/index.d.ts +2 -0
  202. package/lib/modules/event-sound/index.js +8 -1
  203. package/lib/modules/event-toast/index.css +10 -0
  204. package/lib/modules/event-toast/store.d.ts +1 -1
  205. package/lib/modules/event-toast/store.js +17 -15
  206. package/lib/modules/event-toast/view.js +2 -1
  207. package/lib/modules/interpreter/interpreter-list/interpreter-item/components/pick-user/index.js +4 -2
  208. package/lib/modules/interpreter/interpreter-list/interpreter-item/components/pick-user/option-Item.js +2 -1
  209. package/lib/modules/interpreter/store.d.ts +1 -0
  210. package/lib/modules/interpreter/store.js +12 -5
  211. package/lib/modules/interpreter/view.js +7 -1
  212. package/lib/modules/layout/components/Aside.js +4 -0
  213. package/lib/modules/layout/components/Carousel.js +3 -1
  214. package/lib/modules/layout/components/CommonVideoRenderer.d.ts +3 -1
  215. package/lib/modules/layout/components/CommonVideoRenderer.js +13 -9
  216. package/lib/modules/layout/components/Gallery.js +11 -3
  217. package/lib/modules/layout/index.css +1 -0
  218. package/lib/modules/layout/index.d.ts +2 -0
  219. package/lib/modules/layout/index.js +4 -3
  220. package/lib/modules/layout/store.d.ts +9 -5
  221. package/lib/modules/layout/store.js +38 -46
  222. package/lib/modules/participant/components/confirm-input/index.css +4 -0
  223. package/lib/modules/participant/components/confirm-input/index.d.ts +1 -0
  224. package/lib/modules/participant/components/confirm-input/index.js +2 -1
  225. package/lib/modules/participant/components/participants/components/participants/components/attendee/index.js +2 -1
  226. package/lib/modules/participant/components/participants/components/participants/index.js +11 -3
  227. package/lib/modules/participant/components/participants/components/render-user/components/attendee/index.js +7 -3
  228. package/lib/modules/participant/components/participants/types.d.ts +1 -0
  229. package/lib/modules/participant/store.d.ts +2 -1
  230. package/lib/modules/participant/store.js +23 -9
  231. package/lib/modules/phone-audio-connect/store.d.ts +4 -4
  232. package/lib/modules/setting/audio-settings/audio-settings.js +6 -17
  233. package/lib/modules/setting/config.d.ts +16 -0
  234. package/lib/modules/setting/config.js +17 -1
  235. package/lib/modules/setting/index.d.ts +2 -4
  236. package/lib/modules/setting/index.js +7 -16
  237. package/lib/modules/setting/minutes-settings/minutes-settings.js +0 -4
  238. package/lib/modules/setting/state/index.js +5 -5
  239. package/lib/modules/setting/store.d.ts +37 -33
  240. package/lib/modules/setting/store.js +275 -261
  241. package/lib/modules/setting/translate-settings/language-select.js +0 -2
  242. package/lib/modules/setting/video-settings/video-settings-basic.js +6 -6
  243. package/lib/modules/setting/video-settings/video-settings.js +2 -2
  244. package/lib/modules/setting/view.js +1 -1
  245. package/lib/modules/share-screen/components/control-bar/index.css +75 -0
  246. package/lib/modules/share-screen/components/control-bar/index.d.ts +3 -0
  247. package/lib/modules/share-screen/components/control-bar/index.js +88 -0
  248. package/lib/modules/share-screen/components/control-bar/items/annotation-edit-btn/index.d.ts +8 -0
  249. package/lib/modules/share-screen/components/control-bar/items/annotation-edit-btn/index.js +46 -0
  250. package/lib/modules/share-screen/components/control-bar/items/full-container-btn/index.d.ts +6 -0
  251. package/lib/modules/share-screen/components/control-bar/items/full-container-btn/index.js +32 -0
  252. package/lib/modules/share-screen/components/control-bar/items/original-size-btn/index.d.ts +6 -0
  253. package/lib/modules/share-screen/components/control-bar/items/original-size-btn/index.js +32 -0
  254. package/lib/modules/share-screen/components/control-bar/items/zoom-in-btn/index.d.ts +6 -0
  255. package/lib/modules/share-screen/components/control-bar/items/zoom-in-btn/index.js +32 -0
  256. package/lib/modules/share-screen/components/control-bar/items/zoom-out-btn/index.d.ts +6 -0
  257. package/lib/modules/share-screen/components/control-bar/items/zoom-out-btn/index.js +32 -0
  258. package/lib/modules/share-screen/components/selection/index.js +28 -14
  259. package/lib/modules/share-screen/components/share-scenario/index.d.ts +5 -0
  260. package/lib/modules/share-screen/components/share-scenario/index.js +47 -0
  261. package/lib/modules/share-screen/index.d.ts +4 -2
  262. package/lib/modules/share-screen/index.js +11 -2
  263. package/lib/modules/share-screen/store.d.ts +32 -11
  264. package/lib/modules/share-screen/store.js +273 -192
  265. package/lib/modules/share-screen/view.js +2 -2
  266. package/lib/modules/state-bar/index.js +2 -3
  267. package/lib/modules/state-bar/layout-config.d.ts +2 -4
  268. package/lib/modules/state-bar/layout-config.js +10 -5
  269. package/lib/modules/state-bar/live-streaming-state.js +0 -1
  270. package/lib/modules/state-bar/store.d.ts +7 -7
  271. package/lib/modules/state-bar/store.js +17 -15
  272. package/lib/modules/state-bar/view.js +19 -23
  273. package/lib/modules/video-window/components/members/index.js +3 -2
  274. package/lib/modules/video-window/index.js +0 -3
  275. package/lib/modules/waiting-room-layout/index.css +3 -3
  276. package/lib/modules/waiting-room-layout/index.js +2 -2
  277. package/lib/modules/waiting-room-layout/view.js +1 -0
  278. package/lib/modules/whiteboard/components/control-bar/index.js +2 -2
  279. package/lib/modules/whiteboard/components/control-bar/store.d.ts +4 -1
  280. package/lib/modules/whiteboard/components/control-bar/store.js +4 -2
  281. package/lib/modules/whiteboard/components/toolbar/components/pen-picker.js +4 -4
  282. package/lib/modules/whiteboard/components/toolbar/hooks/index.d.ts +0 -14
  283. package/lib/modules/whiteboard/components/toolbar/hooks/index.js +4 -155
  284. package/lib/modules/whiteboard/components/toolbar/store.d.ts +4 -2
  285. package/lib/modules/whiteboard/components/toolbar/store.js +37 -25
  286. package/lib/modules/whiteboard/components/toolbar/style.css +1 -0
  287. package/lib/modules/whiteboard/index.d.ts +3 -1
  288. package/lib/modules/whiteboard/index.js +26 -23
  289. package/lib/modules/widget/view.js +4 -0
  290. package/lib/providers/ability-provider.d.ts +2 -0
  291. package/lib/providers/annotation-provider.d.ts +43 -47
  292. package/lib/providers/annotation-provider.js +94 -142
  293. package/lib/providers/app-list-provider.d.ts +98 -0
  294. package/lib/providers/app-list-provider.js +251 -0
  295. package/lib/providers/device-provider.d.ts +31 -23
  296. package/lib/providers/device-provider.js +493 -444
  297. package/lib/providers/device-stream-provider.js +2 -2
  298. package/lib/providers/event-provider.d.ts +0 -4
  299. package/lib/providers/event-provider.js +0 -10
  300. package/lib/providers/interpreter-provider.js +10 -7
  301. package/lib/providers/privilege-provider.d.ts +1 -1
  302. package/lib/providers/privilege-provider.js +3 -2
  303. package/lib/providers/renderer-provider.d.ts +1 -0
  304. package/lib/providers/renderer-provider.js +7 -2
  305. package/lib/providers/room-provider.d.ts +3 -1
  306. package/lib/providers/room-provider.js +40 -14
  307. package/lib/providers/screen-share-provider.d.ts +73 -17
  308. package/lib/providers/screen-share-provider.js +222 -100
  309. package/lib/providers/sharing-provider.d.ts +0 -1
  310. package/lib/providers/sharing-provider.js +3 -9
  311. package/lib/providers/user-setting-storage-provider.d.ts +1 -0
  312. package/lib/providers/user-setting-storage-provider.js +5 -12
  313. package/lib/providers/widget-provider.d.ts +19 -0
  314. package/lib/providers/widget-provider.js +28 -2
  315. package/lib/runtime.d.ts +10 -1
  316. package/lib/scenes/main-scene.d.ts +12 -2
  317. package/lib/scenes/main-scene.js +54 -28
  318. package/lib/scenes/waiting-scene.d.ts +11 -0
  319. package/lib/scenes/waiting-scene.js +34 -8
  320. package/lib/schema.d.ts +6 -0
  321. package/lib/schema.js +5 -1
  322. package/lib/shared-data-source/annotation-data.d.ts +17 -0
  323. package/lib/shared-data-source/annotation-data.js +110 -0
  324. package/lib/shared-data-source/app-list-data.d.ts +34 -0
  325. package/lib/shared-data-source/app-list-data.js +133 -0
  326. package/lib/shared-data-source/config.d.ts +26 -7
  327. package/lib/shared-data-source/config.js +29 -11
  328. package/lib/shared-data-source/confirm-data.d.ts +25 -0
  329. package/lib/shared-data-source/confirm-data.js +97 -0
  330. package/lib/shared-data-source/interpreter.d.ts +1 -0
  331. package/lib/shared-data-source/layout-data.d.ts +2 -0
  332. package/lib/shared-data-source/layout-data.js +14 -3
  333. package/lib/shared-data-source/meeting-time.d.ts +23 -1
  334. package/lib/shared-data-source/meeting-time.js +160 -43
  335. package/lib/shared-data-source/member-data.d.ts +10 -9
  336. package/lib/shared-data-source/member-data.js +55 -48
  337. package/lib/shared-data-source/screen-share-data.d.ts +100 -17
  338. package/lib/shared-data-source/screen-share-data.js +142 -22
  339. package/lib/shared-data-source/setting.d.ts +36 -4
  340. package/lib/shared-data-source/setting.js +92 -57
  341. package/lib/shared-data-source/video-window.d.ts +3 -0
  342. package/lib/shared-data-source/video-window.js +52 -30
  343. package/lib/shared-data-source/waiting-room.js +4 -2
  344. package/lib/translations/enUS.d.ts +62 -7
  345. package/lib/translations/enUS.js +71 -14
  346. package/lib/translations/zhCN.d.ts +62 -7
  347. package/lib/translations/zhCN.js +73 -16
  348. package/lib/type.d.ts +23 -5
  349. package/lib/type.js +6 -2
  350. package/lib/ui-manager.d.ts +5 -16
  351. package/lib/ui-manager.js +15 -57
  352. package/lib/ui-scene.d.ts +31 -6
  353. package/lib/ui-scene.js +180 -169
  354. package/lib/utilities/constant.d.ts +67 -63
  355. package/lib/utilities/constant.js +65 -61
  356. package/lib/utilities/dialog-utils.d.ts +66 -0
  357. package/lib/utilities/dialog-utils.js +188 -0
  358. package/lib/utilities/logger.js +3 -3
  359. package/lib/utilities/meeting-detail.js +1 -1
  360. package/lib/utilities/parameters.d.ts +1 -0
  361. package/lib/utilities/parameters.js +5 -1
  362. package/lib/utilities/renderer-event.d.ts +1 -1
  363. package/lib/utilities/screen-capture-permission.d.ts +1 -0
  364. package/lib/utilities/screen-capture-permission.js +9 -1
  365. package/lib/utilities/tools.d.ts +0 -66
  366. package/lib/utilities/tools.js +9 -186
  367. package/package.json +5 -6
  368. package/public/index.html +11 -1
  369. package/lib/modules/action-bar/components/apps/app-list.d.ts +0 -3
  370. package/lib/modules/action-bar/components/apps/useAppItemOptions.d.ts +0 -17
  371. package/lib/modules/action-bar/components/apps/useAppItemOptions.js +0 -30
  372. package/lib/modules/action-bar/components/apps/useBeautyBackground.d.ts +0 -10
  373. package/lib/modules/action-bar/components/apps/useBeautyBackground.js +0 -36
  374. package/lib/modules/action-bar/components/apps/useInterpreter.d.ts +0 -14
  375. package/lib/modules/action-bar/components/apps/useInterpreter.js +0 -37
  376. package/lib/modules/action-bar/components/apps/useLiveStreaming.d.ts +0 -16
  377. package/lib/modules/action-bar/components/apps/useLiveStreaming.js +0 -41
  378. package/lib/modules/action-bar/components/apps/useWidgetList.d.ts +0 -10
  379. package/lib/modules/action-bar/components/apps/useWidgetList.js +0 -39
  380. package/lib/modules/annotation/components/control-bar/index.css +0 -48
  381. package/lib/modules/annotation/components/control-bar/index.d.ts +0 -3
  382. package/lib/modules/annotation/components/control-bar/index.js +0 -142
  383. package/lib/modules/annotation/components/toolbar/index.d.ts +0 -0
  384. package/lib/modules/annotation/components/toolbar/index.js +0 -1
  385. package/lib/modules/dialog/components/chat/electron.d.ts +0 -2
  386. package/lib/modules/dialog/components/chat/electron.js +0 -35
  387. package/lib/modules/dialog/components/chat/index.js +0 -67
  388. package/lib/modules/dialog/components/confirm-leave-meeting/index.d.ts +0 -6
  389. package/lib/modules/dialog/components/connection-gateway/electron.d.ts +0 -5
  390. package/lib/modules/dialog/components/connection-gateway/electron.js +0 -33
  391. package/lib/modules/dialog/components/device-setting/electron.d.ts +0 -2
  392. package/lib/modules/dialog/components/device-setting/electron.js +0 -37
  393. package/lib/modules/dialog/components/interpreter/electron.d.ts +0 -2
  394. package/lib/modules/dialog/components/interpreter/index.js +0 -33
  395. package/lib/modules/dialog/components/invite/index.d.ts +0 -3
  396. package/lib/modules/dialog/components/live-streaming/index.d.ts +0 -4
  397. package/lib/modules/dialog/components/participant/electron.d.ts +0 -2
  398. package/lib/modules/dialog/components/participant/electron.js +0 -35
  399. package/lib/modules/dialog/components/participant/index.d.ts +0 -2
  400. package/lib/modules/dialog/components/participant/index.js +0 -65
  401. package/lib/modules/dialog/components/pre-setting/electron.d.ts +0 -2
  402. package/lib/modules/dialog/components/pre-setting/electron.js +0 -51
  403. package/lib/modules/dialog/components/pre-setting/index.js +0 -38
  404. package/lib/modules/dialog/components/pre-setting-container/component/body.d.ts +0 -8
  405. package/lib/modules/dialog/components/pre-setting-container/component/body.js +0 -78
  406. package/lib/modules/dialog/components/pre-setting-container/index.css +0 -82
  407. package/lib/modules/dialog/components/pre-setting-container/index.d.ts +0 -18
  408. package/lib/modules/dialog/components/pre-setting-container/index.js +0 -116
  409. package/lib/modules/dialog/components/rename/index.js +0 -72
  410. package/lib/modules/dialog/dialogs.d.ts +0 -3
  411. package/lib/modules/dialog/dialogs.js +0 -28
  412. package/lib/utilities/setting-config-storage.d.ts +0 -18
  413. package/lib/utilities/setting-config-storage.js +0 -133
  414. /package/lib/{modules/annotation/components → fragments/annotation}/toolbar/components/color-tool/color-panel/index.d.ts +0 -0
  415. /package/lib/{modules/annotation/components → fragments/annotation}/toolbar/components/color-tool/color-panel/index.js +0 -0
  416. /package/lib/{modules/annotation/components → fragments/annotation}/toolbar/components/color-tool/index.d.ts +0 -0
  417. /package/lib/{modules/annotation/components → fragments/annotation}/toolbar/components/color-tool/index.js +0 -0
  418. /package/lib/{modules/annotation/components → fragments/annotation}/toolbar/components/graphic-tool/graphic-panel/index.d.ts +0 -0
  419. /package/lib/{modules/annotation/components → fragments/annotation}/toolbar/components/graphic-tool/graphic-panel/index.js +0 -0
  420. /package/lib/{modules/annotation/components → fragments/annotation}/toolbar/components/graphic-tool/graphic-panel/libs.d.ts +0 -0
  421. /package/lib/{modules/annotation/components → fragments/annotation}/toolbar/components/graphic-tool/graphic-panel/libs.js +0 -0
  422. /package/lib/{modules/annotation/components → fragments/annotation}/toolbar/components/graphic-tool/index.d.ts +0 -0
  423. /package/lib/{modules/annotation/components → fragments/annotation}/toolbar/components/graphic-tool/index.js +0 -0
  424. /package/lib/{modules/annotation/components → fragments/annotation}/toolbar/components/item/item.d.ts +0 -0
  425. /package/lib/{modules/annotation/components → fragments/annotation}/toolbar/components/item/style.css +0 -0
  426. /package/lib/{modules/annotation/components → fragments/annotation}/toolbar/components/panel/index.d.ts +0 -0
  427. /package/lib/{modules/annotation/components → fragments/annotation}/toolbar/components/panel/index.js +0 -0
  428. /package/lib/{modules/annotation/components → fragments/annotation}/toolbar/components/panel/style.css +0 -0
  429. /package/lib/{modules/annotation/components → fragments/annotation}/toolbar/components/pen-tool/index.d.ts +0 -0
  430. /package/lib/{modules/annotation/components → fragments/annotation}/toolbar/components/pen-tool/index.js +0 -0
  431. /package/lib/{modules/annotation/components → fragments/annotation}/toolbar/components/pen-tool/pen-panel/index.d.ts +0 -0
  432. /package/lib/{modules/annotation/components → fragments/annotation}/toolbar/components/tips/index.d.ts +0 -0
  433. /package/lib/{modules/annotation/components → fragments/annotation}/toolbar/components/tips/index.js +0 -0
  434. /package/lib/{modules/annotation/components → fragments/annotation}/toolbar/components/tips/style.css +0 -0
  435. /package/lib/{modules/annotation/components → fragments/annotation}/toolbar/style.css +0 -0
  436. /package/lib/{modules/annotation/components → fragments/annotation}/toolbar/view.d.ts +0 -0
  437. /package/lib/modules/{action-bar/components → components}/apps/app-item/index.css +0 -0
  438. /package/lib/modules/{action-bar/components → components}/apps/app-item/index.js +0 -0
  439. /package/lib/modules/{action-bar/components → components}/apps/index.css +0 -0
  440. /package/lib/modules/dialog/{components → dialogs}/annotation-tool/index.d.ts +0 -0
  441. /package/lib/modules/dialog/{components → dialogs}/confirm/index.d.ts +0 -0
  442. /package/lib/modules/dialog/{components → dialogs}/confirm/index.js +0 -0
  443. /package/lib/modules/dialog/{components → dialogs}/connection-gateway/index.d.ts +0 -0
  444. /package/lib/modules/dialog/{components → dialogs}/connection-gateway/tabs.d.ts +0 -0
  445. /package/lib/modules/dialog/{components → dialogs}/connection-gateway/tabs.js +0 -0
  446. /package/lib/modules/dialog/{components → dialogs}/control-bar/index.d.ts +0 -0
  447. /package/lib/modules/dialog/{components → dialogs}/device-setting/index.css +0 -0
  448. /package/lib/modules/dialog/{components → dialogs}/device-setting/index.d.ts +0 -0
  449. /package/lib/modules/dialog/{components → dialogs}/interpreter/index.css +0 -0
  450. /package/lib/modules/dialog/{components → dialogs}/interpreter/index.d.ts +0 -0
  451. /package/lib/modules/dialog/{components → dialogs}/pre-setting/index.css +0 -0
  452. /package/lib/modules/dialog/{components → dialogs}/pre-setting/index.d.ts +0 -0
  453. /package/lib/modules/dialog/{components → dialogs}/rename/index.d.ts +0 -0
  454. /package/lib/modules/dialog/{components → dialogs}/share-screen-selection/index.d.ts +0 -0
  455. /package/lib/modules/dialog/{components → dialogs}/system-preference/assets/bg1.png +0 -0
  456. /package/lib/modules/dialog/{components → dialogs}/system-preference/assets/bg2.png +0 -0
  457. /package/lib/modules/dialog/{components → dialogs}/system-preference/assets/fcr_png_host.png +0 -0
  458. /package/lib/modules/dialog/{components → dialogs}/system-preference/electron.d.ts +0 -0
  459. /package/lib/modules/dialog/{components → dialogs}/system-preference/electron.js +0 -0
  460. /package/lib/modules/dialog/{components → dialogs}/system-preference/index.css +0 -0
  461. /package/lib/modules/dialog/{components → dialogs}/system-preference/index.d.ts +0 -0
  462. /package/lib/modules/dialog/{components → dialogs}/system-preference/index.js +0 -0
  463. /package/lib/modules/dialog/{components → dialogs}/toast/index.d.ts +0 -0
  464. /package/lib/modules/dialog/{components → dialogs}/toast/index.js +0 -0
  465. /package/lib/modules/dialog/{components → dialogs}/video-window/index.d.ts +0 -0
  466. /package/lib/modules/dialog/{components → dialogs}/whiteboard/index.d.ts +0 -0
  467. /package/lib/modules/dialog/{components → dialogs}/widget/electron.d.ts +0 -0
  468. /package/lib/modules/dialog/{components → dialogs}/widget/index.d.ts +0 -0
@@ -61,7 +61,7 @@ var _base = require("../base");
61
61
  var _mobx = require("mobx");
62
62
  var _parameters = require("../utilities/parameters");
63
63
  var _FcrUISharedLayoutDataSourceImpl;
64
- var _initProto, _init__layoutSize, _init_asideLayout, _init__chatRenderAt, _init__participantsRenderAt, _setLayoutSizeDecs, _ref;
64
+ var _initProto, _init__layoutSize, _init_asideLayout, _init__chatRenderAt, _init__participantsRenderAt, _init_endMeetingPopoverOpened, _setLayoutSizeDecs, _ref;
65
65
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
66
66
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
67
67
  function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
@@ -78,6 +78,7 @@ var _A = /*#__PURE__*/new WeakMap();
78
78
  var _B = /*#__PURE__*/new WeakMap();
79
79
  var _C = /*#__PURE__*/new WeakMap();
80
80
  var _D = /*#__PURE__*/new WeakMap();
81
+ var _E = /*#__PURE__*/new WeakMap();
81
82
  _ref = (_setLayoutSizeDecs = [_mobx.action, _mobx.action.bound], "_layoutSize");
82
83
  var FcrUISharedLayoutDataSourceImpl = exports.FcrUISharedLayoutDataSourceImpl = /*#__PURE__*/function () {
83
84
  function FcrUISharedLayoutDataSourceImpl(sharedConfigDataSource) {
@@ -86,6 +87,7 @@ var FcrUISharedLayoutDataSourceImpl = exports.FcrUISharedLayoutDataSourceImpl =
86
87
  _classPrivateFieldInitSpec(this, _B, _init_asideLayout(this));
87
88
  _classPrivateFieldInitSpec(this, _C, _init__chatRenderAt(this, 'aside'));
88
89
  _classPrivateFieldInitSpec(this, _D, _init__participantsRenderAt(this, 'aside'));
90
+ _classPrivateFieldInitSpec(this, _E, _init_endMeetingPopoverOpened(this, false));
89
91
  this._sharedConfigDataSource = sharedConfigDataSource;
90
92
  var defaultVideoGallerySize = (0, _parameters.getDefaultVideoGallerySize)(this._sharedConfigDataSource.creatorConfig.parameters);
91
93
  if (defaultVideoGallerySize) {
@@ -131,6 +133,14 @@ var FcrUISharedLayoutDataSourceImpl = exports.FcrUISharedLayoutDataSourceImpl =
131
133
  set: function set(v) {
132
134
  _classPrivateFieldSet(_D, this, v);
133
135
  }
136
+ }, {
137
+ key: "endMeetingPopoverOpened",
138
+ get: function get() {
139
+ return _classPrivateFieldGet(_E, this);
140
+ },
141
+ set: function set(v) {
142
+ _classPrivateFieldSet(_E, this, v);
143
+ }
134
144
  }, {
135
145
  key: "setChatRenderAt",
136
146
  value: function setChatRenderAt(renderPosition) {
@@ -169,10 +179,11 @@ var FcrUISharedLayoutDataSourceImpl = exports.FcrUISharedLayoutDataSourceImpl =
169
179
  }]);
170
180
  }();
171
181
  _FcrUISharedLayoutDataSourceImpl = FcrUISharedLayoutDataSourceImpl;
172
- var _applyDecs$e = (0, _slicedToArray2["default"])(_applyDecs(_FcrUISharedLayoutDataSourceImpl, [[_mobx.observable, 1, "_layoutSize"], [_mobx.observable, 1, "asideLayout"], [_mobx.observable, 1, "_chatRenderAt"], [_mobx.observable, 1, "_participantsRenderAt"], [_setLayoutSizeDecs, 18, "setLayoutSize"]], []).e, 5);
182
+ var _applyDecs$e = (0, _slicedToArray2["default"])(_applyDecs(_FcrUISharedLayoutDataSourceImpl, [[_mobx.observable, 1, "_layoutSize"], [_mobx.observable, 1, "asideLayout"], [_mobx.observable, 1, "_chatRenderAt"], [_mobx.observable, 1, "_participantsRenderAt"], [_mobx.observable, 1, "endMeetingPopoverOpened"], [_setLayoutSizeDecs, 18, "setLayoutSize"]], []).e, 6);
173
183
  _init__layoutSize = _applyDecs$e[0];
174
184
  _init_asideLayout = _applyDecs$e[1];
175
185
  _init__chatRenderAt = _applyDecs$e[2];
176
186
  _init__participantsRenderAt = _applyDecs$e[3];
177
- _initProto = _applyDecs$e[4];
187
+ _init_endMeetingPopoverOpened = _applyDecs$e[4];
188
+ _initProto = _applyDecs$e[5];
178
189
  (0, _base.registerDependency)('sharedLayoutDataSource');
@@ -50,11 +50,33 @@ export declare class FcrUIMeetingTimeSharedDataSourceImpl implements FcrUIMeetin
50
50
  accessor _totalMins: number;
51
51
  accessor _totalHoursText: string;
52
52
  accessor _totalMinsText: string;
53
- private _timber;
53
+ private _timer;
54
54
  private _roomId;
55
+ private _enterTime;
56
+ private _scheduleDuration;
57
+ private _localMeetingTimeKey;
58
+ private _cachedTranslations;
59
+ private _lastMeetingDuration;
55
60
  constructor({ mainRoomControl }: {
56
61
  mainRoomControl: FcrMainRoomControl;
57
62
  });
63
+ private _initEnterTime;
64
+ /**
65
+ * 获取localStorage中有效的进入时间
66
+ * @returns 有效的时间戳或null
67
+ */
68
+ private _getValidStoredTime;
69
+ /**
70
+ * 安全地保存进入时间到localStorage
71
+ * @param time 要保存的时间戳
72
+ */
73
+ private _saveEnterTime;
74
+ /**
75
+ * 安全地移除localStorage中的进入时间
76
+ */
77
+ private _removeStoredTime;
78
+ private _updateMeetingTime;
79
+ private _formatMeetingTime;
58
80
  get totalHourText(): string;
59
81
  get totalMinuteText(): string;
60
82
  get status(): MeetingStatus;
@@ -39,9 +39,7 @@ require("core-js/modules/es.error.to-string.js");
39
39
  require("core-js/modules/es.array.concat.js");
40
40
  require("core-js/modules/es.array.iterator.js");
41
41
  require("core-js/modules/es.date.now.js");
42
- require("core-js/modules/es.date.to-json.js");
43
42
  require("core-js/modules/es.date.to-string.js");
44
- require("core-js/modules/es.json.stringify.js");
45
43
  require("core-js/modules/es.number.constructor.js");
46
44
  require("core-js/modules/es.number.is-nan.js");
47
45
  require("core-js/modules/es.object.to-string.js");
@@ -104,49 +102,47 @@ var FcrUIMeetingTimeSharedDataSourceImpl = exports.FcrUIMeetingTimeSharedDataSou
104
102
  _classPrivateFieldInitSpec(this, _F, _init__totalMins(this, 0));
105
103
  _classPrivateFieldInitSpec(this, _G, _init__totalHoursText(this, '0'));
106
104
  _classPrivateFieldInitSpec(this, _H, _init__totalMinsText(this, '0'));
105
+ (0, _defineProperty2["default"])(this, "_timer", null);
107
106
  (0, _defineProperty2["default"])(this, "_roomId", '');
107
+ // 性能优化:缓存相关变量
108
+ (0, _defineProperty2["default"])(this, "_enterTime", 0);
109
+ (0, _defineProperty2["default"])(this, "_scheduleDuration", 0);
110
+ (0, _defineProperty2["default"])(this, "_localMeetingTimeKey", '');
111
+ (0, _defineProperty2["default"])(this, "_cachedTranslations", {
112
+ hour: '',
113
+ minutes: ''
114
+ });
115
+ (0, _defineProperty2["default"])(this, "_lastMeetingDuration", 0);
116
+ // 时间常量定义 (单位:秒)
117
+ var ONE_DAY_SECONDS = 24 * 60 * 60; // 一天的秒数
108
118
  var roomId = ((_mainRoomControl$getR = mainRoomControl.getRoomInfo()) === null || _mainRoomControl$getR === void 0 ? void 0 : _mainRoomControl$getR.roomId) || '';
109
- var duration = (((_mainRoomControl$getR2 = mainRoomControl.getRoomSchedule()) === null || _mainRoomControl$getR2 === void 0 ? void 0 : _mainRoomControl$getR2.duration) || 86400000) * 1000;
119
+
120
+ // getRoomSchedule()?.duration 返回的是秒数
121
+ var durationInSeconds = ((_mainRoomControl$getR2 = mainRoomControl.getRoomSchedule()) === null || _mainRoomControl$getR2 === void 0 ? void 0 : _mainRoomControl$getR2.duration) || ONE_DAY_SECONDS;
110
122
  if (!roomId) {
111
123
  return;
112
- } else {
113
- this._roomId = roomId;
114
124
  }
115
- if (duration > 0) {
116
- this._setTotalHoursAndMinutes(duration);
125
+ this._roomId = roomId;
126
+
127
+ // 预缓存翻译文本
128
+ this._cachedTranslations = {
129
+ hour: (0, _i18n.transI18n)('fmt_statusbar_label_hour'),
130
+ minutes: (0, _i18n.transI18n)('fmt_statusbar_label_minutes')
131
+ };
132
+
133
+ // 预计算固定值 (保持为秒数)
134
+ this._localMeetingTimeKey = "enter-room-".concat(this._roomId);
135
+ this._scheduleDuration = durationInSeconds;
136
+
137
+ // dayjs.duration() 需要毫秒数,所以这里乘以1000
138
+ if (durationInSeconds > 0) {
139
+ this._setTotalHoursAndMinutes(durationInSeconds * 1000);
117
140
  }
118
- this._timber = setInterval(function () {
119
- var currentTimeStamp = Number(Date.now());
120
- var localMeetingTimeKey = "enter-room-".concat(_this._roomId);
121
- var enterTime = localStorage.getItem(localMeetingTimeKey);
122
- if (enterTime) {
123
- var enterTimeNum = Number(enterTime);
124
- if (!Number.isNaN(enterTimeNum)) {
125
- var diff = currentTimeStamp - enterTimeNum;
126
- var meetingDuration = Math.floor(diff / 1000);
127
- var oneDayDuration = 86400000; // 一天的毫秒数
128
- var serverDuration = duration || 0;
129
- var computDuration = serverDuration <= 0 ? oneDayDuration : serverDuration;
130
- var scheduleDuration = computDuration / 1000;
131
- var remainTime = scheduleDuration - meetingDuration;
132
- var currentStatus = remainTime > 600 ? MeetingStatus.NORMAL : remainTime > 0 ? MeetingStatus.SOON_TO_END : MeetingStatus.OVERTIME;
133
- _this._setStatues(currentStatus);
134
- var showHour = meetingDuration / 60 > 60;
135
- var h = meetingDuration / 3600;
136
- var m = showHour ? meetingDuration % 3600 / 60 : meetingDuration / 60;
137
- var s = meetingDuration % 60;
138
- var hours = Math.floor(Math.max(h, 0)).toString().padStart(2, '0');
139
- var mins = Math.floor(Math.max(m, 0)).toString().padStart(2, '0');
140
- var seconds = Math.max(s, 0).toString().padStart(2, '0');
141
- if (showHour) {
142
- _this._setMeetingTime("".concat(hours, ":").concat(mins, ":").concat(seconds));
143
- } else {
144
- _this._setMeetingTime("".concat(mins, ":").concat(seconds));
145
- }
146
- } else {
147
- localStorage.setItem(localMeetingTimeKey, JSON.stringify(Number(new Date())));
148
- }
149
- }
141
+
142
+ // 初始化进入时间
143
+ this._initEnterTime();
144
+ this._timer = window.setInterval(function () {
145
+ _this._updateMeetingTime();
150
146
  }, 1000);
151
147
  }
152
148
  return (0, _createClass2["default"])(FcrUIMeetingTimeSharedDataSourceImpl, [{
@@ -213,6 +209,118 @@ var FcrUIMeetingTimeSharedDataSourceImpl = exports.FcrUIMeetingTimeSharedDataSou
213
209
  set: function set(v) {
214
210
  _classPrivateFieldSet(_H, this, v);
215
211
  }
212
+ }, {
213
+ key: "_initEnterTime",
214
+ value: function _initEnterTime() {
215
+ var currentTime = Date.now();
216
+
217
+ // 尝试从localStorage获取有效的进入时间
218
+ var storedTime = this._getValidStoredTime();
219
+ this._enterTime = storedTime !== null && storedTime !== void 0 ? storedTime : currentTime;
220
+
221
+ // 如果没有有效的存储时间,保存当前时间
222
+ if (storedTime === null) {
223
+ this._saveEnterTime(currentTime);
224
+ }
225
+ }
226
+
227
+ /**
228
+ * 获取localStorage中有效的进入时间
229
+ * @returns 有效的时间戳或null
230
+ */
231
+ }, {
232
+ key: "_getValidStoredTime",
233
+ value: function _getValidStoredTime() {
234
+ try {
235
+ var enterTime = localStorage.getItem(this._localMeetingTimeKey);
236
+ if (enterTime) {
237
+ var enterTimeNum = Number(enterTime);
238
+ // 验证时间戳:必须是有效数字、正数、且不能是未来时间
239
+ var currentTime = Date.now();
240
+ if (!Number.isNaN(enterTimeNum) && enterTimeNum > 0 && enterTimeNum <= currentTime) {
241
+ return enterTimeNum;
242
+ }
243
+ }
244
+ } catch (error) {
245
+ // localStorage访问失败,忽略错误并返回null
246
+ console.error('localStorage访问失败', error);
247
+ }
248
+ return null;
249
+ }
250
+
251
+ /**
252
+ * 安全地保存进入时间到localStorage
253
+ * @param time 要保存的时间戳
254
+ */
255
+ }, {
256
+ key: "_saveEnterTime",
257
+ value: function _saveEnterTime(time) {
258
+ try {
259
+ localStorage.setItem(this._localMeetingTimeKey, time.toString());
260
+ } catch (error) {
261
+ // localStorage访问失败,忽略错误(可能在某些环境中不可用)
262
+ }
263
+ }
264
+
265
+ /**
266
+ * 安全地移除localStorage中的进入时间
267
+ */
268
+ }, {
269
+ key: "_removeStoredTime",
270
+ value: function _removeStoredTime() {
271
+ try {
272
+ localStorage.removeItem(this._localMeetingTimeKey);
273
+ } catch (error) {
274
+ // localStorage访问失败,忽略错误(可能在某些环境中不可用)
275
+ }
276
+ }
277
+ }, {
278
+ key: "_updateMeetingTime",
279
+ value: function _updateMeetingTime() {
280
+ if (this._enterTime === 0) {
281
+ return;
282
+ }
283
+ var currentTimeStamp = Date.now();
284
+ var diff = currentTimeStamp - this._enterTime;
285
+ var meetingDuration = Math.floor(diff / 1000);
286
+
287
+ // 如果时长没有变化,跳过计算
288
+ if (meetingDuration === this._lastMeetingDuration) {
289
+ return;
290
+ }
291
+ this._lastMeetingDuration = meetingDuration;
292
+
293
+ // 每秒检查状态,确保及时更新UI
294
+ var TEN_MINUTES_SECONDS = 10 * 60; // 10分钟的秒数,用于判断会议状态
295
+ var remainTime = this._scheduleDuration - meetingDuration;
296
+ var currentStatus = remainTime > TEN_MINUTES_SECONDS // 剩余超过10分钟 → 正常状态
297
+ ? MeetingStatus.NORMAL : remainTime > 0 // 剩余时间在0-10分钟之间 → 即将结束
298
+ ? MeetingStatus.SOON_TO_END : MeetingStatus.OVERTIME; // 已超时
299
+ this._setStatues(currentStatus);
300
+ this._formatMeetingTime(meetingDuration);
301
+ }
302
+ }, {
303
+ key: "_formatMeetingTime",
304
+ value: function _formatMeetingTime(meetingDuration) {
305
+ // 判断是否需要显示小时(超过1小时)
306
+ var ONE_HOUR_SECONDS = 60 * 60;
307
+ var showHour = meetingDuration >= ONE_HOUR_SECONDS;
308
+ if (showHour) {
309
+ var hours = Math.floor(meetingDuration / ONE_HOUR_SECONDS);
310
+ var mins = Math.floor(meetingDuration % ONE_HOUR_SECONDS / 60);
311
+ var seconds = meetingDuration % 60;
312
+ var hoursStr = hours.toString().padStart(2, '0');
313
+ var minsStr = mins.toString().padStart(2, '0');
314
+ var secondsStr = seconds.toString().padStart(2, '0');
315
+ this._setMeetingTime("".concat(hoursStr, ":").concat(minsStr, ":").concat(secondsStr));
316
+ } else {
317
+ var _mins = Math.floor(meetingDuration / 60);
318
+ var _seconds = meetingDuration % 60;
319
+ var _minsStr = _mins.toString().padStart(2, '0');
320
+ var _secondsStr = _seconds.toString().padStart(2, '0');
321
+ this._setMeetingTime("".concat(_minsStr, ":").concat(_secondsStr));
322
+ }
323
+ }
216
324
  }, {
217
325
  key: "totalHourText",
218
326
  get: function get() {
@@ -264,8 +372,10 @@ var FcrUIMeetingTimeSharedDataSourceImpl = exports.FcrUIMeetingTimeSharedDataSou
264
372
  }
265
373
  this._totalHours = hours;
266
374
  this._totalMins = mins;
267
- this._totalHourText = this.totalHours > 0 ? "".concat(this.totalHours).concat((0, _i18n.transI18n)('fmt_statusbar_label_hour')) : '';
268
- this._totalMinsText = this.totalMins > 0 ? "".concat(this.totalMins).concat((0, _i18n.transI18n)('fmt_statusbar_label_minutes')) : '';
375
+
376
+ // 使用缓存的翻译文本
377
+ this._totalHourText = this.totalHours > 0 ? "".concat(this.totalHours).concat(this._cachedTranslations.hour) : '';
378
+ this._totalMinsText = this.totalMins > 0 ? "".concat(this.totalMins).concat(this._cachedTranslations.minutes) : '';
269
379
  }
270
380
  }, {
271
381
  key: "_setMeetingTime",
@@ -280,8 +390,15 @@ var FcrUIMeetingTimeSharedDataSourceImpl = exports.FcrUIMeetingTimeSharedDataSou
280
390
  }, {
281
391
  key: "release",
282
392
  value: function release() {
283
- clearTimeout(this._timber);
284
- this._timber = undefined;
393
+ if (this._timer) {
394
+ clearInterval(this._timer);
395
+ this._timer = null;
396
+ }
397
+ this._enterTime = 0;
398
+ this._lastMeetingDuration = 0;
399
+ if (this._localMeetingTimeKey) {
400
+ this._removeStoredTime();
401
+ }
285
402
  }
286
403
  }]);
287
404
  }();
@@ -6,6 +6,7 @@ import { FcrLanguage } from 'fcr-core/lib/room-control/interpreter-control/types
6
6
  import { FcrUserInfo } from 'fcr-core/lib/type';
7
7
  import { FcrWhiteboardControl } from 'fcr-core/lib/room-control/whiteboard-control-v2/whiteboard-control/type';
8
8
  import { FcrUIScreenShareSharedDataSource } from './screen-share-data';
9
+ import { FcrUIEventProvider } from '../providers/event-provider';
9
10
  export interface FcrUIMemberSharedDataSource {
10
11
  /**
11
12
  * 整个房间的人数。
@@ -63,11 +64,6 @@ export interface FcrUIMemberSharedDataSource {
63
64
  * @returns 音频音量映射,类型为 Map<string, number>。
64
65
  */
65
66
  get audioVolumeMap(): Map<string, number>;
66
- /**
67
- * 获取共享屏幕视频的宽高比。
68
- * @returns 共享屏幕视频的宽高比,类型为 number。
69
- */
70
- get shareScreenVideoRatio(): number;
71
67
  /**
72
68
  * 获取共享屏幕视频的宽高。
73
69
  * @returns 共享屏幕视频的宽高,类型为 FcrRemoteVideoStats['dimensions'] | null。
@@ -88,6 +84,7 @@ export declare class FcrUIMemberSharedDataSourceImpl implements FcrUIMemberShare
88
84
  private _mainRoomUserControl;
89
85
  private _streamControl;
90
86
  private _sharedScreenShareSharedDataSource;
87
+ private _eventProvider;
91
88
  private _whiteBoardControl?;
92
89
  protected logger: import("agora-foundation/lib/logger").Logger;
93
90
  private _dataSource;
@@ -99,12 +96,12 @@ export declare class FcrUIMemberSharedDataSourceImpl implements FcrUIMemberShare
99
96
  private accessor _localUser;
100
97
  private _userObserver;
101
98
  private _streamsObserver;
99
+ private _eventProviderObserver;
100
+ private _isOnline;
102
101
  private accessor serverPushTotalUserCount;
103
- private accessor _shareScreenVideoRatio;
104
102
  accessor totalUserCount: number;
105
103
  accessor shareScreenVideoSize: FcrRemoteVideoStats['dimensions'] | null;
106
104
  get localUserId(): string;
107
- get shareScreenVideoRatio(): number;
108
105
  get hasOwnPstnStream(): boolean;
109
106
  get interpreterInputLanguageList(): {
110
107
  userId: string;
@@ -119,7 +116,12 @@ export declare class FcrUIMemberSharedDataSourceImpl implements FcrUIMemberShare
119
116
  get remoteMembersUserInfosList(): FcrUserInfo[];
120
117
  get memberList(): FcrUIMemberDataImpl[];
121
118
  get memberUserInfoList(): FcrUserInfo[];
122
- constructor(_mainRoomUserControl: FcrUserControl, _streamControl: FcrStreamControl, _sharedScreenShareSharedDataSource: FcrUIScreenShareSharedDataSource, _whiteBoardControl?: FcrWhiteboardControl | undefined);
119
+ constructor(_mainRoomUserControl: FcrUserControl, _streamControl: FcrStreamControl, _sharedScreenShareSharedDataSource: FcrUIScreenShareSharedDataSource, _eventProvider: FcrUIEventProvider, _whiteBoardControl?: FcrWhiteboardControl | undefined);
120
+ private _addEventListeners;
121
+ private _removeEventListeners;
122
+ private _handleOnEvent;
123
+ private _handleOnline;
124
+ private _handleOffline;
123
125
  updateMemberListWithBoardState(): void;
124
126
  release(): void;
125
127
  private _setIsLocalUserInPstn;
@@ -130,7 +132,6 @@ export declare class FcrUIMemberSharedDataSourceImpl implements FcrUIMemberShare
130
132
  private _syncParticipants;
131
133
  private _onAudioVolumeUpdated;
132
134
  private _handleRemoteUserJoined;
133
- private _handleRemoteVideoStatsUpdated;
134
135
  private _handleRemoteUserLeft;
135
136
  private _handleStreamsAdded;
136
137
  private _handleStreamsUpdated;
@@ -27,7 +27,6 @@ exports.FcrUIMemberSharedDataSourceImpl = void 0;
27
27
  require("core-js/modules/es.array.filter.js");
28
28
  require("core-js/modules/es.array.find.js");
29
29
  require("core-js/modules/es.array.for-each.js");
30
- require("core-js/modules/es.array.from.js");
31
30
  require("core-js/modules/es.array.includes.js");
32
31
  require("core-js/modules/es.array.iterator.js");
33
32
  require("core-js/modules/es.array.map.js");
@@ -36,7 +35,6 @@ require("core-js/modules/es.map.js");
36
35
  require("core-js/modules/es.object.entries.js");
37
36
  require("core-js/modules/es.object.to-string.js");
38
37
  require("core-js/modules/es.set.js");
39
- require("core-js/modules/es.string.includes.js");
40
38
  require("core-js/modules/es.string.iterator.js");
41
39
  require("core-js/modules/es.weak-map.js");
42
40
  require("core-js/modules/esnext.iterator.constructor.js");
@@ -98,8 +96,9 @@ var _base = require("../base");
98
96
  var _type = require("fcr-core/lib/type");
99
97
  var _decorator = require("agora-foundation/lib/decorator");
100
98
  var _logger = require("../utilities/logger");
99
+ var _constant = require("../utilities/constant");
101
100
  var _FcrUIMemberSharedDataSourceImpl;
102
- var _initProto, _init__serverPushTotalUserCount, _init__audioVolumeMap, _init__isLocalUserInPstn, _init__interpreterInputLanguageList, _init__localUser, _init_serverPushTotalUserCount, _init__shareScreenVideoRatio, _init_totalUserCount, _init_shareScreenVideoSize, _updateMemberListWithBoardStateDecs, _setIsLocalUserInPstnDecs, _handleAllUserCountUpdatedDecs, _setTotalUserCountDecs, _handleUserInfoUpdatedDecs, _syncParticipantsDecs, _onAudioVolumeUpdatedDecs, _handleRemoteUserJoinedDecs, _handleRemoteVideoStatsUpdatedDecs, _handleRemoteUserLeftDecs, _handleStreamsAddedDecs, _handleStreamsUpdatedDecs, _handleStreamsRemovedDecs, _ref;
101
+ var _initProto, _init__serverPushTotalUserCount, _init__audioVolumeMap, _init__isLocalUserInPstn, _init__interpreterInputLanguageList, _init__localUser, _init_serverPushTotalUserCount, _init_totalUserCount, _init_shareScreenVideoSize, _updateMemberListWithBoardStateDecs, _setIsLocalUserInPstnDecs, _handleAllUserCountUpdatedDecs, _setTotalUserCountDecs, _handleUserInfoUpdatedDecs, _syncParticipantsDecs, _onAudioVolumeUpdatedDecs, _handleRemoteUserJoinedDecs, _handleRemoteUserLeftDecs, _handleStreamsAddedDecs, _handleStreamsUpdatedDecs, _handleStreamsRemovedDecs, _ref;
103
102
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
104
103
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
105
104
  function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
@@ -120,10 +119,9 @@ var _E = /*#__PURE__*/new WeakMap();
120
119
  var _F = /*#__PURE__*/new WeakMap();
121
120
  var _G = /*#__PURE__*/new WeakMap();
122
121
  var _H = /*#__PURE__*/new WeakMap();
123
- var _I = /*#__PURE__*/new WeakMap();
124
- _ref = (_updateMemberListWithBoardStateDecs = [_mobx.action, _mobx.action.bound], _setIsLocalUserInPstnDecs = [_mobx.action, _mobx.action.bound], _handleAllUserCountUpdatedDecs = [_mobx.action, _mobx.action.bound], _setTotalUserCountDecs = [_mobx.action, _mobx.action.bound], _handleUserInfoUpdatedDecs = [_mobx.action, _mobx.action.bound], _syncParticipantsDecs = (0, _decorator.debounced)(800), _onAudioVolumeUpdatedDecs = [_mobx.action, _mobx.action.bound], _handleRemoteUserJoinedDecs = [_mobx.action, _mobx.action.bound], _handleRemoteVideoStatsUpdatedDecs = [_mobx.action, _mobx.action.bound], _handleRemoteUserLeftDecs = [_mobx.action, _mobx.action.bound], _handleStreamsAddedDecs = [_mobx.action, _mobx.action.bound], _handleStreamsUpdatedDecs = [_mobx.action, _mobx.action.bound], _handleStreamsRemovedDecs = [_mobx.action, _mobx.action.bound], "logger");
122
+ _ref = (_updateMemberListWithBoardStateDecs = [_mobx.action, _mobx.action.bound], _setIsLocalUserInPstnDecs = [_mobx.action, _mobx.action.bound], _handleAllUserCountUpdatedDecs = [_mobx.action, _mobx.action.bound], _setTotalUserCountDecs = [_mobx.action, _mobx.action.bound], _handleUserInfoUpdatedDecs = [_mobx.action, _mobx.action.bound], _syncParticipantsDecs = (0, _decorator.debounced)(800), _onAudioVolumeUpdatedDecs = [_mobx.action, _mobx.action.bound], _handleRemoteUserJoinedDecs = [_mobx.action, _mobx.action.bound], _handleRemoteUserLeftDecs = [_mobx.action, _mobx.action.bound], _handleStreamsAddedDecs = [_mobx.action, _mobx.action.bound], _handleStreamsUpdatedDecs = [_mobx.action, _mobx.action.bound], _handleStreamsRemovedDecs = [_mobx.action, _mobx.action.bound], "logger");
125
123
  var FcrUIMemberSharedDataSourceImpl = exports.FcrUIMemberSharedDataSourceImpl = /*#__PURE__*/function () {
126
- function FcrUIMemberSharedDataSourceImpl(_mainRoomUserControl, _streamControl, _sharedScreenShareSharedDataSource, _whiteBoardControl) {
124
+ function FcrUIMemberSharedDataSourceImpl(_mainRoomUserControl, _streamControl, _sharedScreenShareSharedDataSource, _eventProvider, _whiteBoardControl) {
127
125
  var _this = this;
128
126
  (0, _classCallCheck2["default"])(this, FcrUIMemberSharedDataSourceImpl);
129
127
  (0, _defineProperty2["default"])(this, _ref, (_initProto(this), (0, _logger.createLogger)({
@@ -146,19 +144,23 @@ var FcrUIMemberSharedDataSourceImpl = exports.FcrUIMemberSharedDataSourceImpl =
146
144
  onStreamsAdded: this._handleStreamsAdded,
147
145
  onStreamsUpdated: this._handleStreamsUpdated,
148
146
  onStreamVolumeIndicationUpdated: this._onAudioVolumeUpdated,
149
- onStreamsRemoved: this._handleStreamsRemoved,
150
- onRemoteVideoStatsUpdated: this._handleRemoteVideoStatsUpdated
147
+ onStreamsRemoved: this._handleStreamsRemoved
151
148
  });
149
+ (0, _defineProperty2["default"])(this, "_eventProviderObserver", {
150
+ onEvent: this._handleOnEvent
151
+ });
152
+ (0, _defineProperty2["default"])(this, "_isOnline", true);
152
153
  _classPrivateFieldInitSpec(this, _F, _init_serverPushTotalUserCount(this, 1));
153
- _classPrivateFieldInitSpec(this, _G, _init__shareScreenVideoRatio(this, 0));
154
- _classPrivateFieldInitSpec(this, _H, _init_totalUserCount(this, 1));
155
- _classPrivateFieldInitSpec(this, _I, _init_shareScreenVideoSize(this, null));
154
+ _classPrivateFieldInitSpec(this, _G, _init_totalUserCount(this, 1));
155
+ _classPrivateFieldInitSpec(this, _H, _init_shareScreenVideoSize(this, null));
156
156
  this._mainRoomUserControl = _mainRoomUserControl;
157
157
  this._streamControl = _streamControl;
158
158
  this._sharedScreenShareSharedDataSource = _sharedScreenShareSharedDataSource;
159
+ this._eventProvider = _eventProvider;
159
160
  this._whiteBoardControl = _whiteBoardControl;
160
161
  this._mainRoomUserControl.addObserver(this._userObserver);
161
162
  this._streamControl.addObserver(this._streamsObserver);
163
+ this._eventProvider.addObserver(this._eventProviderObserver);
162
164
  this._setTotalUserCount();
163
165
  this._initUserList();
164
166
  this.updateMemberListWithBoardState();
@@ -169,6 +171,7 @@ var FcrUIMemberSharedDataSourceImpl = exports.FcrUIMemberSharedDataSourceImpl =
169
171
  _this._setTotalUserCount();
170
172
  _this._syncParticipants();
171
173
  }));
174
+ this._addEventListeners();
172
175
  }
173
176
  return (0, _createClass2["default"])(FcrUIMemberSharedDataSourceImpl, [{
174
177
  key: "_serverPushTotalUserCount",
@@ -219,7 +222,7 @@ var FcrUIMemberSharedDataSourceImpl = exports.FcrUIMemberSharedDataSourceImpl =
219
222
  _classPrivateFieldSet(_F, this, v);
220
223
  }
221
224
  }, {
222
- key: "_shareScreenVideoRatio",
225
+ key: "totalUserCount",
223
226
  get: function get() {
224
227
  return _classPrivateFieldGet(_G, this);
225
228
  },
@@ -227,31 +230,18 @@ var FcrUIMemberSharedDataSourceImpl = exports.FcrUIMemberSharedDataSourceImpl =
227
230
  _classPrivateFieldSet(_G, this, v);
228
231
  }
229
232
  }, {
230
- key: "totalUserCount",
233
+ key: "shareScreenVideoSize",
231
234
  get: function get() {
232
235
  return _classPrivateFieldGet(_H, this);
233
236
  },
234
237
  set: function set(v) {
235
238
  _classPrivateFieldSet(_H, this, v);
236
239
  }
237
- }, {
238
- key: "shareScreenVideoSize",
239
- get: function get() {
240
- return _classPrivateFieldGet(_I, this);
241
- },
242
- set: function set(v) {
243
- _classPrivateFieldSet(_I, this, v);
244
- }
245
240
  }, {
246
241
  key: "localUserId",
247
242
  get: function get() {
248
243
  return this._localUser.userId;
249
244
  }
250
- }, {
251
- key: "shareScreenVideoRatio",
252
- get: function get() {
253
- return this._shareScreenVideoRatio;
254
- }
255
245
  }, {
256
246
  key: "hasOwnPstnStream",
257
247
  get: function get() {
@@ -315,6 +305,36 @@ var FcrUIMemberSharedDataSourceImpl = exports.FcrUIMemberSharedDataSourceImpl =
315
305
  return memberData.userInfo;
316
306
  });
317
307
  }
308
+ }, {
309
+ key: "_addEventListeners",
310
+ value: function _addEventListeners() {
311
+ window.addEventListener('online', this._handleOnline);
312
+ window.addEventListener('offline', this._handleOffline);
313
+ }
314
+ }, {
315
+ key: "_removeEventListeners",
316
+ value: function _removeEventListeners() {
317
+ window.removeEventListener('online', this._handleOnline);
318
+ window.removeEventListener('offline', this._handleOffline);
319
+ }
320
+ }, {
321
+ key: "_handleOnEvent",
322
+ value: function _handleOnEvent(action, payload) {
323
+ if (action === _constant.FcrUIAction.ENGINE_RECONNECTED) {
324
+ this.logger.info('sync participants, after engine reconnected');
325
+ this._syncParticipants();
326
+ }
327
+ }
328
+ }, {
329
+ key: "_handleOnline",
330
+ value: function _handleOnline() {
331
+ this._isOnline = true;
332
+ }
333
+ }, {
334
+ key: "_handleOffline",
335
+ value: function _handleOffline() {
336
+ this._isOnline = false;
337
+ }
318
338
  }, {
319
339
  key: "updateMemberListWithBoardState",
320
340
  value: function updateMemberListWithBoardState() {
@@ -340,6 +360,8 @@ var FcrUIMemberSharedDataSourceImpl = exports.FcrUIMemberSharedDataSourceImpl =
340
360
  return disposer();
341
361
  });
342
362
  this._disposers = [];
363
+ this._removeEventListeners();
364
+ this._eventProvider.removeObserver(this._eventProviderObserver);
343
365
  this._mainRoomUserControl.removeObserver(this._userObserver);
344
366
  this._streamControl.removeObserver(this._streamsObserver);
345
367
  }
@@ -402,11 +424,11 @@ var FcrUIMemberSharedDataSourceImpl = exports.FcrUIMemberSharedDataSourceImpl =
402
424
  _this4.logger.warn('[FcrUIMemberSharedDataSourceImpl] _syncParticipants: need sync');
403
425
  // 有差异,优先进行以userControl内列表的遍历补充
404
426
  var controlUserList = _this4._mainRoomUserControl.getUserList();
405
- var storeUserListIds = Array.from(new Set(_this4.memberList.map(function (participant) {
427
+ var storeUserListIds = new Set(_this4.memberList.map(function (participant) {
406
428
  return participant.userId;
407
- })));
429
+ }));
408
430
  controlUserList.forEach(function (userInfo) {
409
- if (userInfo.userId && !storeUserListIds.includes(userInfo.userId)) {
431
+ if (userInfo.userId && !storeUserListIds.has(userInfo.userId)) {
410
432
  _this4._dataSource.add(userInfo, _this4._streamControl.getStreamsByUserId(userInfo.userId), userInfo.userId === _this4.localUserId);
411
433
  }
412
434
  });
@@ -433,20 +455,6 @@ var FcrUIMemberSharedDataSourceImpl = exports.FcrUIMemberSharedDataSourceImpl =
433
455
  });
434
456
  this.updateMemberListWithBoardState();
435
457
  }
436
- }, {
437
- key: "_handleRemoteVideoStatsUpdated",
438
- value: function _handleRemoteVideoStatsUpdated(roomId, streamId, videoStats) {
439
- var stream = this._streamControl.getStreamByStreamId(streamId);
440
- if ((stream === null || stream === void 0 ? void 0 : stream.videoSourceType) === _fcrCore.FcrVideoSourceType.SCREEN) {
441
- var _videoStats$dimension = videoStats.dimensions,
442
- width = _videoStats$dimension.width,
443
- height = _videoStats$dimension.height;
444
- if (width !== 0 && height !== 0) {
445
- this._shareScreenVideoRatio = width / height;
446
- this.shareScreenVideoSize = videoStats.dimensions;
447
- }
448
- }
449
- }
450
458
  }, {
451
459
  key: "_handleRemoteUserLeft",
452
460
  value: function _handleRemoteUserLeft(roomId, events) {
@@ -496,15 +504,14 @@ var FcrUIMemberSharedDataSourceImpl = exports.FcrUIMemberSharedDataSourceImpl =
496
504
  }]);
497
505
  }();
498
506
  _FcrUIMemberSharedDataSourceImpl = FcrUIMemberSharedDataSourceImpl;
499
- var _applyDecs$e = (0, _slicedToArray2["default"])(_applyDecs(_FcrUIMemberSharedDataSourceImpl, [[_mobx.observable, 1, "_serverPushTotalUserCount"], [_mobx.observable, 1, "_audioVolumeMap"], [_mobx.observable, 1, "_isLocalUserInPstn"], [_mobx.observable, 1, "_interpreterInputLanguageList"], [_mobx.observable, 1, "_localUser"], [_mobx.observable, 1, "serverPushTotalUserCount"], [_mobx.observable, 1, "_shareScreenVideoRatio"], [_mobx.observable, 1, "totalUserCount"], [_mobx.observable, 1, "shareScreenVideoSize"], [_mobx.computed, 3, "shareScreenVideoRatio"], [_mobx.computed, 3, "hasOwnPstnStream"], [_mobx.computed, 3, "interpreterInputLanguageList"], [_mobx.computed, 3, "audioVolumeMap"], [_mobx.computed, 3, "isLocalUserHost"], [_mobx.computed, 3, "remoteMembers"], [_mobx.computed, 3, "remoteMembersUserInfosList"], [_mobx.computed, 3, "memberUserInfoList"], [_updateMemberListWithBoardStateDecs, 18, "updateMemberListWithBoardState"], [_setIsLocalUserInPstnDecs, 18, "_setIsLocalUserInPstn"], [_handleAllUserCountUpdatedDecs, 18, "_handleAllUserCountUpdated"], [_setTotalUserCountDecs, 18, "_setTotalUserCount"], [_handleUserInfoUpdatedDecs, 18, "_handleUserInfoUpdated"], [_syncParticipantsDecs, 2, "_syncParticipants"], [_onAudioVolumeUpdatedDecs, 18, "_onAudioVolumeUpdated"], [_handleRemoteUserJoinedDecs, 18, "_handleRemoteUserJoined"], [_handleRemoteVideoStatsUpdatedDecs, 18, "_handleRemoteVideoStatsUpdated"], [_handleRemoteUserLeftDecs, 18, "_handleRemoteUserLeft"], [_handleStreamsAddedDecs, 18, "_handleStreamsAdded"], [_handleStreamsUpdatedDecs, 18, "_handleStreamsUpdated"], [_handleStreamsRemovedDecs, 18, "_handleStreamsRemoved"]], []).e, 10);
507
+ var _applyDecs$e = (0, _slicedToArray2["default"])(_applyDecs(_FcrUIMemberSharedDataSourceImpl, [[_mobx.observable, 1, "_serverPushTotalUserCount"], [_mobx.observable, 1, "_audioVolumeMap"], [_mobx.observable, 1, "_isLocalUserInPstn"], [_mobx.observable, 1, "_interpreterInputLanguageList"], [_mobx.observable, 1, "_localUser"], [_mobx.observable, 1, "serverPushTotalUserCount"], [_mobx.observable, 1, "totalUserCount"], [_mobx.observable, 1, "shareScreenVideoSize"], [_mobx.computed, 3, "hasOwnPstnStream"], [_mobx.computed, 3, "interpreterInputLanguageList"], [_mobx.computed, 3, "audioVolumeMap"], [_mobx.computed, 3, "isLocalUserHost"], [_mobx.computed, 3, "remoteMembers"], [_mobx.computed, 3, "remoteMembersUserInfosList"], [_mobx.computed, 3, "memberUserInfoList"], [_decorator.bound, 2, "_handleOnEvent"], [_decorator.bound, 2, "_handleOnline"], [_decorator.bound, 2, "_handleOffline"], [_updateMemberListWithBoardStateDecs, 18, "updateMemberListWithBoardState"], [_setIsLocalUserInPstnDecs, 18, "_setIsLocalUserInPstn"], [_handleAllUserCountUpdatedDecs, 18, "_handleAllUserCountUpdated"], [_setTotalUserCountDecs, 18, "_setTotalUserCount"], [_handleUserInfoUpdatedDecs, 18, "_handleUserInfoUpdated"], [_syncParticipantsDecs, 2, "_syncParticipants"], [_onAudioVolumeUpdatedDecs, 18, "_onAudioVolumeUpdated"], [_handleRemoteUserJoinedDecs, 18, "_handleRemoteUserJoined"], [_handleRemoteUserLeftDecs, 18, "_handleRemoteUserLeft"], [_handleStreamsAddedDecs, 18, "_handleStreamsAdded"], [_handleStreamsUpdatedDecs, 18, "_handleStreamsUpdated"], [_handleStreamsRemovedDecs, 18, "_handleStreamsRemoved"]], []).e, 9);
500
508
  _init__serverPushTotalUserCount = _applyDecs$e[0];
501
509
  _init__audioVolumeMap = _applyDecs$e[1];
502
510
  _init__isLocalUserInPstn = _applyDecs$e[2];
503
511
  _init__interpreterInputLanguageList = _applyDecs$e[3];
504
512
  _init__localUser = _applyDecs$e[4];
505
513
  _init_serverPushTotalUserCount = _applyDecs$e[5];
506
- _init__shareScreenVideoRatio = _applyDecs$e[6];
507
- _init_totalUserCount = _applyDecs$e[7];
508
- _init_shareScreenVideoSize = _applyDecs$e[8];
509
- _initProto = _applyDecs$e[9];
514
+ _init_totalUserCount = _applyDecs$e[6];
515
+ _init_shareScreenVideoSize = _applyDecs$e[7];
516
+ _initProto = _applyDecs$e[8];
510
517
  (0, _base.registerDependency)('sharedMemberDataSource');