fcr-ui-scene 3.3.1 → 3.4.1

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 (681) hide show
  1. package/installer/icons/icon.png +0 -0
  2. package/lib/ scenes/base.d.ts +10 -0
  3. package/lib/ scenes/base.js +75 -0
  4. package/lib/ scenes/main-scene.d.ts +43 -0
  5. package/lib/ scenes/main-scene.js +368 -0
  6. package/lib/ scenes/waiting-scene.d.ts +31 -0
  7. package/lib/ scenes/waiting-scene.js +119 -0
  8. package/lib/common/device-store.d.ts +22 -13
  9. package/lib/common/device-store.js +350 -249
  10. package/lib/common/device-stream-store.d.ts +8 -14
  11. package/lib/common/device-stream-store.js +254 -116
  12. package/lib/common/event-store.d.ts +19 -10
  13. package/lib/common/event-store.js +28 -10
  14. package/lib/common/remote-renderer.d.ts +15 -0
  15. package/lib/common/remote-renderer.js +138 -0
  16. package/lib/common/room-store.d.ts +21 -18
  17. package/lib/common/room-store.js +54 -47
  18. package/lib/common/security-store.d.ts +38 -40
  19. package/lib/common/security-store.js +231 -394
  20. package/lib/common/type.d.ts +8 -0
  21. package/lib/common/type.js +6 -0
  22. package/lib/creator.d.ts +3 -1
  23. package/lib/creator.js +13 -1
  24. package/lib/electron/app.js +59 -0
  25. package/lib/electron/injections.d.ts +6 -4
  26. package/lib/electron/injections.js +138 -113
  27. package/lib/electron/logger.js +3 -1
  28. package/lib/electron/main.js +13 -1
  29. package/lib/electron/plugins/devtool-shortcut.d.ts +2 -0
  30. package/lib/electron/plugins/devtool-shortcut.js +19 -0
  31. package/lib/electron/preload.js +5 -3
  32. package/lib/error-fallback.css +62 -0
  33. package/lib/error-fallback.d.ts +2 -0
  34. package/lib/error-fallback.js +19 -0
  35. package/lib/fragments/control-bar/cloud-recording-buttons.js +1 -1
  36. package/lib/fragments/control-bar/control-bar-store.d.ts +11 -1
  37. package/lib/fragments/control-bar/control-bar-store.js +196 -111
  38. package/lib/fragments/control-bar/index.js +6 -0
  39. package/lib/fragments/control-bar/more-actions/index.js +1 -1
  40. package/lib/fragments/control-bar/security-content/index.css +65 -0
  41. package/lib/fragments/control-bar/security-content/index.js +66 -2
  42. package/lib/fragments/control-bar/share-state-nav/index.js +1 -1
  43. package/lib/fragments/control-bar/view.js +15 -6
  44. package/lib/fragments/live-streaming/store.d.ts +1 -1
  45. package/lib/fragments/live-streaming/store.js +1 -1
  46. package/lib/fragments/live-streaming/view.js +4 -2
  47. package/lib/fragments/share-screen-selection/selection-store.d.ts +1 -1
  48. package/lib/fragments/share-screen-selection/selection-store.js +1 -1
  49. package/lib/fragments/share-screen-selection/view.js +20 -20
  50. package/lib/fragments/toolbar/components/eraser-picker.js +1 -1
  51. package/lib/fragments/toolbar/components/pen-picker.js +1 -1
  52. package/lib/fragments/toolbar/components/shape-picker.js +1 -1
  53. package/lib/fragments/toolbar/components/transfer-position-icon/index.d.ts +11 -0
  54. package/lib/fragments/toolbar/components/transfer-position-icon/index.js +46 -0
  55. package/lib/fragments/toolbar/components/wrapper.js +1 -1
  56. package/lib/fragments/toolbar/hooks.js +1 -1
  57. package/lib/fragments/toolbar/store.d.ts +1 -1
  58. package/lib/hooks/meeting-time.d.ts +1 -1
  59. package/lib/modules/Interpreter/action/add-btn/index.css +4 -0
  60. package/lib/modules/Interpreter/action/add-btn/index.d.ts +11 -0
  61. package/lib/modules/Interpreter/action/add-btn/index.js +43 -0
  62. package/lib/modules/Interpreter/action/delete-btn/index.css +14 -0
  63. package/lib/modules/Interpreter/action/delete-btn/index.d.ts +6 -0
  64. package/lib/modules/Interpreter/action/delete-btn/index.js +38 -0
  65. package/lib/modules/Interpreter/action/edit-btn/index.css +3 -0
  66. package/lib/modules/Interpreter/action/edit-btn/index.d.ts +4 -0
  67. package/lib/modules/Interpreter/action/edit-btn/index.js +47 -0
  68. package/lib/modules/Interpreter/action/switch-btn/index.css +3 -0
  69. package/lib/modules/Interpreter/action/switch-btn/index.d.ts +3 -0
  70. package/lib/modules/Interpreter/action/switch-btn/index.js +52 -0
  71. package/lib/modules/Interpreter/add-button/index.js +6 -4
  72. package/lib/modules/Interpreter/constant.d.ts +23 -12
  73. package/lib/modules/Interpreter/constant.js +53 -13
  74. package/lib/modules/Interpreter/dialog-content/index.js +2 -2
  75. package/lib/modules/Interpreter/footer/components/interpreter-btn/index.js +10 -13
  76. package/lib/modules/Interpreter/footer/components/set-btn/index.js +8 -5
  77. package/lib/modules/Interpreter/footer/components/tooltip-wrapper/index.js +3 -1
  78. package/lib/modules/Interpreter/footer/index.css +6 -5
  79. package/lib/modules/Interpreter/footer/index.d.ts +4 -1
  80. package/lib/modules/Interpreter/footer/index.js +8 -17
  81. package/lib/modules/Interpreter/index.css +10 -3
  82. package/lib/modules/Interpreter/index.d.ts +2 -15
  83. package/lib/modules/Interpreter/index.js +9 -19
  84. package/lib/modules/Interpreter/interpreter-list/index.css +5 -18
  85. package/lib/modules/Interpreter/interpreter-list/index.d.ts +5 -1
  86. package/lib/modules/Interpreter/interpreter-list/index.js +15 -32
  87. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-language/index.css +23 -8
  88. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-language/index.d.ts +4 -1
  89. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-language/index.js +51 -13
  90. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_ar.png +0 -0
  91. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_cn.png +0 -0
  92. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_de.png +0 -0
  93. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_en.png +0 -0
  94. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_es.png +0 -0
  95. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_fr.png +0 -0
  96. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_hi.png +0 -0
  97. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_id.png +0 -0
  98. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_it.png +0 -0
  99. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_jp.png +0 -0
  100. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_ko.png +0 -0
  101. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_ms.png +0 -0
  102. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_pt.png +0 -0
  103. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_ru.png +0 -0
  104. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_th.png +0 -0
  105. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_tr.png +0 -0
  106. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_vi.png +0 -0
  107. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/index.d.ts +9 -4
  108. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/index.js +98 -39
  109. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-user/index.css +9 -4
  110. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-user/index.d.ts +1 -6
  111. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-user/index.js +74 -64
  112. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-user/option-Item.d.ts +6 -0
  113. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-user/option-Item.js +58 -0
  114. package/lib/modules/Interpreter/interpreter-list/interpreter-item/index.css +3 -5
  115. package/lib/modules/Interpreter/interpreter-list/interpreter-item/index.d.ts +1 -1
  116. package/lib/modules/Interpreter/interpreter-list/interpreter-item/index.js +7 -24
  117. package/lib/modules/Interpreter/store.d.ts +70 -41
  118. package/lib/modules/Interpreter/store.js +1033 -814
  119. package/lib/modules/Interpreter/tooltip-wrapper/index.d.ts +6 -0
  120. package/lib/modules/Interpreter/tooltip-wrapper/index.js +30 -0
  121. package/lib/modules/Interpreter/type.d.ts +41 -0
  122. package/lib/modules/Interpreter/type.js +20 -0
  123. package/lib/modules/Interpreter/utils.d.ts +12 -0
  124. package/lib/modules/Interpreter/utils.js +139 -0
  125. package/lib/modules/Interpreter/view.d.ts +0 -1
  126. package/lib/modules/Interpreter/view.js +48 -13
  127. package/lib/modules/action-bar/Interpreter/index.d.ts +1 -1
  128. package/lib/modules/action-bar/Interpreter/index.js +7 -10
  129. package/lib/modules/action-bar/action-bar-collapes-items.d.ts +4 -1
  130. package/lib/modules/action-bar/action-bar-collapes-items.js +39 -22
  131. package/lib/modules/action-bar/apps/app-item/index.css +35 -0
  132. package/lib/modules/action-bar/apps/app-item/index.d.ts +12 -0
  133. package/{dist/electron/bootstrap-sdk.js → lib/modules/action-bar/apps/app-item/index.js} +38 -33
  134. package/lib/modules/action-bar/apps/appitems.d.ts +4 -1
  135. package/lib/modules/action-bar/apps/appitems.js +30 -25
  136. package/lib/modules/action-bar/apps/index.css +5 -3
  137. package/lib/modules/action-bar/apps/index.js +13 -14
  138. package/lib/modules/action-bar/apps/useAppItemOptions.d.ts +9 -0
  139. package/lib/modules/action-bar/apps/useAppItemOptions.js +29 -0
  140. package/lib/modules/action-bar/apps/useBeautyBackground.d.ts +10 -0
  141. package/lib/modules/action-bar/apps/useBeautyBackground.js +34 -0
  142. package/lib/modules/action-bar/apps/useInterpreter.d.ts +14 -0
  143. package/lib/modules/action-bar/apps/useInterpreter.js +37 -0
  144. package/lib/modules/action-bar/apps/useLiveStreaming.d.ts +16 -0
  145. package/lib/modules/action-bar/apps/useLiveStreaming.js +41 -0
  146. package/lib/modules/action-bar/chat/index.js +3 -3
  147. package/lib/modules/action-bar/components/apps/app-item/index.css +35 -0
  148. package/lib/modules/action-bar/components/apps/app-item/index.d.ts +12 -0
  149. package/lib/modules/action-bar/components/apps/app-item/index.js +61 -0
  150. package/lib/modules/action-bar/components/apps/appitems.d.ts +5 -0
  151. package/{dist/electron/bootstrap-dev.js → lib/modules/action-bar/components/apps/appitems.js} +21 -27
  152. package/lib/modules/action-bar/components/apps/index.css +8 -0
  153. package/lib/modules/action-bar/components/apps/index.d.ts +4 -0
  154. package/lib/modules/action-bar/components/apps/index.js +57 -0
  155. package/lib/modules/action-bar/components/apps/useAppItemOptions.d.ts +9 -0
  156. package/lib/modules/action-bar/components/apps/useAppItemOptions.js +29 -0
  157. package/lib/modules/action-bar/components/apps/useBeautyBackground.d.ts +10 -0
  158. package/lib/modules/action-bar/components/apps/useBeautyBackground.js +36 -0
  159. package/lib/modules/action-bar/components/apps/useInterpreter.d.ts +14 -0
  160. package/lib/modules/action-bar/components/apps/useInterpreter.js +37 -0
  161. package/lib/modules/action-bar/components/apps/useLiveStreaming.d.ts +16 -0
  162. package/lib/modules/action-bar/components/apps/useLiveStreaming.js +41 -0
  163. package/lib/modules/action-bar/components/board/index.d.ts +4 -0
  164. package/lib/modules/action-bar/components/board/index.js +34 -0
  165. package/lib/modules/action-bar/components/breakout-room/index.d.ts +4 -0
  166. package/lib/modules/action-bar/components/breakout-room/index.js +32 -0
  167. package/lib/modules/action-bar/components/chat/index.css +80 -0
  168. package/lib/modules/action-bar/components/chat/index.d.ts +5 -0
  169. package/lib/modules/action-bar/components/chat/index.js +154 -0
  170. package/lib/modules/action-bar/components/device/index.css +162 -0
  171. package/lib/modules/action-bar/components/device/index.d.ts +8 -0
  172. package/lib/modules/action-bar/components/device/index.js +611 -0
  173. package/lib/modules/action-bar/components/interpreter/index.d.ts +6 -0
  174. package/lib/modules/action-bar/components/interpreter/index.js +41 -0
  175. package/lib/modules/action-bar/components/item.d.ts +27 -0
  176. package/lib/modules/action-bar/components/item.js +164 -0
  177. package/lib/modules/action-bar/components/leave/assign-host.d.ts +10 -0
  178. package/lib/modules/action-bar/components/leave/assign-host.js +64 -0
  179. package/lib/modules/action-bar/components/leave/index.css +126 -0
  180. package/lib/modules/action-bar/components/leave/index.d.ts +3 -0
  181. package/lib/modules/action-bar/components/leave/index.js +159 -0
  182. package/lib/modules/action-bar/components/leave/leave-meeting.d.ts +18 -0
  183. package/lib/modules/action-bar/components/leave/leave-meeting.js +153 -0
  184. package/lib/modules/action-bar/components/live-streaming/index.d.ts +4 -0
  185. package/lib/modules/action-bar/components/live-streaming/index.js +39 -0
  186. package/lib/modules/action-bar/components/more/index.css +114 -0
  187. package/lib/modules/action-bar/components/more/index.d.ts +5 -0
  188. package/lib/modules/action-bar/components/more/index.js +83 -0
  189. package/lib/modules/action-bar/components/more/poppover-content.d.ts +8 -0
  190. package/lib/modules/action-bar/components/more/poppover-content.js +400 -0
  191. package/lib/modules/action-bar/components/participants/index.css +21 -0
  192. package/lib/modules/action-bar/components/participants/index.d.ts +5 -0
  193. package/lib/modules/action-bar/components/participants/index.js +83 -0
  194. package/lib/modules/action-bar/components/record/index.css +39 -0
  195. package/lib/modules/action-bar/components/record/index.d.ts +5 -0
  196. package/lib/modules/action-bar/components/record/index.js +166 -0
  197. package/lib/modules/action-bar/components/record/stop-record-dialog.d.ts +5 -0
  198. package/lib/modules/action-bar/components/record/stop-record-dialog.js +48 -0
  199. package/lib/modules/action-bar/components/respond/index.d.ts +4 -0
  200. package/lib/modules/action-bar/components/respond/index.js +32 -0
  201. package/lib/modules/action-bar/components/screen-share/index.d.ts +4 -0
  202. package/lib/modules/action-bar/components/screen-share/index.js +106 -0
  203. package/lib/modules/action-bar/components/screen-share/submenu.d.ts +1 -0
  204. package/lib/modules/action-bar/components/screen-share/submenu.js +154 -0
  205. package/lib/modules/action-bar/components/security/index.d.ts +4 -0
  206. package/lib/modules/action-bar/components/security/index.js +58 -0
  207. package/lib/modules/action-bar/components/settings/index.d.ts +4 -0
  208. package/lib/modules/action-bar/components/settings/index.js +42 -0
  209. package/lib/modules/action-bar/device/index.js +22 -24
  210. package/lib/modules/action-bar/index.css +53 -4
  211. package/lib/modules/action-bar/index.d.ts +4 -18
  212. package/lib/modules/action-bar/index.dev.js +40 -16
  213. package/lib/modules/action-bar/index.js +25 -61
  214. package/lib/modules/action-bar/leave/assign-host.d.ts +1 -1
  215. package/lib/modules/action-bar/leave/index.css +10 -0
  216. package/lib/modules/action-bar/leave/index.js +66 -39
  217. package/lib/modules/action-bar/leave/leave-meeting.d.ts +3 -2
  218. package/lib/modules/action-bar/leave/leave-meeting.js +13 -4
  219. package/lib/modules/action-bar/live-streaming/index.js +3 -3
  220. package/lib/modules/action-bar/more/index.js +9 -6
  221. package/lib/modules/action-bar/more/poppover-content.js +33 -12
  222. package/lib/modules/action-bar/notification-bar/components/interpreter/index.css +58 -0
  223. package/lib/modules/action-bar/notification-bar/components/interpreter/index.d.ts +8 -0
  224. package/lib/modules/action-bar/notification-bar/components/interpreter/index.js +100 -0
  225. package/lib/modules/action-bar/notification-bar/components/virtual-image/index.css +56 -0
  226. package/lib/modules/action-bar/notification-bar/components/virtual-image/index.d.ts +5 -0
  227. package/lib/modules/action-bar/notification-bar/components/virtual-image/index.js +33 -0
  228. package/lib/modules/action-bar/notification-bar/dome.png +0 -0
  229. package/lib/modules/action-bar/notification-bar/fcr_translateswitch.png +0 -0
  230. package/lib/modules/action-bar/notification-bar/index.css +74 -0
  231. package/lib/modules/action-bar/notification-bar/index.d.ts +2 -0
  232. package/lib/modules/action-bar/notification-bar/index.js +99 -0
  233. package/lib/modules/action-bar/participants/index.js +2 -2
  234. package/lib/modules/action-bar/record/index.js +4 -4
  235. package/lib/modules/action-bar/screen-share/index.js +9 -4
  236. package/lib/modules/action-bar/screen-share/submenu.js +4 -4
  237. package/lib/modules/action-bar/security/drop-menu.js +49 -11
  238. package/lib/modules/action-bar/security/index.js +12 -6
  239. package/lib/modules/action-bar/settings/index.js +4 -4
  240. package/lib/modules/action-bar/smaller.js +5 -5
  241. package/lib/modules/action-bar/store.d.ts +54 -12
  242. package/lib/modules/action-bar/store.js +423 -211
  243. package/lib/modules/action-bar/switch-input-language-room/index.d.ts +1 -2
  244. package/lib/modules/action-bar/switch-input-language-room/index.js +134 -43
  245. package/lib/modules/action-bar/switch-output-language-room/drop-menu.js +3 -3
  246. package/lib/modules/action-bar/switch-output-language-room/guide-tooltip/index.d.ts +7 -1
  247. package/lib/modules/action-bar/switch-output-language-room/guide-tooltip/index.js +32 -19
  248. package/lib/modules/action-bar/switch-output-language-room/index.js +134 -69
  249. package/lib/modules/action-bar/switch-output-language-room/notification-bar/components/interpreter/index.css +12 -8
  250. package/lib/modules/action-bar/switch-output-language-room/notification-bar/components/interpreter/index.js +13 -7
  251. package/lib/modules/action-bar/switch-output-language-room/notification-bar/components/virtual-image/index.css +52 -4
  252. package/lib/modules/action-bar/switch-output-language-room/notification-bar/components/virtual-image/index.d.ts +1 -0
  253. package/lib/modules/action-bar/switch-output-language-room/notification-bar/components/virtual-image/index.js +12 -10
  254. package/lib/modules/action-bar/switch-output-language-room/notification-bar/dome.png +0 -0
  255. package/lib/modules/action-bar/switch-output-language-room/notification-bar/index.css +6 -3
  256. package/lib/modules/action-bar/switch-output-language-room/notification-bar/index.js +30 -13
  257. package/lib/modules/action-bar/trigger-input-language-room/fcr_translateswitch.png +0 -0
  258. package/lib/modules/action-bar/trigger-input-language-room/index.css +86 -0
  259. package/lib/modules/action-bar/trigger-input-language-room/index.d.ts +15 -0
  260. package/lib/modules/action-bar/trigger-input-language-room/index.js +220 -0
  261. package/lib/modules/action-bar/trigger-output-language-room/constant.d.ts +10 -0
  262. package/lib/modules/action-bar/trigger-output-language-room/constant.js +8 -0
  263. package/lib/modules/action-bar/trigger-output-language-room/guide-tooltip/index.css +22 -0
  264. package/lib/modules/action-bar/trigger-output-language-room/guide-tooltip/index.d.ts +14 -0
  265. package/lib/modules/action-bar/trigger-output-language-room/guide-tooltip/index.js +75 -0
  266. package/lib/modules/action-bar/trigger-output-language-room/index.d.ts +4 -0
  267. package/lib/modules/action-bar/trigger-output-language-room/index.js +98 -0
  268. package/lib/modules/action-bar/trigger-output-language-room/trigger-language-room.d.ts +5 -0
  269. package/lib/modules/action-bar/trigger-output-language-room/trigger-language-room.js +66 -0
  270. package/lib/modules/action-bar/trigger-output-language-room/trigger-main-room.d.ts +5 -0
  271. package/lib/modules/action-bar/trigger-output-language-room/trigger-main-room.js +36 -0
  272. package/lib/modules/action-bar/trigger-output-language-room/useChangeOutputRoomTool.d.ts +12 -0
  273. package/lib/modules/action-bar/trigger-output-language-room/useChangeOutputRoomTool.js +138 -0
  274. package/lib/modules/action-bar/view.js +26 -12
  275. package/lib/modules/audio-stream/index.d.ts +24 -14
  276. package/lib/modules/audio-stream/index.js +256 -57
  277. package/lib/modules/chat/chat-bar/index.css +6 -0
  278. package/lib/modules/chat/chat-bar/index.d.ts +3 -3
  279. package/lib/modules/chat/chat-bar/index.js +23 -23
  280. package/lib/modules/chat/chat-select/index.css +13 -3
  281. package/lib/modules/chat/chat-select/index.d.ts +1 -1
  282. package/lib/modules/chat/chat-select/index.js +18 -4
  283. package/lib/modules/chat/chat.js +20 -31
  284. package/lib/modules/chat/index.css +10 -0
  285. package/lib/modules/chat/index.d.ts +3 -11
  286. package/lib/modules/chat/index.dev.js +19 -4
  287. package/lib/modules/chat/index.js +19 -25
  288. package/lib/modules/chat/message-list.js +9 -3
  289. package/lib/modules/chat/store.d.ts +12 -6
  290. package/lib/modules/chat/store.js +109 -69
  291. package/lib/modules/components/device-control/components/audio-menu/index.d.ts +6 -0
  292. package/lib/modules/components/device-control/components/audio-menu/index.js +156 -0
  293. package/lib/modules/components/device-control/components/carmera/index.d.ts +3 -0
  294. package/lib/modules/components/device-control/components/carmera/index.js +111 -0
  295. package/lib/modules/components/device-control/components/microphone/index.d.ts +7 -0
  296. package/lib/modules/components/device-control/components/microphone/index.js +170 -0
  297. package/lib/modules/components/device-control/components/none-menu/index.d.ts +4 -0
  298. package/lib/modules/components/device-control/components/none-menu/index.js +68 -0
  299. package/lib/modules/components/device-control/components/phone-menu/index.d.ts +4 -0
  300. package/lib/modules/components/device-control/components/phone-menu/index.js +61 -0
  301. package/lib/modules/components/device-control/components/video-menu/index.d.ts +5 -0
  302. package/lib/modules/components/device-control/components/video-menu/index.js +111 -0
  303. package/lib/modules/components/device-control/hooks/index.d.ts +9 -0
  304. package/lib/modules/components/device-control/hooks/index.js +42 -0
  305. package/lib/modules/components/device-control/index.css +166 -0
  306. package/lib/modules/components/device-control/index.d.ts +3 -0
  307. package/lib/modules/components/device-control/index.js +21 -0
  308. package/lib/modules/components/device-control/store.d.ts +42 -0
  309. package/lib/modules/components/device-control/store.js +256 -0
  310. package/lib/modules/components/device-control/type.d.ts +6 -0
  311. package/lib/modules/components/device-control/type.js +13 -0
  312. package/lib/modules/components/dialog-container/component/body.d.ts +7 -0
  313. package/lib/modules/components/dialog-container/component/body.js +46 -0
  314. package/lib/modules/components/dialog-container/index.css +78 -0
  315. package/lib/modules/components/dialog-container/index.d.ts +11 -0
  316. package/lib/modules/components/dialog-container/index.js +110 -0
  317. package/lib/modules/components/member-window/index.css +419 -0
  318. package/lib/modules/components/member-window/index.d.ts +76 -0
  319. package/lib/modules/components/member-window/index.js +888 -0
  320. package/lib/modules/components/security-menu/index.css +44 -0
  321. package/lib/modules/components/security-menu/index.d.ts +5 -0
  322. package/lib/modules/components/security-menu/index.js +366 -0
  323. package/lib/modules/components/tab-frame/index.css +40 -0
  324. package/lib/modules/components/tab-frame/index.d.ts +12 -0
  325. package/lib/modules/components/tab-frame/index.js +57 -0
  326. package/lib/modules/components/toast/index.css +12 -0
  327. package/lib/modules/components/toast/index.d.ts +10 -0
  328. package/lib/modules/components/toast/index.js +66 -0
  329. package/lib/modules/components/toast/store.d.ts +17 -0
  330. package/lib/modules/components/toast/store.js +149 -0
  331. package/lib/modules/components/toast/view.d.ts +2 -0
  332. package/lib/modules/components/toast/view.js +35 -0
  333. package/lib/modules/connection-gateway/components/computer/index.css +1 -0
  334. package/lib/modules/connection-gateway/components/computer/index.js +6 -6
  335. package/lib/modules/connection-gateway/components/phone/components/callinfo/index.css +1 -1
  336. package/lib/modules/connection-gateway/components/phone/components/callinfo/index.d.ts +1 -1
  337. package/lib/modules/connection-gateway/components/phone/index.css +1 -1
  338. package/lib/modules/connection-gateway/components/phone/index.js +3 -2
  339. package/lib/modules/connection-gateway/components/tabs/index.js +2 -1
  340. package/lib/modules/connection-gateway/index.d.ts +2 -9
  341. package/lib/modules/connection-gateway/index.js +1 -1
  342. package/lib/modules/connection-gateway/store.d.ts +8 -20
  343. package/lib/modules/connection-gateway/store.js +87 -127
  344. package/lib/modules/connection-gateway/view.js +21 -4
  345. package/lib/modules/control-bar/components/cloud-recording-buttons.d.ts +1 -0
  346. package/lib/modules/control-bar/components/cloud-recording-buttons.js +67 -0
  347. package/lib/modules/control-bar/components/meeting-details/index.css +133 -0
  348. package/lib/modules/control-bar/components/meeting-details/index.d.ts +2 -0
  349. package/lib/modules/control-bar/components/meeting-details/index.js +251 -0
  350. package/lib/modules/control-bar/components/more-actions/index.css +72 -0
  351. package/lib/modules/control-bar/components/more-actions/index.d.ts +7 -0
  352. package/lib/modules/control-bar/components/more-actions/index.js +182 -0
  353. package/lib/modules/control-bar/components/share-state-nav/index.css +74 -0
  354. package/lib/modules/control-bar/components/share-state-nav/index.d.ts +10 -0
  355. package/lib/modules/control-bar/components/share-state-nav/index.js +116 -0
  356. package/lib/modules/control-bar/components/stop-live-streaming/index.d.ts +1 -0
  357. package/lib/modules/control-bar/components/stop-live-streaming/index.js +36 -0
  358. package/lib/modules/control-bar/components/stop-live-streaming/stop-button.d.ts +6 -0
  359. package/lib/modules/control-bar/components/stop-live-streaming/stop-button.js +35 -0
  360. package/lib/modules/control-bar/components/transfer-position-icon/index.d.ts +11 -0
  361. package/lib/modules/control-bar/components/transfer-position-icon/index.js +46 -0
  362. package/lib/modules/control-bar/index.css +341 -0
  363. package/lib/modules/control-bar/index.d.ts +15 -0
  364. package/lib/modules/control-bar/index.js +102 -0
  365. package/lib/modules/control-bar/store.d.ts +98 -0
  366. package/lib/modules/control-bar/store.js +899 -0
  367. package/lib/modules/control-bar/type.d.ts +10 -0
  368. package/lib/modules/control-bar/type.js +18 -0
  369. package/lib/modules/control-bar/view.d.ts +1 -0
  370. package/lib/modules/control-bar/view.js +358 -0
  371. package/lib/modules/device-pretest/assets/virtual-backdound-resources.d.ts +9 -0
  372. package/lib/modules/device-pretest/assets/virtual-backdound-resources.js +7 -1
  373. package/lib/modules/device-pretest/audio-preview/speaker-control.js +2 -2
  374. package/lib/modules/device-pretest/index.js +2 -2
  375. package/lib/modules/device-pretest/settings/beauty.d.ts +1 -1
  376. package/lib/modules/device-pretest/settings/video-settings-basic.js +2 -2
  377. package/lib/modules/device-pretest/settings/virtual-background-setting.js +1 -1
  378. package/lib/modules/device-pretest/store.d.ts +2 -1
  379. package/lib/modules/device-pretest/store.js +7 -7
  380. package/lib/modules/dialog/components/Interpreter/electron.js +21 -62
  381. package/lib/modules/dialog/components/Interpreter/index.js +14 -42
  382. package/lib/modules/dialog/components/chat/electron.d.ts +2 -2
  383. package/lib/modules/dialog/components/chat/electron.js +15 -49
  384. package/lib/modules/dialog/components/chat/index.d.ts +1 -4
  385. package/lib/modules/dialog/components/chat/index.js +38 -44
  386. package/lib/modules/dialog/components/confirm/electron.d.ts +1 -1
  387. package/lib/modules/dialog/components/confirm/electron.js +38 -70
  388. package/lib/modules/dialog/components/confirm/index.d.ts +1 -9
  389. package/lib/modules/dialog/components/confirm/index.js +33 -80
  390. package/lib/modules/dialog/components/connection-gateway/electron.d.ts +4 -1
  391. package/lib/modules/dialog/components/connection-gateway/electron.js +26 -55
  392. package/lib/modules/dialog/components/connection-gateway/index.d.ts +6 -2
  393. package/lib/modules/dialog/components/connection-gateway/index.js +17 -57
  394. package/lib/modules/dialog/components/control-bar/index.d.ts +7 -0
  395. package/lib/modules/dialog/components/control-bar/index.js +41 -0
  396. package/lib/modules/dialog/components/device-setting/electron.js +23 -64
  397. package/lib/modules/dialog/components/device-setting/index.js +14 -41
  398. package/lib/modules/dialog/components/invite/index.d.ts +3 -0
  399. package/lib/modules/dialog/components/invite/index.js +49 -0
  400. package/lib/modules/dialog/components/live-streaming/index.d.ts +4 -0
  401. package/lib/modules/dialog/components/live-streaming/index.js +53 -0
  402. package/lib/modules/dialog/components/operation-waiting-room/electron.js +28 -75
  403. package/lib/modules/dialog/components/operation-waiting-room/index.js +4 -4
  404. package/lib/modules/dialog/components/participant/electron.js +19 -81
  405. package/lib/modules/dialog/components/participant/index.js +41 -29
  406. package/lib/modules/dialog/components/remove-admit-waiting-room/electron.d.ts +8 -1
  407. package/lib/modules/dialog/components/remove-admit-waiting-room/electron.js +22 -78
  408. package/lib/modules/dialog/components/remove-admit-waiting-room/index.d.ts +1 -1
  409. package/lib/modules/dialog/components/remove-admit-waiting-room/index.js +7 -17
  410. package/lib/modules/dialog/components/share-screen-selection/index.js +28 -31
  411. package/lib/modules/dialog/components/switch-language-channels/electron.js +4 -4
  412. package/lib/modules/dialog/components/switch-language-channels/index.js +3 -3
  413. package/lib/modules/dialog/components/system-preference/bg1.png +0 -0
  414. package/lib/modules/dialog/components/system-preference/bg2.png +0 -0
  415. package/lib/modules/dialog/components/system-preference/electron.d.ts +5 -0
  416. package/lib/modules/dialog/components/system-preference/electron.js +39 -0
  417. package/lib/modules/dialog/components/system-preference/index.css +49 -0
  418. package/lib/modules/dialog/components/system-preference/index.d.ts +5 -0
  419. package/lib/modules/dialog/components/system-preference/index.js +139 -0
  420. package/lib/modules/dialog/components/toast/index.d.ts +3 -0
  421. package/lib/modules/dialog/components/toast/index.js +58 -0
  422. package/lib/modules/dialog/components/whiteboard/index.js +2 -2
  423. package/lib/modules/dialog/dialogs.d.ts +1 -5
  424. package/lib/modules/dialog/dialogs.js +24 -177
  425. package/lib/modules/dialog/hooks/useElectron.d.ts +32 -0
  426. package/lib/modules/dialog/hooks/useElectron.js +151 -0
  427. package/lib/modules/dialog/index.css +7 -4
  428. package/lib/modules/dialog/index.d.ts +3 -18
  429. package/lib/modules/dialog/index.js +9 -18
  430. package/lib/modules/dialog/store.d.ts +14 -48
  431. package/lib/modules/dialog/store.js +109 -258
  432. package/lib/modules/dialog/types/index.d.ts +59 -0
  433. package/lib/modules/dialog/view.js +2 -2
  434. package/lib/modules/event-confirm/index.css +12 -0
  435. package/lib/modules/event-confirm/index.d.ts +10 -0
  436. package/lib/modules/event-confirm/index.js +55 -0
  437. package/lib/modules/event-confirm/store.d.ts +18 -0
  438. package/lib/modules/event-confirm/store.js +172 -0
  439. package/lib/modules/event-confirm/view.d.ts +2 -0
  440. package/lib/modules/event-confirm/view.js +159 -0
  441. package/lib/modules/event-toast/index.css +16 -0
  442. package/lib/modules/event-toast/index.d.ts +1 -1
  443. package/lib/modules/event-toast/index.js +19 -3
  444. package/lib/modules/event-toast/store.d.ts +13 -0
  445. package/lib/modules/event-toast/store.js +114 -17
  446. package/lib/modules/event-toast/view.d.ts +4 -1
  447. package/lib/modules/event-toast/view.js +28 -4
  448. package/lib/modules/invite/index.d.ts +1 -1
  449. package/lib/modules/invite/index.js +13 -3
  450. package/lib/modules/invite/pstn-invite.js +6 -9
  451. package/lib/modules/invite/store.d.ts +24 -25
  452. package/lib/modules/invite/store.js +148 -147
  453. package/lib/modules/invite/view.d.ts +4 -0
  454. package/lib/modules/invite/view.js +18 -22
  455. package/lib/modules/invite/voip-invite.js +5 -6
  456. package/lib/modules/layout/components/Aside.js +14 -4
  457. package/lib/modules/layout/components/Carousel.js +16 -10
  458. package/lib/modules/layout/components/Gallery.js +25 -17
  459. package/lib/modules/layout/components/Layout.js +17 -9
  460. package/lib/modules/layout/components/index.css +17 -5
  461. package/lib/modules/layout/index.css +1 -0
  462. package/lib/modules/layout/index.d.ts +4 -2
  463. package/lib/modules/layout/index.dev.js +20 -10
  464. package/lib/modules/layout/index.js +26 -19
  465. package/lib/modules/layout/member-window/index.css +116 -18
  466. package/lib/modules/layout/member-window/index.d.ts +10 -3
  467. package/lib/modules/layout/member-window/index.js +218 -112
  468. package/lib/modules/layout/store.d.ts +21 -8
  469. package/lib/modules/layout/store.js +138 -72
  470. package/lib/modules/layout/type.d.ts +2 -2
  471. package/lib/modules/layout/video-window-datasource.d.ts +5 -3
  472. package/lib/modules/layout/video-window-datasource.js +72 -29
  473. package/lib/modules/live-streaming/index.d.ts +1 -2
  474. package/lib/modules/live-streaming/index.js +13 -29
  475. package/lib/modules/live-streaming/store.d.ts +3 -7
  476. package/lib/modules/live-streaming/store.js +7 -73
  477. package/lib/modules/live-streaming/view.js +3 -3
  478. package/lib/modules/notification/index.css +3 -1
  479. package/lib/modules/notification/index.js +13 -3
  480. package/lib/modules/notification/interpreter-status/index.css +5 -1
  481. package/lib/modules/notification/interpreter-status/index.js +4 -1
  482. package/lib/modules/notification/store.d.ts +1 -0
  483. package/lib/modules/notification/store.js +4 -2
  484. package/lib/modules/notification/view.js +2 -2
  485. package/lib/modules/offscreen-pulling/index.d.ts +19 -0
  486. package/lib/modules/offscreen-pulling/index.js +127 -0
  487. package/lib/modules/participant/attendee/index.css +4 -0
  488. package/lib/modules/participant/attendee/index.d.ts +14 -3
  489. package/lib/modules/participant/attendee/index.js +89 -34
  490. package/lib/modules/participant/attendee/participants-more-action.d.ts +18 -0
  491. package/lib/modules/participant/attendee/participants-more-action.js +278 -0
  492. package/lib/modules/participant/components/drop-menu/index.css +60 -0
  493. package/lib/modules/participant/components/drop-menu/index.d.ts +2 -0
  494. package/lib/modules/participant/components/drop-menu/index.js +189 -0
  495. package/lib/modules/participant/components/footer/buttons.d.ts +7 -0
  496. package/lib/modules/participant/components/footer/buttons.js +53 -0
  497. package/lib/modules/participant/components/footer/index.d.ts +4 -0
  498. package/lib/modules/participant/components/footer/index.js +37 -0
  499. package/lib/modules/participant/components/merge/index.d.ts +11 -0
  500. package/lib/modules/participant/components/merge/index.js +49 -0
  501. package/lib/modules/participant/components/mute-all/index.d.ts +9 -0
  502. package/lib/modules/participant/components/mute-all/index.js +78 -0
  503. package/lib/modules/participant/components/participants/index.d.ts +2 -0
  504. package/lib/modules/participant/components/participants/index.js +201 -0
  505. package/lib/modules/participant/components/rename/index.d.ts +4 -0
  506. package/lib/modules/participant/components/rename/index.js +45 -0
  507. package/lib/modules/participant/index.css +11 -0
  508. package/lib/modules/participant/index.d.ts +4 -17
  509. package/lib/modules/participant/index.dev.js +40 -23
  510. package/lib/modules/participant/index.js +13 -33
  511. package/lib/modules/participant/member-list-data-source.d.ts +1 -1
  512. package/lib/modules/participant/member-list-data-source.js +3 -3
  513. package/lib/modules/participant/store.d.ts +35 -37
  514. package/lib/modules/participant/store.js +456 -292
  515. package/lib/modules/participant/type.d.ts +1 -1
  516. package/lib/modules/participant/view.d.ts +0 -9
  517. package/lib/modules/participant/view.js +8 -346
  518. package/lib/modules/setting/audio-settings/audio-settings.js +23 -20
  519. package/lib/modules/setting/audio-settings/index.css +26 -1
  520. package/lib/modules/setting/dialog-wrapper.js +2 -2
  521. package/lib/modules/setting/general-settings/general-settings.js +2 -2
  522. package/lib/modules/setting/general-settings/index.css +1 -1
  523. package/lib/modules/setting/index.css +2 -1
  524. package/lib/modules/setting/index.d.ts +2 -14
  525. package/lib/modules/setting/index.dev.js +20 -11
  526. package/lib/modules/setting/index.js +7 -3
  527. package/lib/modules/setting/minutes-settings/minutes-settings.js +2 -2
  528. package/lib/modules/setting/state/index.js +3 -3
  529. package/lib/modules/setting/storage-settings/storage-settings.js +2 -2
  530. package/lib/modules/setting/store.d.ts +17 -27
  531. package/lib/modules/setting/store.js +129 -71
  532. package/lib/modules/setting/translate-settings/index.css +3 -1
  533. package/lib/modules/setting/translate-settings/translate-settings.js +2 -2
  534. package/lib/modules/setting/video-settings/index.css +5 -2
  535. package/lib/modules/setting/video-settings/video-settings-basic.js +2 -2
  536. package/lib/modules/setting/video-settings/video-settings.js +2 -11
  537. package/lib/modules/setting/view.js +1 -2
  538. package/lib/modules/share-screen/index.d.ts +1 -5
  539. package/lib/modules/share-screen/index.dev.js +23 -30
  540. package/lib/modules/share-screen/index.js +2 -99
  541. package/lib/modules/share-screen/selection/index.css +2 -0
  542. package/lib/modules/share-screen/selection/index.js +126 -129
  543. package/lib/modules/share-screen/share-state-bar/index.js +1 -1
  544. package/lib/modules/share-screen/store.d.ts +13 -47
  545. package/lib/modules/share-screen/store.js +450 -924
  546. package/lib/modules/share-screen/view.js +6 -19
  547. package/lib/modules/sound-effect/index.d.ts +43 -0
  548. package/lib/modules/sound-effect/index.js +294 -0
  549. package/lib/modules/sound-effect/sound-effect-player.d.ts +12 -0
  550. package/lib/modules/sound-effect/sound-effect-player.js +57 -0
  551. package/lib/modules/state-bar/index.css +16 -2
  552. package/lib/modules/state-bar/index.d.ts +3 -3
  553. package/lib/modules/state-bar/index.dev.js +1 -1
  554. package/lib/modules/state-bar/index.js +15 -28
  555. package/lib/modules/state-bar/layout-config.js +7 -8
  556. package/lib/modules/state-bar/live-streaming-state.js +10 -15
  557. package/lib/modules/state-bar/meeting-detail.css +32 -13
  558. package/lib/modules/state-bar/meeting-details.js +118 -58
  559. package/lib/modules/state-bar/meeting-network-state.css +1 -1
  560. package/lib/modules/state-bar/meeting-network-state.js +4 -4
  561. package/lib/modules/state-bar/meeting-time.js +2 -2
  562. package/lib/modules/state-bar/network-quality.js +2 -2
  563. package/lib/modules/state-bar/recording.js +9 -7
  564. package/lib/modules/state-bar/store.d.ts +9 -6
  565. package/lib/modules/state-bar/store.js +45 -41
  566. package/lib/modules/state-bar/view.js +42 -29
  567. package/lib/modules/video-window/deviceState/index.d.ts +2 -1
  568. package/lib/modules/video-window/deviceState/index.js +8 -8
  569. package/lib/modules/video-window/index.d.ts +4 -3
  570. package/lib/modules/video-window/index.js +23 -16
  571. package/lib/modules/video-window/members/index.js +14 -8
  572. package/lib/modules/video-window/speaking/index.js +2 -2
  573. package/lib/modules/video-window/store.d.ts +15 -6
  574. package/lib/modules/video-window/store.js +73 -20
  575. package/lib/modules/video-window/topControl/index.js +2 -2
  576. package/lib/modules/video-window/type.d.ts +0 -5
  577. package/lib/modules/video-window/type.js +1 -7
  578. package/lib/modules/video-window/view.js +2 -2
  579. package/lib/modules/waiting-room-layout/index.css +16 -4
  580. package/lib/modules/waiting-room-layout/index.d.ts +3 -1
  581. package/lib/modules/waiting-room-layout/index.js +22 -5
  582. package/lib/modules/waiting-room-layout/store.d.ts +5 -2
  583. package/lib/modules/waiting-room-layout/store.js +12 -5
  584. package/lib/modules/waiting-room-layout/view.js +43 -33
  585. package/lib/modules/whiteboard/app.js +2 -2
  586. package/lib/modules/whiteboard/components/control-bar/index.js +4 -6
  587. package/lib/modules/whiteboard/components/control-bar/store.d.ts +2 -2
  588. package/lib/modules/whiteboard/components/control-bar/store.js +1 -1
  589. package/lib/modules/whiteboard/components/loading/index.js +2 -2
  590. package/lib/modules/whiteboard/components/multi-window/index.js +2 -2
  591. package/lib/modules/whiteboard/components/progress/electron.js +3 -3
  592. package/lib/modules/whiteboard/components/switch-theme/index.css +1 -0
  593. package/lib/modules/whiteboard/components/switch-theme/index.js +19 -9
  594. package/lib/modules/whiteboard/components/toolbar/components/eraser-picker.js +1 -1
  595. package/lib/modules/whiteboard/components/toolbar/hooks/index.js +1 -1
  596. package/lib/modules/whiteboard/components/toolbar/store.d.ts +1 -1
  597. package/lib/modules/whiteboard/context.d.ts +1 -1
  598. package/lib/modules/whiteboard/context.js +2 -2
  599. package/lib/modules/whiteboard/index.d.ts +4 -20
  600. package/lib/modules/whiteboard/index.js +36 -79
  601. package/lib/modules/whiteboard/type.d.ts +1 -1
  602. package/lib/plugins/browser-runtime-plugin.js +24 -3
  603. package/lib/plugins/electron-rtc-plugin.js +3 -3
  604. package/lib/plugins/module-dev-plugin.d.ts +1 -1
  605. package/lib/plugins/module-dev-plugin.js +3 -3
  606. package/lib/plugins/rtm-plugin.js +3 -3
  607. package/lib/plugins/web-rtc-plugin.js +3 -3
  608. package/lib/providers/device-privilege-provider.d.ts +30 -0
  609. package/lib/providers/device-privilege-provider.js +386 -0
  610. package/lib/providers/device-provider.d.ts +246 -0
  611. package/lib/providers/device-provider.js +1741 -0
  612. package/lib/providers/device-stream-provider.d.ts +36 -0
  613. package/lib/providers/device-stream-provider.js +460 -0
  614. package/lib/providers/event-provider.d.ts +108 -0
  615. package/lib/providers/event-provider.js +288 -0
  616. package/lib/providers/interpreter-provider.d.ts +25 -0
  617. package/lib/providers/interpreter-provider.js +151 -0
  618. package/lib/providers/local-storage-provider.d.ts +8 -0
  619. package/lib/providers/local-storage-provider.js +31 -0
  620. package/lib/providers/monitor-provider.d.ts +15 -0
  621. package/lib/providers/monitor-provider.js +29 -0
  622. package/lib/providers/privilege-provider.d.ts +216 -0
  623. package/lib/providers/privilege-provider.js +966 -0
  624. package/lib/providers/renderer-provider.d.ts +43 -0
  625. package/lib/providers/renderer-provider.js +245 -0
  626. package/lib/providers/room-provider.d.ts +79 -0
  627. package/lib/providers/room-provider.js +439 -0
  628. package/lib/providers/session-provider.d.ts +26 -0
  629. package/lib/providers/session-provider.js +49 -0
  630. package/lib/runtime.d.ts +14 -4
  631. package/lib/scenes/base.d.ts +10 -0
  632. package/lib/scenes/base.js +75 -0
  633. package/lib/scenes/main-scene.d.ts +48 -0
  634. package/lib/scenes/main-scene.js +390 -0
  635. package/lib/scenes/waiting-scene.d.ts +31 -0
  636. package/lib/scenes/waiting-scene.js +129 -0
  637. package/lib/shared-data-source/config.d.ts +16 -0
  638. package/lib/shared-data-source/config.js +21 -0
  639. package/lib/translations/enUS.d.ts +267 -2
  640. package/lib/translations/enUS.js +373 -103
  641. package/lib/translations/zhCN.d.ts +267 -3
  642. package/lib/translations/zhCN.js +299 -30
  643. package/lib/type.d.ts +38 -4
  644. package/lib/type.js +4 -4
  645. package/lib/ui-manager.d.ts +11 -9
  646. package/lib/ui-manager.js +551 -683
  647. package/lib/ui-node.d.ts +25 -0
  648. package/lib/ui-node.js +156 -0
  649. package/lib/ui-scene.d.ts +3 -3
  650. package/lib/ui-scene.js +9 -22
  651. package/lib/utilities/constant.d.ts +45 -156
  652. package/lib/utilities/constant.js +43 -130
  653. package/lib/utilities/extract.d.ts +1 -1
  654. package/lib/utilities/parameters.d.ts +4 -0
  655. package/lib/utilities/parameters.js +19 -1
  656. package/lib/utilities/renderer.d.ts +2 -1
  657. package/lib/utilities/renderer.js +6 -3
  658. package/lib/utilities/screen-capture-permission.d.ts +1 -0
  659. package/lib/utilities/screen-capture-permission.js +16 -0
  660. package/lib/utilities/screen.js +32 -23
  661. package/lib/utilities/tools.d.ts +12 -1
  662. package/lib/utilities/tools.js +101 -4
  663. package/lib/utilities/ui-resources.d.ts +1 -0
  664. package/lib/utilities/ui-resources.js +5 -2
  665. package/lib/utilities/video-track-render-context.d.ts +2 -2
  666. package/package.json +14 -13
  667. package/public/assets/fcr_leave2.svg +58 -0
  668. package/public/assets/loading.gif +0 -0
  669. package/public/index.html +186 -10
  670. package/dist/electron/app.js +0 -148
  671. package/dist/electron/default-options.js +0 -25
  672. package/dist/electron/env.js +0 -13
  673. package/dist/electron/index.js +0 -20
  674. package/dist/electron/injections.js +0 -702
  675. package/dist/electron/logger.js +0 -66
  676. package/dist/electron/main.js +0 -67
  677. package/dist/electron/plugins/meeting-state.js +0 -39
  678. package/dist/electron/plugins/screenshot.js +0 -49
  679. package/dist/electron/preload.js +0 -36
  680. package/dist/electron/tools.js +0 -66
  681. package/dist/electron/window.js +0 -124
@@ -36,11 +36,11 @@ var _typeof = require("@babel/runtime/helpers/typeof");
36
36
  Object.defineProperty(exports, "__esModule", {
37
37
  value: true
38
38
  });
39
- exports["default"] = void 0;
40
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
39
+ exports["default"] = exports.StoreContext = void 0;
41
40
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
42
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
41
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
43
42
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
43
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
44
44
  require("core-js/modules/es.array.concat.js");
45
45
  require("core-js/modules/es.array.every.js");
46
46
  require("core-js/modules/es.array.filter.js");
@@ -51,9 +51,12 @@ require("core-js/modules/es.array.includes.js");
51
51
  require("core-js/modules/es.array.iterator.js");
52
52
  require("core-js/modules/es.array.map.js");
53
53
  require("core-js/modules/es.array.push.js");
54
+ require("core-js/modules/es.array.some.js");
55
+ require("core-js/modules/es.array.sort.js");
54
56
  require("core-js/modules/es.function.bind.js");
55
57
  require("core-js/modules/es.object.keys.js");
56
58
  require("core-js/modules/es.object.to-string.js");
59
+ require("core-js/modules/es.set.js");
57
60
  require("core-js/modules/es.string.includes.js");
58
61
  require("core-js/modules/es.string.iterator.js");
59
62
  require("core-js/modules/es.weak-map.js");
@@ -62,18 +65,43 @@ require("core-js/modules/esnext.async-iterator.filter.js");
62
65
  require("core-js/modules/esnext.async-iterator.find.js");
63
66
  require("core-js/modules/esnext.async-iterator.for-each.js");
64
67
  require("core-js/modules/esnext.async-iterator.map.js");
68
+ require("core-js/modules/esnext.async-iterator.some.js");
65
69
  require("core-js/modules/esnext.iterator.constructor.js");
66
70
  require("core-js/modules/esnext.iterator.every.js");
67
71
  require("core-js/modules/esnext.iterator.filter.js");
68
72
  require("core-js/modules/esnext.iterator.find.js");
69
73
  require("core-js/modules/esnext.iterator.for-each.js");
70
74
  require("core-js/modules/esnext.iterator.map.js");
75
+ require("core-js/modules/esnext.iterator.some.js");
76
+ require("core-js/modules/esnext.set.add-all.js");
77
+ require("core-js/modules/esnext.set.delete-all.js");
78
+ require("core-js/modules/esnext.set.difference.v2.js");
79
+ require("core-js/modules/esnext.set.difference.js");
80
+ require("core-js/modules/esnext.set.every.js");
81
+ require("core-js/modules/esnext.set.filter.js");
82
+ require("core-js/modules/esnext.set.find.js");
83
+ require("core-js/modules/esnext.set.intersection.v2.js");
84
+ require("core-js/modules/esnext.set.intersection.js");
85
+ require("core-js/modules/esnext.set.is-disjoint-from.v2.js");
86
+ require("core-js/modules/esnext.set.is-disjoint-from.js");
87
+ require("core-js/modules/esnext.set.is-subset-of.v2.js");
88
+ require("core-js/modules/esnext.set.is-subset-of.js");
89
+ require("core-js/modules/esnext.set.is-superset-of.v2.js");
90
+ require("core-js/modules/esnext.set.is-superset-of.js");
91
+ require("core-js/modules/esnext.set.join.js");
92
+ require("core-js/modules/esnext.set.map.js");
93
+ require("core-js/modules/esnext.set.reduce.js");
94
+ require("core-js/modules/esnext.set.some.js");
95
+ require("core-js/modules/esnext.set.symmetric-difference.v2.js");
96
+ require("core-js/modules/esnext.set.symmetric-difference.js");
97
+ require("core-js/modules/esnext.set.union.v2.js");
98
+ require("core-js/modules/esnext.set.union.js");
71
99
  require("core-js/modules/esnext.weak-map.delete-all.js");
72
100
  require("core-js/modules/esnext.weak-map.emplace.js");
73
101
  require("core-js/modules/web.dom-collections.for-each.js");
74
102
  require("core-js/modules/web.dom-collections.iterator.js");
75
103
  require("core-js/modules/web.timers.js");
76
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
104
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
77
105
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
78
106
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
79
107
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
@@ -82,20 +110,24 @@ var _i18n = require("agora-ui-foundation/lib/i18n");
82
110
  var _type = require("fcr-core/lib/type");
83
111
  var _uuid = require("uuid");
84
112
  var _eventStore = require("../../common/event-store");
85
- var _toast = require("agora-ui-foundation/lib/components/toast");
86
- var _dialogContent = require("../Interpreter/dialog-content");
113
+ var _dialogContent = require("./dialog-content");
87
114
  var _fcrCore = require("fcr-core");
88
115
  var _constant = require("../../utilities/constant");
89
116
  var _type2 = require("agora-rte-sdk/lib/core/scene/type");
90
117
  var _type3 = require("agora-rte-sdk/lib/core/rtc/type");
91
118
  var _type4 = require("agora-rte-sdk/lib/type");
92
- var _constant2 = require("./constant");
93
- var _switchOutputLanguageRoom = require("../action-bar/switch-output-language-room");
94
119
  var _logger = require("agora-foundation/lib/logger");
95
120
  var _store = require("../action-bar/store");
121
+ var _react = require("react");
122
+ var _useLanguageConfig = require("./interpreter-list/interpreter-item/components/pick-language/useLanguageConfig");
123
+ var _constant2 = require("../action-bar/trigger-output-language-room/constant");
124
+ var _type5 = require("./type");
125
+ var _utils = require("./utils");
96
126
  var _excluded = ["randomKey"];
97
127
  var _InterpreterStore;
98
- var _initProto, _init_isScroll, _init__languageRoomList, _init_localInterpreterUsers, _init_storeLocalUser, _init_interpreterUsersEditState, _init_initUsers, _getInitUsersDecs, _updateUsersDecs, _openInterpreterStateDecs, _closeInterpreterStateDecs, _setInterpreterListEditStateDecs, _addInterpreterUsersDecs, _deleteInterpreterUsersDecs, _updateInterpreterUsersDecs, _queryInterpreterUsersDecs, _updateInterpreterRoomStatusDecs, _restoreVolumeByMainRoomDecs, _updateCancelRoomLstStatusDecs, _changeMainRoomStreamDecs, _clonseInterpreterRoomInputDecs, _updatedInterpreterRoomStatusDecs, _updateLanguageRoomListDecs, _onStreamVolumeIndicationUpdatedDecs, _changeInputLanguageDecs, _changeOutputLanguageDecs, _bindLocalMicrophoneIdDecs, _joinInterpreterRoomDecs, _leaveInterpreterRoomDecs, _openInterpreterDialogDecs, _closeInterpreterDialogDecs, _setIsScrollDecs, _getLocalUserByInterpreterDecs, _checkIsSelfOperationDecs, _closeDialogDecs, _interpreterUsersUpdatedToastDecs, _interpreterStateUpdatedToastDecs, _openUpdateInterpreterStateToastDecs, _updateInterpreterUsersToastDecs, _openUpdateLanguageDialogDecs, _openCreateInterpreterStatusToastDecs, _openCancelInterpreterStatusToastDecs, _ref;
128
+ var _initProto, _init__isSpeaking, _init__languageRoomLisByStatus, _init_localInterpreterUsers, _init_orgInterpreterUsers, _init_interpreterUsersEditState, _init_initUsers, _init_interpreterState, _init_currentDialogId, _init_retryTaskTimeoutId, _init__language, _openInterpreterStateDecs, _closeInterpreterStateDecs, _setInterpreterListEditStateDecs, _addInterpreterUsersDecs, _deleteInterpreterUsersDecs, _updateInterpreterUsersDecs, _queryInterpreterUsersDecs, _setMainRoomStreamDecs, _setLanguageRoomJoinOrLeaveDecs, _updateInterpreterDecs, _resetInterpreterDecs, _setInputLanguageRoomDecs, _initLanguageRoomListByStatusDecs, _updateLanguageRoomListByStatusDecs, _updateUserPropertiesDecs, _updateStreamsDecs, _triggerLanguageRoomStreamDecs, _handleOutputLanguageRoomDecs, _triggerOutputLanguageDecs, _joinInterpreterRoomDecs, _leaveInterpreterRoomDecs, _bindLocalMicrophoneIdDecs, _getInterpreterStateDecs, _openInterpreterDialogDecs, _closeInterpreterDialogDecs, _getLocalUserByInterpreterDecs, _checkIsSelfOperationDecs, _interpreterUsersUpdatedToastDecs, _interpreterStateUpdatedToastDecs, _openUpdateInterpreterStateToastDecs, _updateInterpreterUsersToastDecs, _interpreterUsersJoinToastDecs, _closeConfirmDialogDecs, _openUpdateLanguageDialogDecs, _openCreateInterpreterStatusToastDecs, _openCancelInterpreterStatusToastDecs, _getInitUsersDecs, _updateUsersDecs, _clearTimerDecs, _clearRetryTaskTimerDecs, _restoreVolumeByMainRoomDecs, _adjustMainRoomVolumeDecs, _onStreamVolumeIndicationUpdatedDecs, _ref;
129
+ 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; }
130
+ 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; }
99
131
  function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
100
132
  function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
101
133
  function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
@@ -106,149 +138,152 @@ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol"
106
138
  function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
107
139
  function _setFunctionName(e, t, n) { "symbol" == _typeof(t) && (t = (t = t.description) ? "[" + t + "]" : ""); try { Object.defineProperty(e, "name", { configurable: !0, value: n ? n + " " + t : t }); } catch (e) {} return e; }
108
140
  function _checkInRHS(e) { if (Object(e) !== e) throw TypeError("right-hand side of 'in' should be an object, got " + (null !== e ? _typeof(e) : "null")); return e; }
109
- 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; }
110
- 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; }
111
- // 生成本地翻译员初始值
112
- var getInterpreterItem = function getInterpreterItem() {
113
- return _objectSpread(_objectSpread({}, _constant2.initInterpreterItemModel), {}, (0, _defineProperty2["default"])({}, _constant2.InterpreterItemType.KEY, (0, _uuid.v4)()));
114
- };
115
141
  var _A = /*#__PURE__*/new WeakMap();
116
142
  var _B = /*#__PURE__*/new WeakMap();
117
143
  var _C = /*#__PURE__*/new WeakMap();
118
144
  var _D = /*#__PURE__*/new WeakMap();
119
145
  var _E = /*#__PURE__*/new WeakMap();
120
146
  var _F = /*#__PURE__*/new WeakMap();
121
- _ref = (_getInitUsersDecs = [_mobx.action, _mobx.action.bound], _updateUsersDecs = [_mobx.action, _mobx.action.bound], _openInterpreterStateDecs = [_mobx.action, _mobx.action.bound], _closeInterpreterStateDecs = [_mobx.action, _mobx.action.bound], _setInterpreterListEditStateDecs = [_mobx.action, _mobx.action.bound], _addInterpreterUsersDecs = [_mobx.action, _mobx.action.bound], _deleteInterpreterUsersDecs = [_mobx.action, _mobx.action.bound], _updateInterpreterUsersDecs = [_mobx.action, _mobx.action.bound], _queryInterpreterUsersDecs = [_mobx.action, _mobx.action.bound], _updateInterpreterRoomStatusDecs = [_mobx.action, _mobx.action.bound], _restoreVolumeByMainRoomDecs = [_mobx.action, _mobx.action.bound], _updateCancelRoomLstStatusDecs = [_mobx.action, _mobx.action.bound], _changeMainRoomStreamDecs = [_mobx.action, _mobx.action.bound], _clonseInterpreterRoomInputDecs = [_mobx.action, _mobx.action.bound], _updatedInterpreterRoomStatusDecs = [_mobx.action, _mobx.action.bound], _updateLanguageRoomListDecs = [_mobx.action, _mobx.action.bound], _onStreamVolumeIndicationUpdatedDecs = [_mobx.action, _mobx.action.bound], _changeInputLanguageDecs = [_mobx.action, _mobx.action.bound], _changeOutputLanguageDecs = [_mobx.action, _mobx.action.bound], _bindLocalMicrophoneIdDecs = [_mobx.action, _mobx.action.bound], _joinInterpreterRoomDecs = [_mobx.action, _mobx.action.bound], _leaveInterpreterRoomDecs = [_mobx.action, _mobx.action.bound], _openInterpreterDialogDecs = [_mobx.action, _mobx.action.bound], _closeInterpreterDialogDecs = [_mobx.action, _mobx.action.bound], _setIsScrollDecs = [_mobx.action, _mobx.action.bound], _getLocalUserByInterpreterDecs = [_mobx.action, _mobx.action.bound], _checkIsSelfOperationDecs = [_mobx.action, _mobx.action.bound], _closeDialogDecs = [_mobx.action, _mobx.action.bound], _interpreterUsersUpdatedToastDecs = [_mobx.action, _mobx.action.bound], _interpreterStateUpdatedToastDecs = [_mobx.action, _mobx.action.bound], _openUpdateInterpreterStateToastDecs = [_mobx.action, _mobx.action.bound], _updateInterpreterUsersToastDecs = [_mobx.action, _mobx.action.bound], _openUpdateLanguageDialogDecs = [_mobx.action, _mobx.action.bound], _openCreateInterpreterStatusToastDecs = [_mobx.action, _mobx.action.bound], _openCancelInterpreterStatusToastDecs = [_mobx.action, _mobx.action.bound], "logger");
147
+ var _G = /*#__PURE__*/new WeakMap();
148
+ var _H = /*#__PURE__*/new WeakMap();
149
+ var _I = /*#__PURE__*/new WeakMap();
150
+ var _J = /*#__PURE__*/new WeakMap();
151
+ _ref = (_openInterpreterStateDecs = [_mobx.action, _mobx.action.bound], _closeInterpreterStateDecs = [_mobx.action, _mobx.action.bound], _setInterpreterListEditStateDecs = [_mobx.action, _mobx.action.bound], _addInterpreterUsersDecs = [_mobx.action, _mobx.action.bound], _deleteInterpreterUsersDecs = [_mobx.action, _mobx.action.bound], _updateInterpreterUsersDecs = [_mobx.action, _mobx.action.bound], _queryInterpreterUsersDecs = [_mobx.action, _mobx.action.bound], _setMainRoomStreamDecs = [_mobx.action, _mobx.action.bound], _setLanguageRoomJoinOrLeaveDecs = [_mobx.action, _mobx.action.bound], _updateInterpreterDecs = [_mobx.action, _mobx.action.bound], _resetInterpreterDecs = [_mobx.action, _mobx.action.bound], _setInputLanguageRoomDecs = [_mobx.action, _mobx.action.bound], _initLanguageRoomListByStatusDecs = [_mobx.action, _mobx.action.bound], _updateLanguageRoomListByStatusDecs = [_mobx.action, _mobx.action.bound], _updateUserPropertiesDecs = [_mobx.action, _mobx.action.bound], _updateStreamsDecs = [_mobx.action, _mobx.action.bound], _triggerLanguageRoomStreamDecs = [_mobx.action, _mobx.action.bound], _handleOutputLanguageRoomDecs = [_mobx.action, _mobx.action.bound], _triggerOutputLanguageDecs = [_mobx.action, _mobx.action.bound], _joinInterpreterRoomDecs = [_mobx.action, _mobx.action.bound], _leaveInterpreterRoomDecs = [_mobx.action, _mobx.action.bound], _bindLocalMicrophoneIdDecs = [_mobx.action, _mobx.action.bound], _getInterpreterStateDecs = [_mobx.action, _mobx.action.bound], _openInterpreterDialogDecs = [_mobx.action, _mobx.action.bound], _closeInterpreterDialogDecs = [_mobx.action, _mobx.action.bound], _getLocalUserByInterpreterDecs = [_mobx.action, _mobx.action.bound], _checkIsSelfOperationDecs = [_mobx.action, _mobx.action.bound], _interpreterUsersUpdatedToastDecs = [_mobx.action, _mobx.action.bound], _interpreterStateUpdatedToastDecs = [_mobx.action, _mobx.action.bound], _openUpdateInterpreterStateToastDecs = [_mobx.action, _mobx.action.bound], _updateInterpreterUsersToastDecs = [_mobx.action, _mobx.action.bound], _interpreterUsersJoinToastDecs = [_mobx.action, _mobx.action.bound], _closeConfirmDialogDecs = [_mobx.action, _mobx.action.bound], _openUpdateLanguageDialogDecs = [_mobx.action, _mobx.action.bound], _openCreateInterpreterStatusToastDecs = [_mobx.action, _mobx.action.bound], _openCancelInterpreterStatusToastDecs = [_mobx.action, _mobx.action.bound], _getInitUsersDecs = [_mobx.action, _mobx.action.bound], _updateUsersDecs = [_mobx.action, _mobx.action.bound], _clearTimerDecs = [_mobx.action, _mobx.action.bound], _clearRetryTaskTimerDecs = [_mobx.action, _mobx.action.bound], _restoreVolumeByMainRoomDecs = [_mobx.action, _mobx.action.bound], _adjustMainRoomVolumeDecs = [_mobx.action, _mobx.action.bound], _onStreamVolumeIndicationUpdatedDecs = [_mobx.action, _mobx.action.bound], "logger");
122
152
  var InterpreterStore = exports["default"] = /*#__PURE__*/function () {
123
153
  function InterpreterStore(_ref2) {
124
154
  var _this = this;
125
155
  var roomControl = _ref2.roomControl,
126
- interpreterControl = _ref2.interpreterControl,
127
156
  uiEventStore = _ref2.uiEventStore,
128
157
  deviceStore = _ref2.deviceStore,
129
158
  roomStore = _ref2.roomStore,
130
- deviceStreamStore = _ref2.deviceStreamStore;
159
+ deviceStreamStore = _ref2.deviceStreamStore,
160
+ securityStore = _ref2.securityStore;
131
161
  (0, _classCallCheck2["default"])(this, InterpreterStore);
132
162
  (0, _defineProperty2["default"])(this, _ref, (_initProto(this), (0, _logger.getLogger)()));
133
- (0, _defineProperty2["default"])(this, "_currentDialogId", '');
134
- _classPrivateFieldInitSpec(this, _A, _init_isScroll(this, false));
135
- // 同声传译列表是否滚动
136
- _classPrivateFieldInitSpec(this, _B, _init__languageRoomList(this));
163
+ (0, _defineProperty2["default"])(this, "_indicateTimerId", null);
164
+ (0, _defineProperty2["default"])(this, "_volumeTimerId", null);
165
+ (0, _defineProperty2["default"])(this, "_disposers", []);
166
+ (0, _defineProperty2["default"])(this, "_retryTask", {
167
+ timerId: null,
168
+ isAllowRetry: true
169
+ });
170
+ (0, _defineProperty2["default"])(this, "_confirmDialogs", new Set());
171
+ _classPrivateFieldInitSpec(this, _A, _init__isSpeaking(this, false));
172
+ _classPrivateFieldInitSpec(this, _B, _init__languageRoomLisByStatus(this, []));
137
173
  // 语言房间列表
138
174
  _classPrivateFieldInitSpec(this, _C, _init_localInterpreterUsers(this, []));
139
- // 本地翻同声传译列表
140
- _classPrivateFieldInitSpec(this, _D, _init_storeLocalUser(this));
141
- // 本地用户信息
175
+ // 本地同声传译列表
176
+ _classPrivateFieldInitSpec(this, _D, _init_orgInterpreterUsers(this, []));
177
+ // 服务端原始同声传译列表 作对比用
142
178
  _classPrivateFieldInitSpec(this, _E, _init_interpreterUsersEditState(this, false));
143
179
  // 同声传译列表-编辑状态
144
180
  _classPrivateFieldInitSpec(this, _F, _init_initUsers(this, []));
181
+ // 历史用户列表
182
+ _classPrivateFieldInitSpec(this, _G, _init_interpreterState(this));
183
+ _classPrivateFieldInitSpec(this, _H, _init_currentDialogId(this, null));
184
+ _classPrivateFieldInitSpec(this, _I, _init_retryTaskTimeoutId(this, null));
185
+ _classPrivateFieldInitSpec(this, _J, _init__language(this, null));
145
186
  this._mainRoomControl = roomControl;
146
- this._interpreterControl = interpreterControl;
187
+ this._interpreterControl = roomControl.getInterpreterControl();
147
188
  this._uiEventStore = uiEventStore;
148
189
  this._deviceStore = deviceStore;
149
190
  this._roomStore = roomStore;
150
191
  this._deviceStreamStore = deviceStreamStore;
151
- var _this$getLocalUserByI = this.getLocalUserByInterpreter(),
152
- localUser = _this$getLocalUserByI.localUser;
153
- this.storeLocalUser = localUser;
154
- this.getInitUsers(); // 初始化历史参会者列表
155
-
156
- this.queryInterpreterUsers(); // 查询同声传译列表
157
-
158
- this.updateLanguageRoomList(); // 初始化语言房间
159
-
160
- this.updatedInterpreterRoomStatus(); // 更新房间的状态
161
-
162
- var _this$getLocalUserByI2 = this.getLocalUserByInterpreter(),
163
- interpreter = _this$getLocalUserByI2.interpreter;
164
- if (this.interpreterState && interpreter) {
165
- this.changeMainRoomStream(this.interpreterState);
166
- }
192
+ this._securityStore = securityStore;
193
+ this._streamControl = this._mainRoomControl.getStreamControl();
194
+ this._userControl = this._mainRoomControl.getUserControl();
195
+ this._localUser = this._userControl.getLocalUser();
196
+ this.interpreterState = this.getInterpreterState();
197
+ this._getInitUsers(); // 初始化历史参会者列表
198
+ this._initLanguageRoomListByStatus(); // 初始化语言房间
199
+ this.interpreterUsersJoinToast();
167
200
  this._interpreterControl.addObserver({
168
- // 监听同声传译开启状态
169
- onInterpreterStateUpdated: function onInterpreterStateUpdated(roomId, state, operatorUser) {
170
- _this.interpreterStateUpdatedToast(roomId, state, operatorUser);
171
- _this.updatedInterpreterRoomStatus(); // 更新语言房间的状态 //关闭 语言房间音频流
172
- //关闭 主要房间输出音频流
173
- var _this$getLocalUserByI3 = _this.getLocalUserByInterpreter(),
174
- interpreter = _this$getLocalUserByI3.interpreter;
175
- if (state.enable && interpreter) {
176
- _this.changeMainRoomStream(state.enable);
177
- }
201
+ onInterpreterStateUpdated: function onInterpreterStateUpdated() {
202
+ _this._initLanguageRoomListByStatus();
203
+ _this.interpreterStateUpdatedToast.apply(_this, arguments);
204
+ _this.interpreterState = _this.getInterpreterState();
205
+ _this.queryInterpreterUsers(); // 查询同声传译列表
178
206
  },
179
- // 监听同声传译列表更新
180
207
  onInterpreterUsersUpdated: function onInterpreterUsersUpdated(roomId, users, operatorUser) {
181
208
  _this.interpreterUsersUpdatedToast(roomId, users, operatorUser);
182
209
  _this.queryInterpreterUsers(); // 查询同声传译列表
210
+ _this.interpreterUsersEditState = false;
183
211
  },
184
- onInterpreterRoomListUpdated: function onInterpreterRoomListUpdated(roomId, rooms, operatorUser) {
185
- _this.updateCancelRoomLstStatus(); //
186
- _this.updateLanguageRoomList(); // 初始化语言房间
187
- _this.updatedInterpreterRoomStatus(); // 更新语言房间的状态
212
+ onInterpreterRoomListUpdated: function onInterpreterRoomListUpdated() {
213
+ _this._initLanguageRoomListByStatus();
188
214
  }
189
215
  });
190
-
191
216
  // 监听参会者人员变化
192
- this._mainRoomControl.getUserControl().addObserver({
217
+ this._userControl.addObserver({
193
218
  //成员加入
194
219
  onRemoteUsersJoined: function onRemoteUsersJoined(roomId, events) {
195
- _this.updateUsers({
220
+ _this._updateUsers({
196
221
  roomId: roomId,
197
222
  events: events
198
- }, _constant2.UpdateType.JOIN);
223
+ }, _type5.UpdateType.JOIN);
199
224
  },
200
225
  //成员离开
201
226
  onRemoteUsersLeft: function onRemoteUsersLeft(roomId, events) {
202
- _this.updateUsers({
227
+ _this._updateUsers({
203
228
  roomId: roomId,
204
229
  events: events
205
- }, _constant2.UpdateType.LEFT);
230
+ }, _type5.UpdateType.LEFT);
206
231
  },
207
232
  onUserInfoUpdated: function onUserInfoUpdated(roomId, event) {
208
- //被取消支持人 取消
209
- var _this$getLocalUserByI4 = _this.getLocalUserByInterpreter(),
210
- localUser = _this$getLocalUserByI4.localUser;
211
- if (event.modifiedUser.userId === localUser.userId) {
212
- if (_this.storeLocalUser.userRole === _type.FcrUserRole.HOST && event.modifiedUser.userRole !== _type.FcrUserRole.HOST) {
213
- _this.changeOutputLanguage({
214
- language: _switchOutputLanguageRoom.CLOSE_ALL_LANGUAGE_ROOM
215
- });
216
- }
217
- _this.storeLocalUser = localUser;
218
- }
233
+ _this._updateUsers({
234
+ roomId: roomId,
235
+ events: [event]
236
+ });
219
237
  }
220
238
  });
221
239
  this._uiEventStore.addObserver({
222
- onEvent: this._uiEvents.bind(this)
240
+ onEvent: this._handleUiEvents.bind(this)
223
241
  });
224
242
  this._deviceStore.addObserver({
225
- onMicrophoneChanged: function onMicrophoneChanged() {
243
+ onMicrophoneChanged: function onMicrophoneChanged(microphoneId) {
226
244
  var _this$_languageRoomLi;
227
- (_this$_languageRoomLi = _this._languageRoomList) === null || _this$_languageRoomLi === void 0 || _this$_languageRoomLi.forEach(function (room) {
228
- if (room.status === _constant2.UpdateType.JOIN) {
229
- _this.bindLocalMicrophoneId(room);
245
+ (_this$_languageRoomLi = _this._languageRoomLisByStatus) === null || _this$_languageRoomLi === void 0 || _this$_languageRoomLi.forEach(function (room) {
246
+ if (room.status === _type5.UpdateType.JOIN) {
247
+ _this.bindLocalMicrophoneId(room, microphoneId);
230
248
  }
231
249
  });
232
250
  }
233
251
  });
234
- }
252
+ this._disposers.push((0, _mobx.reaction)(function () {
253
+ return _this._isSpeaking;
254
+ }, function (speaking) {
255
+ _this._adjustMainRoomVolume(speaking);
256
+ }, {
257
+ delay: 500
258
+ }), (0, _mobx.reaction)(function () {
259
+ return _this._deviceStore.microphoneEnabled;
260
+ }, /*#__PURE__*/function () {
261
+ var _ref3 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee(microphoneEnabled) {
262
+ return _regenerator["default"].wrap(function _callee$(_context) {
263
+ while (1) switch (_context.prev = _context.next) {
264
+ case 0:
265
+ if (!_this._language) {
266
+ _context.next = 3;
267
+ break;
268
+ }
269
+ _context.next = 3;
270
+ return _this._updateStreams(_this._language, microphoneEnabled);
271
+ case 3:
272
+ case "end":
273
+ return _context.stop();
274
+ }
275
+ }, _callee);
276
+ }));
277
+ return function (_x) {
278
+ return _ref3.apply(this, arguments);
279
+ };
280
+ }()));
235
281
 
236
- // 历史参会者列表------------------------------------
282
+ // @ts-ignore
283
+ window._interpreterStore = this;
284
+ }
237
285
  return (0, _createClass2["default"])(InterpreterStore, [{
238
- key: "_uiEvents",
239
- value: function _uiEvents(action, payload) {
240
- if (action === _constant.UIAction.CHANGE_INTERPRETER_INPUT_LANGUE) {
241
- this.changeInputLanguage(payload);
242
- }
243
- if (action === _constant.UIAction.CHANGE_INTERPRETER_OUTPUT_LANGUE) {
244
- this.changeOutputLanguage(payload);
245
- }
246
- if (action === _constant.UIAction.OPEN_INTERPRETER_DIALOG) {
247
- this.openInterpreterDialog();
248
- }
249
- }
250
- }, {
251
- key: "isScroll",
286
+ key: "_isSpeaking",
252
287
  get: function get() {
253
288
  return _classPrivateFieldGet(_A, this);
254
289
  },
@@ -256,7 +291,7 @@ var InterpreterStore = exports["default"] = /*#__PURE__*/function () {
256
291
  _classPrivateFieldSet(_A, this, v);
257
292
  }
258
293
  }, {
259
- key: "_languageRoomList",
294
+ key: "_languageRoomLisByStatus",
260
295
  get: function get() {
261
296
  return _classPrivateFieldGet(_B, this);
262
297
  },
@@ -272,7 +307,7 @@ var InterpreterStore = exports["default"] = /*#__PURE__*/function () {
272
307
  _classPrivateFieldSet(_C, this, v);
273
308
  }
274
309
  }, {
275
- key: "storeLocalUser",
310
+ key: "orgInterpreterUsers",
276
311
  get: function get() {
277
312
  return _classPrivateFieldGet(_D, this);
278
313
  },
@@ -289,9 +324,7 @@ var InterpreterStore = exports["default"] = /*#__PURE__*/function () {
289
324
  }
290
325
  }, {
291
326
  key: "initUsers",
292
- get: // 历史用户列表
293
- // 同声传译-是否开启
294
- function get() {
327
+ get: function get() {
295
328
  return _classPrivateFieldGet(_F, this);
296
329
  },
297
330
  set: function set(v) {
@@ -300,22 +333,53 @@ var InterpreterStore = exports["default"] = /*#__PURE__*/function () {
300
333
  }, {
301
334
  key: "interpreterState",
302
335
  get: function get() {
303
- return this._interpreterControl.getState().enable;
336
+ return _classPrivateFieldGet(_G, this);
337
+ },
338
+ set: function set(v) {
339
+ _classPrivateFieldSet(_G, this, v);
340
+ }
341
+ }, {
342
+ key: "currentDialogId",
343
+ get: function get() {
344
+ return _classPrivateFieldGet(_H, this);
345
+ },
346
+ set: function set(v) {
347
+ _classPrivateFieldSet(_H, this, v);
348
+ }
349
+ }, {
350
+ key: "retryTaskTimeoutId",
351
+ get: function get() {
352
+ return _classPrivateFieldGet(_I, this);
353
+ },
354
+ set: function set(v) {
355
+ _classPrivateFieldSet(_I, this, v);
356
+ }
357
+ }, {
358
+ key: "_language",
359
+ get: function get() {
360
+ return _classPrivateFieldGet(_J, this);
361
+ },
362
+ set: function set(v) {
363
+ _classPrivateFieldSet(_J, this, v);
364
+ }
365
+ }, {
366
+ key: "hasEnableInterpreterPermission",
367
+ get: function get() {
368
+ return this._securityStore.hasEnableInterpreterPermission();
304
369
  }
305
370
 
306
371
  // 同声传译列表-表单校验是否通过
307
372
  }, {
308
373
  key: "interpreterUsersCheckPass",
309
374
  get: function get() {
310
- var hasNonNullValuesExcludingKey = this.localInterpreterUsers.every(function (obj) {
311
- var remainingKeys = Object.keys(obj).filter(function (key) {
312
- return key !== _constant2.InterpreterItemType.KEY;
313
- });
375
+ var remainingKeys = Object.keys(_type5.initInterpreterItemModel).filter(function (key) {
376
+ return key !== 'randomKey';
377
+ });
378
+ return this.localInterpreterUsers.every(function (obj) {
314
379
  return remainingKeys.every(function (key) {
315
380
  return obj[key] !== null && obj[key] !== undefined && obj[key] !== '';
316
381
  });
317
382
  });
318
- return hasNonNullValuesExcludingKey;
319
383
  }
320
384
 
321
385
  // 同声传译列表-翻译官是否全部离线
@@ -323,13 +387,12 @@ var InterpreterStore = exports["default"] = /*#__PURE__*/function () {
323
387
  key: "interpreterUsersAllOffLine",
324
388
  get: function get() {
325
389
  var _this2 = this;
326
- var isAllOffLine = this.localInterpreterUsers.every(function (ele) {
390
+ return this.localInterpreterUsers.every(function (ele) {
327
391
  var _this2$initUsers$find;
328
392
  return (_this2$initUsers$find = _this2.initUsers.find(function (item) {
329
393
  return item.userId === ele.userId;
330
394
  })) === null || _this2$initUsers$find === void 0 ? void 0 : _this2$initUsers$find.isOffLine;
331
395
  });
332
- return isAllOffLine;
333
396
  }
334
397
 
335
398
  // 语言列表
@@ -338,44 +401,6 @@ var InterpreterStore = exports["default"] = /*#__PURE__*/function () {
338
401
  get: function get() {
339
402
  return this._interpreterControl.getInterpreterLanguageList();
340
403
  }
341
- }, {
342
- key: "getInitUsers",
343
- value: function
344
- // 初始化历史参会者列表
345
- getInitUsers() {
346
- this.initUsers = (0, _toConsumableArray2["default"])(this._mainRoomControl.getUserControl().getUserList()).map(function (ele) {
347
- return _objectSpread(_objectSpread({}, ele), {}, {
348
- isOffLine: false
349
- });
350
- });
351
- }
352
- }, {
353
- key: "updateUsers",
354
- value: function
355
- // 更新历史参会者列表
356
- updateUsers(_ref3, type) {
357
- var roomId = _ref3.roomId,
358
- events = _ref3.events;
359
- var list = (0, _toConsumableArray2["default"])(this.initUsers);
360
- events.forEach(function (ele) {
361
- var modifiedUser = ele.modifiedUser;
362
- var index = list.findIndex(function (item) {
363
- return item.userId === modifiedUser.userId;
364
- });
365
- if (index > -1) {
366
- if (list[index]) {
367
- list[index].isOffLine = _constant2.UpdateType.LEFT !== type;
368
- }
369
- } else {
370
- list.push(_objectSpread(_objectSpread({}, modifiedUser), {}, {
371
- isOffLine: _constant2.UpdateType.LEFT === type
372
- }));
373
- }
374
- });
375
- this.initUsers = list;
376
- }
377
-
378
- // 同声传译——开关------------------------------------
379
404
  }, {
380
405
  key: "openInterpreterState",
381
406
  value: function
@@ -397,8 +422,6 @@ var InterpreterStore = exports["default"] = /*#__PURE__*/function () {
397
422
  this._interpreterControl.close();
398
423
  this.closeInterpreterDialog();
399
424
  }
400
-
401
- // 同声传译——列表------------------------------------
402
425
  }, {
403
426
  key: "setInterpreterListEditState",
404
427
  value: function
@@ -411,7 +434,7 @@ var InterpreterStore = exports["default"] = /*#__PURE__*/function () {
411
434
  value: function
412
435
  //传译列表-增加
413
436
  addInterpreterUsers() {
414
- this.localInterpreterUsers = [].concat((0, _toConsumableArray2["default"])(this.localInterpreterUsers), [getInterpreterItem()]);
437
+ this.localInterpreterUsers = [].concat((0, _toConsumableArray2["default"])(this.localInterpreterUsers), [(0, _utils.getInterpreterItem)()]);
415
438
  }
416
439
  }, {
417
440
  key: "deleteInterpreterUsers",
@@ -419,7 +442,7 @@ var InterpreterStore = exports["default"] = /*#__PURE__*/function () {
419
442
  //传译列表-删除
420
443
  deleteInterpreterUsers(data) {
421
444
  this.localInterpreterUsers = this.localInterpreterUsers.filter(function (ele) {
422
- return ele[_constant2.InterpreterItemType.KEY] !== data[_constant2.InterpreterItemType.KEY];
445
+ return ele.randomKey !== data.randomKey;
423
446
  });
424
447
  }
425
448
  }, {
@@ -428,7 +451,7 @@ var InterpreterStore = exports["default"] = /*#__PURE__*/function () {
428
451
  //传译列表-更新
429
452
  updateInterpreterUsers(data) {
430
453
  var index = this.localInterpreterUsers.findIndex(function (ele) {
431
- return ele[_constant2.InterpreterItemType.KEY] === data[_constant2.InterpreterItemType.KEY];
454
+ return ele.randomKey === data.randomKey;
432
455
  });
433
456
  var updateInterpreterListModel = (0, _toConsumableArray2["default"])(this.localInterpreterUsers);
434
457
  if (index > -1) {
@@ -444,651 +467,616 @@ var InterpreterStore = exports["default"] = /*#__PURE__*/function () {
444
467
  //传译列表-查询
445
468
  queryInterpreterUsers() {
446
469
  var _this$_interpreterCon;
447
- var interpreterUsers = ((_this$_interpreterCon = this._interpreterControl) === null || _this$_interpreterCon === void 0 || (_this$_interpreterCon = _this$_interpreterCon.getInterpreterUserList()) === null || _this$_interpreterCon === void 0 ? void 0 : _this$_interpreterCon.map(function (ele) {
448
- return _objectSpread(_objectSpread({}, ele), {}, (0, _defineProperty2["default"])({}, _constant2.InterpreterItemType.KEY, (0, _uuid.v4)()));
470
+ var interpreterUsers = ((_this$_interpreterCon = this._interpreterControl.getInterpreterUserList()) === null || _this$_interpreterCon === void 0 ? void 0 : _this$_interpreterCon.map(function (ele) {
471
+ return _objectSpread(_objectSpread({}, ele), {}, {
472
+ randomKey: (0, _uuid.v4)()
473
+ });
449
474
  })) || [];
450
- this.localInterpreterUsers = interpreterUsers.length > 0 ? interpreterUsers : [getInterpreterItem()];
475
+ this.orgInterpreterUsers = interpreterUsers;
476
+ this.localInterpreterUsers = interpreterUsers.length > 0 ? interpreterUsers : [(0, _utils.getInterpreterItem)()];
451
477
  }
452
- // 同声传译——列表------------------------------------end
453
478
 
454
- // 同步更改的后的语言房间状态
479
+ // 切换主房间音频流
455
480
  }, {
456
- key: "updateInterpreterRoomStatus",
481
+ key: "_setMainRoomStream",
457
482
  value: function () {
458
- var _updateInterpreterRoomStatus = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee(executeRoomList) {
459
- var _this$_languageRoomLi2;
460
- return _regenerator["default"].wrap(function _callee$(_context) {
461
- while (1) switch (_context.prev = _context.next) {
462
- case 0:
463
- this._languageRoomList = (_this$_languageRoomLi2 = this._languageRoomList) === null || _this$_languageRoomLi2 === void 0 ? void 0 : _this$_languageRoomLi2.map(function (ele) {
464
- var executeRoom = executeRoomList.find(function (item) {
465
- return item.language === ele.language;
466
- }) || {};
467
- return _objectSpread(_objectSpread({}, ele), executeRoom);
468
- });
469
- case 1:
470
- case "end":
471
- return _context.stop();
472
- }
473
- }, _callee, this);
474
- }));
475
- function updateInterpreterRoomStatus(_x) {
476
- return _updateInterpreterRoomStatus.apply(this, arguments);
477
- }
478
- return updateInterpreterRoomStatus;
479
- }()
480
- }, {
481
- key: "restoreVolumeByMainRoom",
482
- value: function restoreVolumeByMainRoom(roomId, intervalId) {
483
- var _this3 = this;
484
- intervalId = setInterval(function () {
485
- var mainRoomVolume = _this3._deviceStore.microphoneVolumeLevel;
486
- if (mainRoomVolume >= 100) {
487
- if (intervalId) {
488
- clearInterval(intervalId);
489
- }
490
- return;
491
- }
492
- _this3._mainRoomControl.getStreamControl().adjustRemoteAudioStreamVolume(roomId, mainRoomVolume + 1 >= 100 ? 100 : mainRoomVolume + 1);
493
- }, 100);
494
- }
495
-
496
- // 更新翻译官已经取消的语言房间状态
497
- }, {
498
- key: "updateCancelRoomLstStatus",
499
- value: function () {
500
- var _updateCancelRoomLstStatus = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2() {
501
- var _this4 = this;
502
- var orgLanguageRoomList, cancelRoomLst;
483
+ var _setMainRoomStream2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2(_ref4) {
484
+ var _this3 = this;
485
+ var close, localStreamList, micStreams, streamId, streamsConfig;
503
486
  return _regenerator["default"].wrap(function _callee2$(_context2) {
504
487
  while (1) switch (_context2.prev = _context2.next) {
505
488
  case 0:
506
- orgLanguageRoomList = (0, _toConsumableArray2["default"])(this._languageRoomList || []);
507
- cancelRoomLst = orgLanguageRoomList.filter(function (ele) {
508
- var _this4$_languageRoomL;
509
- return !((_this4$_languageRoomL = _this4._languageRoomList) !== null && _this4$_languageRoomL !== void 0 && _this4$_languageRoomL.find(function (item) {
510
- return item.language === ele.language;
511
- }));
489
+ close = _ref4.close;
490
+ localStreamList = this._streamControl.getStreamsByUserId(this._localUser.userId);
491
+ micStreams = localStreamList.filter(function (ele) {
492
+ return ele.audioSourceType === _type4.AgoraRteAudioSourceType.MICROPHONE;
512
493
  });
513
- this.leaveInterpreterRoom(cancelRoomLst, false);
514
- case 3:
494
+ streamId = !!micStreams.length ? micStreams[0].streamId : null;
495
+ if (!streamId) {
496
+ _context2.next = 8;
497
+ break;
498
+ }
499
+ streamsConfig = (0, _defineProperty2["default"])({}, streamId, {
500
+ audioPrivilege: close ? _fcrCore.FcrStreamPrivilegeOperation.NOPRIVILEGE : _fcrCore.FcrStreamPrivilegeOperation.HAS_PRIVILEGE,
501
+ videoPrivilege: _fcrCore.FcrStreamPrivilegeOperation.NOOPERATION
502
+ });
503
+ _context2.next = 8;
504
+ return (0, _utils.retryTask)(function () {
505
+ return _this3._streamControl.updatePublishPrivilegeOfStreams(streamsConfig);
506
+ }, this._retryTask);
507
+ case 8:
508
+ this.logger.info("interpreterLog- ".concat(close ? 'OFF' : 'ON', " mainRoom input streamsId ").concat(streamId));
509
+ case 9:
515
510
  case "end":
516
511
  return _context2.stop();
517
512
  }
518
513
  }, _callee2, this);
519
514
  }));
520
- function updateCancelRoomLstStatus() {
521
- return _updateCancelRoomLstStatus.apply(this, arguments);
515
+ function _setMainRoomStream(_x2) {
516
+ return _setMainRoomStream2.apply(this, arguments);
522
517
  }
523
- return updateCancelRoomLstStatus;
524
- }() // #region checked
525
- // 控制主房间说话
518
+ return _setMainRoomStream;
519
+ }() // 切换翻译官语言房间状态(加入或离开)
526
520
  }, {
527
- key: "changeMainRoomStream",
521
+ key: "_setLanguageRoomJoinOrLeave",
528
522
  value: function () {
529
- var _changeMainRoomStream = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee3(closeOrgSound) {
530
- var localStreamList, micStreams;
523
+ var _setLanguageRoomJoinOrLeave2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee3(_ref5) {
524
+ var languageRoomList, actionType, executeRoomList;
531
525
  return _regenerator["default"].wrap(function _callee3$(_context3) {
532
526
  while (1) switch (_context3.prev = _context3.next) {
533
527
  case 0:
534
- if (!this._mainRoomControl.getStreamControl()) {
535
- _context3.next = 7;
536
- break;
537
- }
538
- localStreamList = this._mainRoomControl.getStreamControl().getStreamsByUserId(this._mainRoomControl.getUserControl().getLocalUser().userId);
539
- micStreams = localStreamList.filter(function (ele) {
540
- return ele.audioSourceType === _type4.AgoraRteAudioSourceType.MICROPHONE;
528
+ languageRoomList = _ref5.languageRoomList, actionType = _ref5.actionType;
529
+ // 将需要切换的房间 映射成 携带关联状态的房间
530
+ executeRoomList = this._languageRoomLisByStatus.filter(function (_languageRoom) {
531
+ return languageRoomList.some(function (languageRoom) {
532
+ return languageRoom.value === _languageRoom.language;
533
+ });
541
534
  });
542
- if (!micStreams.length) {
535
+ if (!(actionType === _type5.UpdateType.JOIN)) {
543
536
  _context3.next = 7;
544
537
  break;
545
538
  }
546
- _context3.next = 6;
547
- return this._mainRoomControl.getStreamControl().updatePublishPrivilegeOfStreams((0, _defineProperty2["default"])({}, micStreams[0].streamId, {
548
- audioPrivilege: closeOrgSound ? _fcrCore.FcrStreamPrivilegeOperation.NOPRIVILEGE : _fcrCore.FcrStreamPrivilegeOperation.HAS_PRIVILEGE,
549
- videoPrivilege: _fcrCore.FcrStreamPrivilegeOperation.NOOPERATION
550
- }));
551
- case 6:
552
- this.logger.info("[interpreterLog-changeMainRoomStream] \u4E3B\u623F\u95F4-\u8F93\u51FA", (0, _defineProperty2["default"])({}, micStreams[0].streamId, {
553
- audioPrivilege: closeOrgSound ? _fcrCore.FcrStreamPrivilegeOperation.NOPRIVILEGE : _fcrCore.FcrStreamPrivilegeOperation.HAS_PRIVILEGE,
554
- videoPrivilege: _fcrCore.FcrStreamPrivilegeOperation.NOOPERATION
555
- }));
539
+ _context3.next = 5;
540
+ return this.joinInterpreterRoom(executeRoomList);
541
+ case 5:
542
+ _context3.next = 9;
543
+ break;
556
544
  case 7:
545
+ _context3.next = 9;
546
+ return this.leaveInterpreterRoom(executeRoomList);
547
+ case 9:
557
548
  case "end":
558
549
  return _context3.stop();
559
550
  }
560
551
  }, _callee3, this);
561
552
  }));
562
- function changeMainRoomStream(_x2) {
563
- return _changeMainRoomStream.apply(this, arguments);
553
+ function _setLanguageRoomJoinOrLeave(_x3) {
554
+ return _setLanguageRoomJoinOrLeave2.apply(this, arguments);
564
555
  }
565
- return changeMainRoomStream;
566
- }()
556
+ return _setLanguageRoomJoinOrLeave;
557
+ }() // 开启了同声传译 或者 翻译官的语音发生了变化
567
558
  }, {
568
- key: "clonseInterpreterRoomInput",
559
+ key: "_updateInterpreter",
569
560
  value: function () {
570
- var _clonseInterpreterRoomInput = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee4(executeRoomList) {
571
- var index, element;
561
+ var _updateInterpreter2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee4(_ref6) {
562
+ var callback, leftRoomList, joinRoomList, language;
572
563
  return _regenerator["default"].wrap(function _callee4$(_context4) {
573
564
  while (1) switch (_context4.prev = _context4.next) {
574
565
  case 0:
575
- index = 0;
576
- case 1:
577
- if (!(index < executeRoomList.length)) {
578
- _context4.next = 10;
579
- break;
580
- }
581
- element = executeRoomList[index];
566
+ callback = _ref6.callback, leftRoomList = _ref6.leftRoomList, joinRoomList = _ref6.joinRoomList, language = _ref6.language;
567
+ _context4.next = 3;
568
+ return this._setMainRoomStream({
569
+ close: true
570
+ });
571
+ case 3:
582
572
  _context4.next = 5;
583
- return this._deviceStreamStore.updateStreams(element.control, false);
584
- case 5:
585
- this._uiEventStore.sendEvent(_constant.UIAction.TOGGLE_INTERPRETER_REMOTE_AUDIO, {
586
- roomControl: element.control,
587
- event: _store.EventType.STOP
573
+ return this._setLanguageRoomJoinOrLeave({
574
+ actionType: _type5.UpdateType.LEFT,
575
+ languageRoomList: leftRoomList
588
576
  });
589
- this.logger.info("[interpreterLog-clonseInterpreterRoomInput] \u7FFB\u8BD1\u5B98\u505C\u6B62\u6536\u542C\u539F\u8BED\u8A00\u623F\u95F4-orgRoomControl", {
590
- roomControl: element.control,
591
- event: _store.EventType.STOP
577
+ case 5:
578
+ _context4.next = 7;
579
+ return this._setLanguageRoomJoinOrLeave({
580
+ actionType: _type5.UpdateType.JOIN,
581
+ languageRoomList: joinRoomList
592
582
  });
593
583
  case 7:
594
- index++;
595
- _context4.next = 1;
596
- break;
584
+ _context4.next = 9;
585
+ return this._triggerLanguageRoomStream({
586
+ language: language
587
+ });
588
+ case 9:
589
+ callback && callback();
597
590
  case 10:
598
591
  case "end":
599
592
  return _context4.stop();
600
593
  }
601
594
  }, _callee4, this);
602
595
  }));
603
- function clonseInterpreterRoomInput(_x3) {
604
- return _clonseInterpreterRoomInput.apply(this, arguments);
596
+ function _updateInterpreter(_x4) {
597
+ return _updateInterpreter2.apply(this, arguments);
605
598
  }
606
- return clonseInterpreterRoomInput;
607
- }() // 更新翻译官语言房间状态
599
+ return _updateInterpreter;
600
+ }() //同声传译关闭 或者 翻译官身份被取消
608
601
  }, {
609
- key: "updatedInterpreterRoomStatus",
602
+ key: "_resetInterpreter",
610
603
  value: function () {
611
- var _updatedInterpreterRoomStatus = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee5() {
612
- var interpreterState, _this$getLocalUserByI5, interpreter, executeRoomList, targetLanguage, sourceLanguage, targetRoom, sourceRoom;
604
+ var _resetInterpreter2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee5(_ref7) {
605
+ var languageRoomList;
613
606
  return _regenerator["default"].wrap(function _callee5$(_context5) {
614
607
  while (1) switch (_context5.prev = _context5.next) {
615
608
  case 0:
616
- interpreterState = this._interpreterControl.getState().enable;
617
- _this$getLocalUserByI5 = this.getLocalUserByInterpreter(), interpreter = _this$getLocalUserByI5.interpreter;
618
- executeRoomList = [];
619
- if (interpreter && this._languageRoomList) {
620
- targetLanguage = interpreter.targetLanguage, sourceLanguage = interpreter.sourceLanguage;
621
- targetRoom = this._languageRoomList.find(function (ele) {
622
- return ele.language === targetLanguage;
623
- }); //输出语言关联 roomId
624
- sourceRoom = this._languageRoomList.find(function (ele) {
625
- return ele.language === sourceLanguage;
626
- }); //输入语言关联 roomId
627
- if (targetRoom) {
628
- executeRoomList.push(targetRoom);
629
- }
630
- if (sourceRoom) {
631
- executeRoomList.push(sourceRoom);
632
- }
633
- }
634
- if (!interpreterState) {
635
- _context5.next = 10;
636
- break;
637
- }
638
- _context5.next = 7;
639
- return this.joinInterpreterRoom(executeRoomList);
640
- case 7:
641
- // 关闭 语言房间的输出流 和输入订阅
642
- this.clonseInterpreterRoomInput(executeRoomList);
643
- _context5.next = 12;
644
- break;
645
- case 10:
646
- _context5.next = 12;
647
- return this.leaveInterpreterRoom(executeRoomList);
648
- case 12:
609
+ languageRoomList = _ref7.languageRoomList;
610
+ _context5.next = 3;
611
+ return this._setMainRoomStream({
612
+ close: false
613
+ });
614
+ case 3:
615
+ _context5.next = 5;
616
+ return this._setLanguageRoomJoinOrLeave({
617
+ actionType: _type5.UpdateType.LEFT,
618
+ languageRoomList: languageRoomList
619
+ });
620
+ case 5:
649
621
  case "end":
650
622
  return _context5.stop();
651
623
  }
652
624
  }, _callee5, this);
653
625
  }));
654
- function updatedInterpreterRoomStatus() {
655
- return _updatedInterpreterRoomStatus.apply(this, arguments);
626
+ function _resetInterpreter(_x5) {
627
+ return _resetInterpreter2.apply(this, arguments);
656
628
  }
657
- return updatedInterpreterRoomStatus;
658
- }() // 更新语言房间Control
629
+ return _resetInterpreter;
630
+ }() // 点击了 trigger-output-language-room
659
631
  }, {
660
- key: "updateLanguageRoomList",
632
+ key: "_setInputLanguageRoom",
661
633
  value: function () {
662
- var _updateLanguageRoomList = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee6() {
663
- var _this5 = this;
664
- var rooms;
634
+ var _setInputLanguageRoom2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee6(_ref8) {
635
+ var _this$_languageRoomLi2;
636
+ var language, callback, room;
665
637
  return _regenerator["default"].wrap(function _callee6$(_context6) {
666
638
  while (1) switch (_context6.prev = _context6.next) {
667
639
  case 0:
668
- rooms = this._interpreterControl.getInterpreterRoomList(); //语言房间列表
669
- this._languageRoomList = rooms === null || rooms === void 0 ? void 0 : rooms.map(function (ele) {
670
- var _this5$_languageRoomL;
671
- var orgLanguageRoom = (_this5$_languageRoomL = _this5._languageRoomList) === null || _this5$_languageRoomL === void 0 ? void 0 : _this5$_languageRoomL.find(function (item) {
672
- return item.language === ele.language;
673
- });
674
- return orgLanguageRoom ? orgLanguageRoom : _objectSpread(_objectSpread({}, ele), {}, {
675
- control: _this5._interpreterControl.createRoomControl(ele.roomId),
676
- status: _constant2.UpdateType.LEFT
677
- });
640
+ language = _ref8.language, callback = _ref8.callback;
641
+ this._clearRetryTaskTimer(); // 清除当前重试任务
642
+ room = (_this$_languageRoomLi2 = this._languageRoomLisByStatus) === null || _this$_languageRoomLi2 === void 0 ? void 0 : _this$_languageRoomLi2.find(function (languageRoom) {
643
+ return languageRoom.language === language;
644
+ }); // 如果当前语言房间为未加入的状态
645
+ if (!(room && (room === null || room === void 0 ? void 0 : room.status) !== _type5.UpdateType.JOIN)) {
646
+ _context6.next = 6;
647
+ break;
648
+ }
649
+ _context6.next = 6;
650
+ return this._setLanguageRoomJoinOrLeave({
651
+ actionType: _type5.UpdateType.JOIN,
652
+ languageRoomList: [{
653
+ value: room.language
654
+ }]
678
655
  });
679
- case 2:
656
+ case 6:
657
+ _context6.next = 8;
658
+ return this._triggerLanguageRoomStream({
659
+ language: language
660
+ });
661
+ case 8:
662
+ callback && callback();
663
+ case 9:
680
664
  case "end":
681
665
  return _context6.stop();
682
666
  }
683
667
  }, _callee6, this);
684
668
  }));
685
- function updateLanguageRoomList() {
686
- return _updateLanguageRoomList.apply(this, arguments);
669
+ function _setInputLanguageRoom(_x6) {
670
+ return _setInputLanguageRoom2.apply(this, arguments);
687
671
  }
688
- return updateLanguageRoomList;
689
- }()
672
+ return _setInputLanguageRoom;
673
+ }() // 初始化语言房间状态
690
674
  }, {
691
- key: "onStreamVolumeIndicationUpdated",
692
- value: function onStreamVolumeIndicationUpdated(roomId, streamId, volume) {
693
- var _this6 = this;
694
- var timeoutId = null;
695
- var intervalId = null;
696
- if (volume > 10) {
697
- var roomInfo = this._mainRoomControl.getRoomInfo();
698
- if (roomInfo) {
699
- this._mainRoomControl.getStreamControl().adjustRemoteAudioStreamVolume(roomInfo.roomId, 80);
700
- if (timeoutId) {
701
- clearTimeout(timeoutId);
675
+ key: "_initLanguageRoomListByStatus",
676
+ value: function () {
677
+ var _initLanguageRoomListByStatus2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee7() {
678
+ var _this4 = this;
679
+ var rooms, languageRoomLisByStatus;
680
+ return _regenerator["default"].wrap(function _callee7$(_context7) {
681
+ while (1) switch (_context7.prev = _context7.next) {
682
+ case 0:
683
+ rooms = this._interpreterControl.getInterpreterRoomList(); //语言房间列表
684
+ if (rooms) {
685
+ languageRoomLisByStatus = rooms.map(function (ele) {
686
+ return _objectSpread(_objectSpread({}, ele), {}, {
687
+ control: _this4._interpreterControl.createRoomControl(ele.roomId),
688
+ status: _type5.UpdateType.LEFT
689
+ });
690
+ });
691
+ this._updateLanguageRoomListByStatus(languageRoomLisByStatus);
692
+ }
693
+ case 2:
694
+ case "end":
695
+ return _context7.stop();
702
696
  }
703
- if (intervalId) {
704
- clearInterval(intervalId);
697
+ }, _callee7, this);
698
+ }));
699
+ function _initLanguageRoomListByStatus() {
700
+ return _initLanguageRoomListByStatus2.apply(this, arguments);
701
+ }
702
+ return _initLanguageRoomListByStatus;
703
+ }() // 修改语言房间状态
704
+ }, {
705
+ key: "_updateLanguageRoomListByStatus",
706
+ value: function () {
707
+ var _updateLanguageRoomListByStatus2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee8(executeRoomList) {
708
+ return _regenerator["default"].wrap(function _callee8$(_context8) {
709
+ while (1) switch (_context8.prev = _context8.next) {
710
+ case 0:
711
+ this._languageRoomLisByStatus = (0, _utils.mergeArrays)(this._languageRoomLisByStatus, executeRoomList, 'language');
712
+ case 1:
713
+ case "end":
714
+ return _context8.stop();
705
715
  }
706
- timeoutId = setTimeout(function () {
707
- _this6.restoreVolumeByMainRoom(roomInfo.roomId, intervalId);
708
- }, 6000);
709
- }
710
- } else {}
711
- }
712
- // 修改输入的语言频道
716
+ }, _callee8, this);
717
+ }));
718
+ function _updateLanguageRoomListByStatus(_x7) {
719
+ return _updateLanguageRoomListByStatus2.apply(this, arguments);
720
+ }
721
+ return _updateLanguageRoomListByStatus;
722
+ }()
713
723
  }, {
714
- key: "changeInputLanguage",
724
+ key: "_updateUserProperties",
715
725
  value: function () {
716
- var _changeInputLanguage = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee9(_ref4) {
717
- var _this7 = this;
718
- var language, options, callback, updateTargetLanguageStreams, updateSourceLanguageStreams, outputLanguageList, _this$getLocalUserByI6, interpreter, _this$_languageRoomLi3, _this$_languageRoomLi4, targetLanguage, sourceLanguage, openTargetLanguage, openSourceLanguage, updateTargetLanguage, updateSourceLanguage, sourceLanguageRoomControl, targetLanguageRoomControl;
726
+ var _updateUserProperties2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee9(language) {
727
+ var interpreterLangCode;
719
728
  return _regenerator["default"].wrap(function _callee9$(_context9) {
720
729
  while (1) switch (_context9.prev = _context9.next) {
721
730
  case 0:
722
- language = _ref4.language, options = _ref4.options, callback = _ref4.callback;
723
- updateTargetLanguageStreams = /*#__PURE__*/function () {
724
- var _ref5 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee7(open) {
725
- var _this7$getLocalUserBy, interpreter, _this7$_languageRoomL, targetLanguage, targetLanguageRoomControl;
726
- return _regenerator["default"].wrap(function _callee7$(_context7) {
727
- while (1) switch (_context7.prev = _context7.next) {
728
- case 0:
729
- _this7$getLocalUserBy = _this7.getLocalUserByInterpreter(), interpreter = _this7$getLocalUserBy.interpreter;
730
- if (!interpreter) {
731
- _context7.next = 12;
732
- break;
733
- }
734
- targetLanguage = interpreter.targetLanguage;
735
- targetLanguageRoomControl = (_this7$_languageRoomL = _this7._languageRoomList) === null || _this7$_languageRoomL === void 0 || (_this7$_languageRoomL = _this7$_languageRoomL.find(function (ele) {
736
- return ele.language === targetLanguage;
737
- })) === null || _this7$_languageRoomL === void 0 ? void 0 : _this7$_languageRoomL.control;
738
- if (!targetLanguageRoomControl) {
739
- _context7.next = 12;
740
- break;
741
- }
742
- _context7.prev = 5;
743
- _context7.next = 8;
744
- return _this7._deviceStreamStore.updateStreams(targetLanguageRoomControl, open);
745
- case 8:
746
- _context7.next = 12;
747
- break;
748
- case 10:
749
- _context7.prev = 10;
750
- _context7.t0 = _context7["catch"](5);
751
- case 12:
752
- case "end":
753
- return _context7.stop();
754
- }
755
- }, _callee7, null, [[5, 10]]);
756
- }));
757
- return function updateTargetLanguageStreams(_x5) {
758
- return _ref5.apply(this, arguments);
759
- };
760
- }();
761
- updateSourceLanguageStreams = /*#__PURE__*/function () {
762
- var _ref6 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee8(open) {
763
- var _this7$getLocalUserBy2, interpreter, _this7$_languageRoomL2, sourceLanguage, sourceLanguageRoomControl;
764
- return _regenerator["default"].wrap(function _callee8$(_context8) {
765
- while (1) switch (_context8.prev = _context8.next) {
766
- case 0:
767
- _this7$getLocalUserBy2 = _this7.getLocalUserByInterpreter(), interpreter = _this7$getLocalUserBy2.interpreter;
768
- if (!interpreter) {
769
- _context8.next = 12;
770
- break;
771
- }
772
- sourceLanguage = interpreter.sourceLanguage;
773
- sourceLanguageRoomControl = (_this7$_languageRoomL2 = _this7._languageRoomList) === null || _this7$_languageRoomL2 === void 0 || (_this7$_languageRoomL2 = _this7$_languageRoomL2.find(function (ele) {
774
- return ele.language === sourceLanguage;
775
- })) === null || _this7$_languageRoomL2 === void 0 ? void 0 : _this7$_languageRoomL2.control;
776
- if (!sourceLanguageRoomControl) {
777
- _context8.next = 12;
778
- break;
779
- }
780
- _context8.prev = 5;
781
- _context8.next = 8;
782
- return _this7._deviceStreamStore.updateStreams(sourceLanguageRoomControl, open);
783
- case 8:
784
- _context8.next = 12;
785
- break;
786
- case 10:
787
- _context8.prev = 10;
788
- _context8.t0 = _context8["catch"](5);
789
- case 12:
790
- case "end":
791
- return _context8.stop();
792
- }
793
- }, _callee8, null, [[5, 10]]);
794
- }));
795
- return function updateSourceLanguageStreams(_x6) {
796
- return _ref6.apply(this, arguments);
797
- };
798
- }();
799
- outputLanguageList = (0, _toConsumableArray2["default"])(options);
800
- _this$getLocalUserByI6 = this.getLocalUserByInterpreter(), interpreter = _this$getLocalUserByI6.interpreter;
731
+ _context9.prev = 0;
732
+ interpreterLangCode = this._userControl.getUserPropertiesByKeyPath('interpreterLangCode', this._localUser.userId);
733
+ if (!(!language && !interpreterLangCode)) {
734
+ _context9.next = 4;
735
+ break;
736
+ }
737
+ return _context9.abrupt("return");
738
+ case 4:
739
+ _context9.next = 6;
740
+ return this._userControl.updateUserProperties({
741
+ interpreterLangCode: language
742
+ }, {}, this._localUser.userId);
743
+ case 6:
744
+ this.logger.info("interpreterLog- _updateUserProperties interpreterLangCode:".concat(language, " succeed"));
745
+ _context9.next = 12;
746
+ break;
747
+ case 9:
748
+ _context9.prev = 9;
749
+ _context9.t0 = _context9["catch"](0);
750
+ this.logger.info("interpreterLog- _updateUserProperties interpreterLangCode:".concat(language, " fail"));
751
+ case 12:
752
+ case "end":
753
+ return _context9.stop();
754
+ }
755
+ }, _callee9, this, [[0, 9]]);
756
+ }));
757
+ function _updateUserProperties(_x8) {
758
+ return _updateUserProperties2.apply(this, arguments);
759
+ }
760
+ return _updateUserProperties;
761
+ }()
762
+ }, {
763
+ key: "_updateStreams",
764
+ value: function () {
765
+ var _updateStreams2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee10(language, open) {
766
+ var _this$_languageRoomLi3,
767
+ _this5 = this;
768
+ var roomControl;
769
+ return _regenerator["default"].wrap(function _callee10$(_context10) {
770
+ while (1) switch (_context10.prev = _context10.next) {
771
+ case 0:
772
+ roomControl = ((_this$_languageRoomLi3 = this._languageRoomLisByStatus.find(function (ele) {
773
+ return ele.language === language;
774
+ })) === null || _this$_languageRoomLi3 === void 0 ? void 0 : _this$_languageRoomLi3.control) || null;
775
+ _context10.next = 3;
776
+ return (0, _utils.retryTask)(function () {
777
+ return _this5._deviceStreamStore.updateStreams(roomControl, open);
778
+ }, this._retryTask);
779
+ case 3:
780
+ case "end":
781
+ return _context10.stop();
782
+ }
783
+ }, _callee10, this);
784
+ }));
785
+ function _updateStreams(_x9, _x10) {
786
+ return _updateStreams2.apply(this, arguments);
787
+ }
788
+ return _updateStreams;
789
+ }() // 切换语音房间流开关
790
+ }, {
791
+ key: "_triggerLanguageRoomStream",
792
+ value: function () {
793
+ var _triggerLanguageRoomStream2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee11(_ref9) {
794
+ var language, _this$_getLocalUserBy, interpreter, targetLanguage, sourceLanguage;
795
+ return _regenerator["default"].wrap(function _callee11$(_context11) {
796
+ while (1) switch (_context11.prev = _context11.next) {
797
+ case 0:
798
+ language = _ref9.language;
799
+ // 更新远端 翻译官选中的翻译房间
800
+ this._updateUserProperties(language);
801
+ _this$_getLocalUserBy = this._getLocalUserByInterpreter(), interpreter = _this$_getLocalUserBy.interpreter;
801
802
  if (!interpreter) {
802
- _context9.next = 27;
803
+ _context11.next = 14;
803
804
  break;
804
805
  }
805
806
  targetLanguage = interpreter.targetLanguage, sourceLanguage = interpreter.sourceLanguage;
806
- openTargetLanguage = language === targetLanguage;
807
- openSourceLanguage = language === sourceLanguage;
808
- updateTargetLanguage = function updateTargetLanguage() {
809
- outputLanguageList = (0, _constant2.updateOutputLanguageList)({
810
- outputLanguageList: outputLanguageList,
811
- language: targetLanguage,
812
- open: openTargetLanguage
813
- });
814
- };
815
- updateSourceLanguage = function updateSourceLanguage() {
816
- outputLanguageList = (0, _constant2.updateOutputLanguageList)({
817
- outputLanguageList: outputLanguageList,
818
- language: sourceLanguage,
819
- open: openSourceLanguage
820
- });
821
- };
807
+ this._language = language;
822
808
  if (!this._deviceStore.microphoneEnabled) {
823
- _context9.next = 20;
809
+ _context11.next = 13;
824
810
  break;
825
811
  }
826
- _context9.next = 14;
827
- return updateTargetLanguageStreams(openTargetLanguage);
828
- case 14:
829
- updateTargetLanguage();
830
- _context9.next = 17;
831
- return updateSourceLanguageStreams(openSourceLanguage);
832
- case 17:
833
- updateSourceLanguage();
834
- _context9.next = 23;
812
+ _context11.next = 9;
813
+ return this._updateStreams(sourceLanguage, language === sourceLanguage);
814
+ case 9:
815
+ _context11.next = 11;
816
+ return this._updateStreams(targetLanguage, language === targetLanguage);
817
+ case 11:
818
+ _context11.next = 14;
835
819
  break;
836
- case 20:
837
- updateTargetLanguage();
838
- updateSourceLanguage();
839
- _toast.FcrToastApi.open({
840
- toastProps: {
841
- type: 'info',
842
- content: '请打开麦克风'
843
- }
820
+ case 13:
821
+ this._uiEventStore.showToast({
822
+ type: 'info',
823
+ message: (0, _i18n.transI18n)('fmt_interpretation_interpreter_toast_label_open_micro')
844
824
  });
845
- case 23:
846
- sourceLanguageRoomControl = (_this$_languageRoomLi3 = this._languageRoomList) === null || _this$_languageRoomLi3 === void 0 || (_this$_languageRoomLi3 = _this$_languageRoomLi3.find(function (ele) {
847
- return ele.language === sourceLanguage;
848
- })) === null || _this$_languageRoomLi3 === void 0 ? void 0 : _this$_languageRoomLi3.control;
849
- targetLanguageRoomControl = (_this$_languageRoomLi4 = this._languageRoomList) === null || _this$_languageRoomLi4 === void 0 || (_this$_languageRoomLi4 = _this$_languageRoomLi4.find(function (ele) {
850
- return ele.language === targetLanguage;
851
- })) === null || _this$_languageRoomLi4 === void 0 ? void 0 : _this$_languageRoomLi4.control;
852
- if (sourceLanguageRoomControl && targetLanguageRoomControl) {
853
- this._deviceStreamStore.setInterpreterRoomControlInfo({
854
- targetLanguageRoomControl: targetLanguageRoomControl,
855
- sourceLanguageRoomControl: sourceLanguageRoomControl,
856
- interpreter: interpreter,
857
- language: language
858
- });
859
- }
860
- callback && callback(outputLanguageList);
861
- case 27:
825
+ case 14:
862
826
  case "end":
863
- return _context9.stop();
827
+ return _context11.stop();
864
828
  }
865
- }, _callee9, this);
829
+ }, _callee11, this);
866
830
  }));
867
- function changeInputLanguage(_x4) {
868
- return _changeInputLanguage.apply(this, arguments);
831
+ function _triggerLanguageRoomStream(_x11) {
832
+ return _triggerLanguageRoomStream2.apply(this, arguments);
869
833
  }
870
- return changeInputLanguage;
871
- }() // 修改输出的语言频道
834
+ return _triggerLanguageRoomStream;
835
+ }()
872
836
  }, {
873
- key: "changeOutputLanguage",
837
+ key: "handleOutputLanguageRoom",
874
838
  value: function () {
875
- var _changeOutputLanguage = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee10(_ref7) {
876
- var language, orgLanguage, callback, _this$getLocalUserByI7, interpreter, interpreterRoomList, joinExecuteRoomList, leaveExecuteRoomList, _targetLanguage, _sourceLanguage, _this$_languageRoomLi5, orgRoomControl, _this$_languageRoomLi6, _this$_languageRoomLi7, isInterpreterLanguage, isInterpreterOrgLanguage, roomControl, _orgRoomControl;
877
- return _regenerator["default"].wrap(function _callee10$(_context10) {
878
- while (1) switch (_context10.prev = _context10.next) {
839
+ var _handleOutputLanguageRoom = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee12(_ref10) {
840
+ var _languageRoomLisByStatus, language, interpreterRoomList, event, isInterpreterLanguageByOrgLanguage, languageRoom;
841
+ return _regenerator["default"].wrap(function _callee12$(_context12) {
842
+ while (1) switch (_context12.prev = _context12.next) {
879
843
  case 0:
880
- language = _ref7.language, orgLanguage = _ref7.orgLanguage, callback = _ref7.callback;
881
- if (!this._languageRoomList) {
882
- _context10.next = 18;
844
+ _languageRoomLisByStatus = _ref10._languageRoomLisByStatus, language = _ref10.language, interpreterRoomList = _ref10.interpreterRoomList, event = _ref10.event;
845
+ isInterpreterLanguageByOrgLanguage = interpreterRoomList.includes(language);
846
+ languageRoom = _languageRoomLisByStatus.find(function (ele) {
847
+ return ele.language === language;
848
+ });
849
+ if (!languageRoom) {
850
+ _context12.next = 16;
883
851
  break;
884
852
  }
885
- _this$getLocalUserByI7 = this.getLocalUserByInterpreter(), interpreter = _this$getLocalUserByI7.interpreter;
886
- interpreterRoomList = [];
887
- joinExecuteRoomList = [];
888
- leaveExecuteRoomList = [];
889
- if (interpreter) {
890
- _targetLanguage = interpreter.targetLanguage, _sourceLanguage = interpreter.sourceLanguage;
891
- interpreterRoomList = [_targetLanguage, _sourceLanguage];
853
+ if (!isInterpreterLanguageByOrgLanguage) {
854
+ _context12.next = 8;
855
+ break;
892
856
  }
893
- if (language === _switchOutputLanguageRoom.CLOSE_ALL_LANGUAGE_ROOM) {
894
- leaveExecuteRoomList = this._languageRoomList;
895
- if (interpreter) {
896
- leaveExecuteRoomList = leaveExecuteRoomList.filter(function (ele) {
897
- return !interpreterRoomList.includes(ele.language);
898
- });
899
- orgRoomControl = (_this$_languageRoomLi5 = this._languageRoomList.find(function (ele) {
900
- return ele.language === orgLanguage;
901
- })) === null || _this$_languageRoomLi5 === void 0 ? void 0 : _this$_languageRoomLi5.control;
902
- if (orgRoomControl) {
903
- this._uiEventStore.sendEvent(_constant.UIAction.TOGGLE_INTERPRETER_REMOTE_AUDIO, {
904
- roomControl: orgRoomControl,
905
- event: _store.EventType.STOP
906
- });
907
- this.logger.info("[interpreterLog-changeOutputLanguage-true] \u7FFB\u8BD1\u5B98\u505C\u6B62\u6536\u542C\u539F\u8BED\u8A00\u623F\u95F4-orgRoomControl", {
908
- roomControl: orgRoomControl,
909
- event: _store.EventType.STOP
910
- });
911
- }
912
- }
913
- } else {
914
- joinExecuteRoomList = this._languageRoomList.filter(function (ele) {
915
- return ele.language === language;
916
- });
917
- leaveExecuteRoomList = this._languageRoomList.filter(function (ele) {
918
- return ele.language !== language;
919
- });
920
- if (interpreter) {
921
- isInterpreterLanguage = interpreterRoomList.includes(language);
922
- if (isInterpreterLanguage) {
923
- joinExecuteRoomList = joinExecuteRoomList.filter(function (ele) {
924
- return ele.language !== language;
925
- });
926
- }
927
- isInterpreterOrgLanguage = orgLanguage && orgLanguage !== _switchOutputLanguageRoom.CLOSE_ALL_LANGUAGE_ROOM && interpreterRoomList.includes(orgLanguage);
928
- if (isInterpreterOrgLanguage) {
929
- leaveExecuteRoomList = leaveExecuteRoomList.filter(function (ele) {
930
- return ele.language !== orgLanguage;
931
- });
932
- }
933
- roomControl = (_this$_languageRoomLi6 = this._languageRoomList.find(function (ele) {
934
- return ele.language === language;
935
- })) === null || _this$_languageRoomLi6 === void 0 ? void 0 : _this$_languageRoomLi6.control;
936
- _orgRoomControl = (_this$_languageRoomLi7 = this._languageRoomList.find(function (ele) {
937
- return ele.language === orgLanguage;
938
- })) === null || _this$_languageRoomLi7 === void 0 ? void 0 : _this$_languageRoomLi7.control;
939
- if (roomControl) {
940
- this._uiEventStore.sendEvent(_constant.UIAction.TOGGLE_INTERPRETER_REMOTE_AUDIO, {
941
- roomControl: roomControl,
942
- event: _store.EventType.START
943
- });
944
- this.logger.info("[interpreterLog-changeOutputLanguage] \u7FFB\u8BD1\u5B98\u5F00\u59CB\u6536\u542C\u539F\u8BED\u8A00\u623F\u95F4-newRoomControl", {
945
- roomControl: roomControl,
946
- event: _store.EventType.START
947
- });
948
- }
949
- if (_orgRoomControl) {
950
- this._uiEventStore.sendEvent(_constant.UIAction.TOGGLE_INTERPRETER_REMOTE_AUDIO, {
951
- roomControl: _orgRoomControl,
952
- event: _store.EventType.STOP
953
- });
954
- this.logger.info("[interpreterLog-changeOutputLanguage-false] \u7FFB\u8BD1\u5B98\u505C\u6B62\u6536\u542C\u539F\u8BED\u8A00\u623F\u95F4-orgRoomControl", {
955
- roomControl: roomControl,
956
- event: _store.EventType.START
957
- });
958
- }
959
- }
857
+ this._uiEventStore.sendEvent(_constant.UIAction.TOGGLE_INTERPRETER_REMOTE_AUDIO, {
858
+ roomControl: languageRoom.control,
859
+ event: event
860
+ });
861
+ _context12.next = 15;
862
+ break;
863
+ case 8:
864
+ if (!(event === _store.EventType.STOP)) {
865
+ _context12.next = 13;
866
+ break;
960
867
  }
961
- _context10.prev = 8;
962
- _context10.next = 11;
963
- return this.joinInterpreterRoom(joinExecuteRoomList);
868
+ _context12.next = 11;
869
+ return this.leaveInterpreterRoom([languageRoom], true);
964
870
  case 11:
965
- _context10.next = 13;
966
- return this.leaveInterpreterRoom(leaveExecuteRoomList);
967
- case 13:
968
- _context10.next = 18;
871
+ _context12.next = 15;
969
872
  break;
873
+ case 13:
874
+ _context12.next = 15;
875
+ return this.joinInterpreterRoom([languageRoom], true);
970
876
  case 15:
971
- _context10.prev = 15;
972
- _context10.t0 = _context10["catch"](8);
973
- callback && callback();
974
- case 18:
975
- callback && callback();
976
- case 19:
877
+ if (event === _store.EventType.STOP) {
878
+ languageRoom.control.getStreamControl().removeObserver({
879
+ onStreamVolumeIndicationUpdated: this._onStreamVolumeIndicationUpdated
880
+ });
881
+ } else {
882
+ languageRoom.control.getStreamControl().addObserver({
883
+ onStreamVolumeIndicationUpdated: this._onStreamVolumeIndicationUpdated
884
+ });
885
+ }
886
+ case 16:
977
887
  case "end":
978
- return _context10.stop();
888
+ return _context12.stop();
979
889
  }
980
- }, _callee10, this, [[8, 15]]);
890
+ }, _callee12, this);
981
891
  }));
982
- function changeOutputLanguage(_x7) {
983
- return _changeOutputLanguage.apply(this, arguments);
892
+ function handleOutputLanguageRoom(_x12) {
893
+ return _handleOutputLanguageRoom.apply(this, arguments);
984
894
  }
985
- return changeOutputLanguage;
895
+ return handleOutputLanguageRoom;
986
896
  }()
987
897
  }, {
988
- key: "bindLocalMicrophoneId",
989
- value: function bindLocalMicrophoneId(room) {
990
- var microphoneId = this._deviceStore.currentDeviceId.microphoneDeviceId;
991
- if (microphoneId) {
992
- var streamList = room.control.getStreamControl().getStreamsByUserId(room.control.getUserControl().getLocalUser().userId);
993
- var micStream = streamList.find(function (stream) {
994
- return stream.audioSourceType === _fcrCore.FcrAudioSourceType.MICROPHONE;
995
- });
996
- if (micStream && micStream.audioSourceId !== microphoneId) {
997
- var _room$control$getRoom;
998
- this.logger.info("bind local microphone id to stream: [".concat(micStream.streamId, "], room: ").concat((_room$control$getRoom = room.control.getRoomInfo()) === null || _room$control$getRoom === void 0 ? void 0 : _room$control$getRoom.roomId));
999
- room.control.getStreamControl().bindLocalStreams([{
1000
- streamId: micStream.streamId,
1001
- audioSourceId: microphoneId
1002
- }]);
1003
- }
1004
- }
1005
- }
1006
-
1007
- // 加入语言房间
1008
- }, {
1009
- key: "joinInterpreterRoom",
898
+ key: "_setOutputLanguage",
1010
899
  value: function () {
1011
- var _joinInterpreterRoom = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee11(data) {
1012
- var update,
1013
- _this$getLocalUserByI8,
1014
- localUser,
1015
- interpreter,
1016
- executeRoomList,
1017
- index,
1018
- room,
1019
- _args11 = arguments;
1020
- return _regenerator["default"].wrap(function _callee11$(_context11) {
1021
- while (1) switch (_context11.prev = _context11.next) {
900
+ var _setOutputLanguage2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee13(_ref11) {
901
+ var language, orgLanguage, _this$_getLocalUserBy2, interpreter, interpreterRoomList, targetLanguage, sourceLanguage;
902
+ return _regenerator["default"].wrap(function _callee13$(_context13) {
903
+ while (1) switch (_context13.prev = _context13.next) {
1022
904
  case 0:
1023
- update = _args11.length > 1 && _args11[1] !== undefined ? _args11[1] : true;
1024
- _this$getLocalUserByI8 = this.getLocalUserByInterpreter(), localUser = _this$getLocalUserByI8.localUser, interpreter = _this$getLocalUserByI8.interpreter;
1025
- executeRoomList = (0, _toConsumableArray2["default"])(data);
1026
- index = 0;
1027
- case 4:
1028
- if (!(index < executeRoomList.length)) {
1029
- _context11.next = 24;
905
+ language = _ref11.language, orgLanguage = _ref11.orgLanguage;
906
+ _this$_getLocalUserBy2 = this._getLocalUserByInterpreter(), interpreter = _this$_getLocalUserBy2.interpreter;
907
+ interpreterRoomList = [];
908
+ if (interpreter) {
909
+ targetLanguage = interpreter.targetLanguage, sourceLanguage = interpreter.sourceLanguage;
910
+ interpreterRoomList = [targetLanguage, sourceLanguage];
911
+ }
912
+ if (!(language === _constant2.CLOSE_ALL_LANGUAGE_ROOM && orgLanguage !== _constant2.CLOSE_ALL_LANGUAGE_ROOM)) {
913
+ _context13.next = 8;
1030
914
  break;
1031
915
  }
1032
- room = executeRoomList[index];
1033
- if (!(room.status === _constant2.UpdateType.LEFT)) {
1034
- _context11.next = 20;
916
+ _context13.next = 7;
917
+ return this.handleOutputLanguageRoom({
918
+ _languageRoomLisByStatus: this._languageRoomLisByStatus,
919
+ interpreterRoomList: interpreterRoomList,
920
+ language: orgLanguage,
921
+ event: _store.EventType.STOP
922
+ });
923
+ case 7:
924
+ this._uiEventStore.sendEvent(_constant.UIAction.TOGGLE_MAINROOM_REMOTE_AUDIO, {
925
+ event: _store.EventType.START
926
+ });
927
+ case 8:
928
+ if (!(language !== _constant2.CLOSE_ALL_LANGUAGE_ROOM && orgLanguage === _constant2.CLOSE_ALL_LANGUAGE_ROOM)) {
929
+ _context13.next = 12;
1035
930
  break;
1036
931
  }
1037
- _context11.prev = 7;
1038
- executeRoomList[index].status = _constant2.UpdateType.LOADING;
1039
- _context11.next = 11;
1040
- return this._roomStore.joinInterpreterRoom({
1041
- control: room.control,
1042
- roomJoinOptions: {
1043
- roomToken: '',
1044
- streamLatency: _fcrCore.FcrStreamLatencyLevel.ULTRA_LOW,
1045
- createStreamConfigs: [{
1046
- videoSourceState: _type3.AgoraRtcMediaSourceState.STOPPED,
1047
- audioSourceState: _type3.AgoraRtcMediaSourceState.STOPPED,
1048
- videoSourceId: '',
1049
- audioSourceId: '',
1050
- streamName: 'default',
1051
- streamType: _type2.AgoraRteMediaStreamType.NONE,
1052
- videoSourceType: _type4.AgoraRteVideoSourceType.CAMERA,
1053
- audioSourceType: _type4.AgoraRteAudioSourceType.MICROPHONE
1054
- }],
1055
- userName: localUser.userName,
1056
- userRole: !!interpreter ? _type.FcrUserRole.COHOST : _type.FcrUserRole.PARTICIPANT
1057
- },
1058
- language: room.language
932
+ _context13.next = 11;
933
+ return this.handleOutputLanguageRoom({
934
+ _languageRoomLisByStatus: this._languageRoomLisByStatus,
935
+ language: language,
936
+ interpreterRoomList: interpreterRoomList,
937
+ event: _store.EventType.START
1059
938
  });
1060
939
  case 11:
1061
- // room.control.getStreamControl().addObserver({
1062
- // onStreamVolumeIndicationUpdated: this.onStreamVolumeIndicationUpdated,
1063
- // });
1064
- executeRoomList[index].status = _constant2.UpdateType.JOIN;
1065
- _context11.next = 17;
1066
- break;
1067
- case 14:
1068
- _context11.prev = 14;
1069
- _context11.t0 = _context11["catch"](7);
1070
- executeRoomList[index].status = _constant2.UpdateType.LEFT;
940
+ this._uiEventStore.sendEvent(_constant.UIAction.TOGGLE_MAINROOM_REMOTE_AUDIO, {
941
+ event: _store.EventType.STOP
942
+ });
943
+ case 12:
944
+ if (!(language !== _constant2.CLOSE_ALL_LANGUAGE_ROOM && orgLanguage !== _constant2.CLOSE_ALL_LANGUAGE_ROOM)) {
945
+ _context13.next = 17;
946
+ break;
947
+ }
948
+ _context13.next = 15;
949
+ return this.handleOutputLanguageRoom({
950
+ _languageRoomLisByStatus: this._languageRoomLisByStatus,
951
+ language: language,
952
+ interpreterRoomList: interpreterRoomList,
953
+ event: _store.EventType.START
954
+ });
955
+ case 15:
956
+ _context13.next = 17;
957
+ return this.handleOutputLanguageRoom({
958
+ _languageRoomLisByStatus: this._languageRoomLisByStatus,
959
+ interpreterRoomList: interpreterRoomList,
960
+ language: orgLanguage,
961
+ event: _store.EventType.STOP
962
+ });
1071
963
  case 17:
1072
- this.bindLocalMicrophoneId(executeRoomList[index]);
1073
- _context11.next = 21;
1074
- break;
1075
- case 20:
1076
- console.log('非离开状态 无法加入房间', room);
1077
- case 21:
964
+ case "end":
965
+ return _context13.stop();
966
+ }
967
+ }, _callee13, this);
968
+ }));
969
+ function _setOutputLanguage(_x13) {
970
+ return _setOutputLanguage2.apply(this, arguments);
971
+ }
972
+ return _setOutputLanguage;
973
+ }() // 点击 trigger-output-language-room
974
+ }, {
975
+ key: "triggerOutputLanguage",
976
+ value: function () {
977
+ var _triggerOutputLanguage = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee14(_ref12) {
978
+ var language, orgLanguage, callback, isChangeOutputByMainRoom;
979
+ return _regenerator["default"].wrap(function _callee14$(_context14) {
980
+ while (1) switch (_context14.prev = _context14.next) {
981
+ case 0:
982
+ language = _ref12.language, orgLanguage = _ref12.orgLanguage, callback = _ref12.callback, isChangeOutputByMainRoom = _ref12.isChangeOutputByMainRoom;
983
+ this._clearRetryTaskTimer(); // 清除当前重试任务
984
+ _context14.next = 4;
985
+ return this._setOutputLanguage({
986
+ language: language,
987
+ orgLanguage: orgLanguage
988
+ });
989
+ case 4:
990
+ if (isChangeOutputByMainRoom) {
991
+ this._uiEventStore.sendEvent(_constant.UIAction.TOGGLE_MAINROOM_REMOTE_AUDIO, {
992
+ event: _store.EventType.START
993
+ });
994
+ }
995
+ callback && callback();
996
+ case 6:
997
+ case "end":
998
+ return _context14.stop();
999
+ }
1000
+ }, _callee14, this);
1001
+ }));
1002
+ function triggerOutputLanguage(_x14) {
1003
+ return _triggerOutputLanguage.apply(this, arguments);
1004
+ }
1005
+ return triggerOutputLanguage;
1006
+ }() // 加入语言房间
1007
+ }, {
1008
+ key: "joinInterpreterRoom",
1009
+ value: function () {
1010
+ var _joinInterpreterRoom = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee15(executeRoomList, isToggleInterperterRemoteAudio) {
1011
+ var _this6 = this;
1012
+ var _this$_getLocalUserBy3, localUser, _loop, index;
1013
+ return _regenerator["default"].wrap(function _callee15$(_context16) {
1014
+ while (1) switch (_context16.prev = _context16.next) {
1015
+ case 0:
1016
+ _this$_getLocalUserBy3 = this._getLocalUserByInterpreter(), localUser = _this$_getLocalUserBy3.localUser;
1017
+ _loop = /*#__PURE__*/_regenerator["default"].mark(function _loop() {
1018
+ var room, params;
1019
+ return _regenerator["default"].wrap(function _loop$(_context15) {
1020
+ while (1) switch (_context15.prev = _context15.next) {
1021
+ case 0:
1022
+ room = executeRoomList[index];
1023
+ params = {
1024
+ control: room.control,
1025
+ roomJoinOptions: {
1026
+ roomToken: '',
1027
+ streamLatency: _fcrCore.FcrStreamLatencyLevel.ULTRA_LOW,
1028
+ createStreamConfigs: [{
1029
+ videoSourceState: _type3.AgoraRtcMediaSourceState.CLOSE,
1030
+ audioSourceState: _type3.AgoraRtcMediaSourceState.CLOSE,
1031
+ videoSourceId: '',
1032
+ audioSourceId: '',
1033
+ streamName: 'default',
1034
+ streamType: _type2.AgoraRteMediaStreamType.NONE,
1035
+ videoSourceType: _type4.AgoraRteVideoSourceType.CAMERA,
1036
+ audioSourceType: _type4.AgoraRteAudioSourceType.MICROPHONE
1037
+ }],
1038
+ userName: localUser.userName,
1039
+ userRole: _type.FcrUserRole.PARTICIPANT
1040
+ },
1041
+ language: room.language,
1042
+ isToggleInterperterRemoteAudio: isToggleInterperterRemoteAudio
1043
+ };
1044
+ if (!(room.status === _type5.UpdateType.LEFT)) {
1045
+ _context15.next = 8;
1046
+ break;
1047
+ }
1048
+ _context15.next = 5;
1049
+ return (0, _utils.retryTask)(function () {
1050
+ return _this6._roomStore.joinInterpreterRoom(params);
1051
+ }, _this6._retryTask);
1052
+ case 5:
1053
+ room.status = _type5.UpdateType.JOIN;
1054
+ _this6.bindLocalMicrophoneId(room);
1055
+ _this6._updateLanguageRoomListByStatus([room]);
1056
+ case 8:
1057
+ case "end":
1058
+ return _context15.stop();
1059
+ }
1060
+ }, _loop);
1061
+ });
1062
+ index = 0;
1063
+ case 3:
1064
+ if (!(index < executeRoomList.length)) {
1065
+ _context16.next = 8;
1066
+ break;
1067
+ }
1068
+ return _context16.delegateYield(_loop(), "t0", 5);
1069
+ case 5:
1078
1070
  index++;
1079
- _context11.next = 4;
1071
+ _context16.next = 3;
1080
1072
  break;
1081
- case 24:
1082
- if (update) {
1083
- this.updateInterpreterRoomStatus(executeRoomList);
1084
- }
1085
- case 25:
1073
+ case 8:
1086
1074
  case "end":
1087
- return _context11.stop();
1075
+ return _context16.stop();
1088
1076
  }
1089
- }, _callee11, this, [[7, 14]]);
1077
+ }, _callee15, this);
1090
1078
  }));
1091
- function joinInterpreterRoom(_x8) {
1079
+ function joinInterpreterRoom(_x15, _x16) {
1092
1080
  return _joinInterpreterRoom.apply(this, arguments);
1093
1081
  }
1094
1082
  return joinInterpreterRoom;
@@ -1096,98 +1084,112 @@ var InterpreterStore = exports["default"] = /*#__PURE__*/function () {
1096
1084
  }, {
1097
1085
  key: "leaveInterpreterRoom",
1098
1086
  value: function () {
1099
- var _leaveInterpreterRoom = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee12(data) {
1100
- var update,
1101
- executeRoomList,
1102
- index,
1103
- room,
1104
- _args12 = arguments;
1105
- return _regenerator["default"].wrap(function _callee12$(_context12) {
1106
- while (1) switch (_context12.prev = _context12.next) {
1087
+ var _leaveInterpreterRoom = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee16(executeRoomList, isToggleInterperterRemoteAudio) {
1088
+ var _this7 = this;
1089
+ var _loop2, index;
1090
+ return _regenerator["default"].wrap(function _callee16$(_context18) {
1091
+ while (1) switch (_context18.prev = _context18.next) {
1107
1092
  case 0:
1108
- update = _args12.length > 1 && _args12[1] !== undefined ? _args12[1] : true;
1109
- executeRoomList = (0, _toConsumableArray2["default"])(data);
1093
+ _loop2 = /*#__PURE__*/_regenerator["default"].mark(function _loop2() {
1094
+ var room, params;
1095
+ return _regenerator["default"].wrap(function _loop2$(_context17) {
1096
+ while (1) switch (_context17.prev = _context17.next) {
1097
+ case 0:
1098
+ room = executeRoomList[index];
1099
+ params = {
1100
+ control: room.control,
1101
+ language: room.language,
1102
+ isToggleInterperterRemoteAudio: isToggleInterperterRemoteAudio
1103
+ };
1104
+ if (!(room.status === _type5.UpdateType.JOIN)) {
1105
+ _context17.next = 7;
1106
+ break;
1107
+ }
1108
+ _context17.next = 5;
1109
+ return (0, _utils.retryTask)(function () {
1110
+ return _this7._roomStore.leaveInterpreterRoom(params);
1111
+ }, _this7._retryTask);
1112
+ case 5:
1113
+ room.status = _type5.UpdateType.LEFT;
1114
+ _this7._updateLanguageRoomListByStatus([room]);
1115
+ case 7:
1116
+ case "end":
1117
+ return _context17.stop();
1118
+ }
1119
+ }, _loop2);
1120
+ });
1110
1121
  index = 0;
1111
- case 3:
1122
+ case 2:
1112
1123
  if (!(index < executeRoomList.length)) {
1113
- _context12.next = 22;
1124
+ _context18.next = 7;
1114
1125
  break;
1115
1126
  }
1116
- room = executeRoomList[index];
1117
- if (!(room.status === _constant2.UpdateType.JOIN)) {
1118
- _context12.next = 18;
1119
- break;
1120
- }
1121
- _context12.prev = 6;
1122
- executeRoomList[index].status = _constant2.UpdateType.LOADING;
1123
- _context12.next = 10;
1124
- return this._roomStore.leaveInterpreterRoom({
1125
- control: room.control,
1126
- language: room.language
1127
- });
1128
- case 10:
1129
- // room.control.getStreamControl().removeObserver({
1130
- // onStreamVolumeIndicationUpdated: this.onStreamVolumeIndicationUpdated,
1131
- // });
1132
- executeRoomList[index].status = _constant2.UpdateType.LEFT;
1133
- _context12.next = 16;
1134
- break;
1135
- case 13:
1136
- _context12.prev = 13;
1137
- _context12.t0 = _context12["catch"](6);
1138
- executeRoomList[index].status = _constant2.UpdateType.JOIN;
1139
- case 16:
1140
- _context12.next = 19;
1141
- break;
1142
- case 18:
1143
- console.log('非加入状态 无法离开房间', room);
1144
- case 19:
1127
+ return _context18.delegateYield(_loop2(), "t0", 4);
1128
+ case 4:
1145
1129
  index++;
1146
- _context12.next = 3;
1130
+ _context18.next = 2;
1147
1131
  break;
1148
- case 22:
1149
- if (update) {
1150
- this.updateInterpreterRoomStatus(executeRoomList);
1151
- }
1152
- case 23:
1132
+ case 7:
1153
1133
  case "end":
1154
- return _context12.stop();
1134
+ return _context18.stop();
1155
1135
  }
1156
- }, _callee12, this, [[6, 13]]);
1136
+ }, _callee16);
1157
1137
  }));
1158
- function leaveInterpreterRoom(_x9) {
1138
+ function leaveInterpreterRoom(_x17, _x18) {
1159
1139
  return _leaveInterpreterRoom.apply(this, arguments);
1160
1140
  }
1161
1141
  return leaveInterpreterRoom;
1162
- }() // #endregion
1163
- // #region 工具方法
1142
+ }()
1143
+ }, {
1144
+ key: "bindLocalMicrophoneId",
1145
+ value: function bindLocalMicrophoneId(room, _microphoneId) {
1146
+ var microphoneId = _microphoneId || this._deviceStore.currentDeviceId.microphoneDeviceId;
1147
+ if (microphoneId) {
1148
+ var streamList = room.control.getStreamControl().getStreamsByUserId(room.control.getUserControl().getLocalUser().userId);
1149
+ var micStream = streamList.find(function (stream) {
1150
+ return stream.audioSourceType === _fcrCore.FcrAudioSourceType.MICROPHONE;
1151
+ });
1152
+ if (micStream && micStream.audioSourceId !== microphoneId) {
1153
+ var _room$control$getRoom;
1154
+ this.logger.info("bind local microphone id to stream: [".concat(micStream.streamId, "], room: ").concat((_room$control$getRoom = room.control.getRoomInfo()) === null || _room$control$getRoom === void 0 ? void 0 : _room$control$getRoom.roomId));
1155
+ room.control.getStreamControl().bindLocalStreams([{
1156
+ streamId: micStream.streamId,
1157
+ audioSourceId: microphoneId
1158
+ }]);
1159
+ }
1160
+ }
1161
+ }
1162
+ }, {
1163
+ key: "getInterpreterState",
1164
+ value: function getInterpreterState() {
1165
+ return this._interpreterControl.getState().enable;
1166
+ }
1164
1167
  }, {
1165
1168
  key: "openInterpreterDialog",
1166
1169
  value: function
1167
1170
  // 开启弹窗
1168
1171
  openInterpreterDialog() {
1169
- this._currentDialogId = this._uiEventStore.openDialog(_constant.DialogKey.INTERPRETER);
1172
+ this.currentDialogId = this._uiEventStore.openDialog(_constant.DialogKey.INTERPRETER);
1170
1173
  }
1171
1174
  }, {
1172
1175
  key: "closeInterpreterDialog",
1173
1176
  value: function
1174
1177
  // 关闭弹窗
1175
1178
  closeInterpreterDialog() {
1176
- this._uiEventStore.closeDialog(this._currentDialogId);
1177
- }
1178
- }, {
1179
- key: "setIsScroll",
1180
- value: function
1181
- // 设置容器滚动状态
1182
- setIsScroll(enable) {
1183
- this.isScroll = enable;
1179
+ if (this.currentDialogId) {
1180
+ this._uiEventStore.closeDialog(this.currentDialogId);
1181
+ this.currentDialogId = null;
1182
+ if (this.interpreterUsersEditState) {
1183
+ this.setInterpreterListEditState();
1184
+ }
1185
+ }
1184
1186
  }
1185
1187
  }, {
1186
- key: "getLocalUserByInterpreter",
1188
+ key: "_getLocalUserByInterpreter",
1187
1189
  value: function
1188
1190
  // 获取本地用户关联的翻译官信息
1189
- getLocalUserByInterpreter() {
1190
- var localUser = this._mainRoomControl.getUserControl().getLocalUser(); // 本地用户信息
1191
+ _getLocalUserByInterpreter() {
1192
+ var localUser = this._localUser; // 本地用户信息
1191
1193
  var interpreterUsers = this._interpreterControl.getInterpreterUserList(); //翻译官列表
1192
1194
  var interpreter = interpreterUsers === null || interpreterUsers === void 0 ? void 0 : interpreterUsers.find(function (ele) {
1193
1195
  return ele.userId === localUser.userId;
@@ -1202,47 +1204,59 @@ var InterpreterStore = exports["default"] = /*#__PURE__*/function () {
1202
1204
  value: function
1203
1205
  // 检查操作用户是否是用户本人
1204
1206
  checkIsSelfOperation(operatorUser) {
1205
- var userInfo = this._mainRoomControl.getUserControl().getLocalUser();
1207
+ var userInfo = this._localUser;
1206
1208
  var isSelfOperation = operatorUser.userId === userInfo.userId;
1207
1209
  return isSelfOperation;
1208
1210
  }
1209
- }, {
1210
- key: "closeDialog",
1211
- value: function
1212
- // 关闭同声传译弹窗
1213
- closeDialog() {
1214
- this._uiEventStore.closeDialog(this._currentDialogId);
1215
- }
1216
- // #endregion
1217
-
1218
- // #region 提示
1219
1211
  }, {
1220
1212
  key: "interpreterUsersUpdatedToast",
1221
- value: function interpreterUsersUpdatedToast(roomId, users, operatorUser) {
1222
- if (operatorUser) {
1223
- this.updateInterpreterUsersToast(roomId, users, operatorUser); // 列表更新提醒
1224
- }
1225
- var _this$getLocalUserByI9 = this.getLocalUserByInterpreter(),
1226
- interpreter = _this$getLocalUserByI9.interpreter,
1227
- localUser = _this$getLocalUserByI9.localUser;
1228
- var preInterpreter = this.localInterpreterUsers.find(function (ele) {
1229
- return ele.userId === localUser.userId;
1230
- });
1231
- if (interpreter) {
1232
- if (preInterpreter) {
1233
- var isUpdate = preInterpreter.sourceLanguage !== interpreter.sourceLanguage || preInterpreter.targetLanguage !== interpreter.targetLanguage;
1234
- if (isUpdate) {
1235
- this.openUpdateLanguageDialog(interpreter); // 触发翻译官-语言变更提醒
1213
+ value: function () {
1214
+ var _interpreterUsersUpdatedToast = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee17(roomId, users, operatorUser) {
1215
+ var _this$_getLocalUserBy4, interpreter, localUser, preInterpreter, isUpdate;
1216
+ return _regenerator["default"].wrap(function _callee17$(_context19) {
1217
+ while (1) switch (_context19.prev = _context19.next) {
1218
+ case 0:
1219
+ if (operatorUser) {
1220
+ this.updateInterpreterUsersToast(roomId, users, operatorUser); // 列表更新提醒
1221
+ }
1222
+ _this$_getLocalUserBy4 = this._getLocalUserByInterpreter(), interpreter = _this$_getLocalUserBy4.interpreter, localUser = _this$_getLocalUserBy4.localUser;
1223
+ preInterpreter = this.orgInterpreterUsers.find(function (ele) {
1224
+ return ele.userId === localUser.userId;
1225
+ });
1226
+ if (this.interpreterState) {
1227
+ if (interpreter) {
1228
+ // 现在是翻译官
1229
+ if (preInterpreter) {
1230
+ // 之前是翻译官
1231
+ isUpdate = preInterpreter.sourceLanguage !== interpreter.sourceLanguage || preInterpreter.targetLanguage !== interpreter.targetLanguage;
1232
+ if (isUpdate) {
1233
+ // 前后两次翻译官配置的语言有过更改
1234
+ this.openUpdateLanguageDialog(interpreter); // 触发翻译官-语言变更提醒
1235
+ }
1236
+ } else {
1237
+ // 之前不是翻译官
1238
+ this.openCreateInterpreterStatusToast(interpreter); // 触发翻译官-创建提醒
1239
+ }
1240
+ } else {
1241
+ // 现在不是翻译官
1242
+ if (preInterpreter) {
1243
+ // 之前是翻译官
1244
+ this.openCancelInterpreterStatusToast(); // 触发翻译官-取消提醒
1245
+ }
1246
+ this._updateUserProperties('');
1247
+ }
1248
+ }
1249
+ case 4:
1250
+ case "end":
1251
+ return _context19.stop();
1236
1252
  }
1237
- } else {
1238
- this.openCreateInterpreterStatusToast(interpreter); // 触发翻译官-创建提醒
1239
- }
1240
- } else {
1241
- if (preInterpreter) {
1242
- this.openCancelInterpreterStatusToast(); // 触发翻译官-取消提醒
1243
- }
1253
+ }, _callee17, this);
1254
+ }));
1255
+ function interpreterUsersUpdatedToast(_x19, _x20, _x21) {
1256
+ return _interpreterUsersUpdatedToast.apply(this, arguments);
1244
1257
  }
1245
- }
1258
+ return interpreterUsersUpdatedToast;
1259
+ }()
1246
1260
  }, {
1247
1261
  key: "interpreterStateUpdatedToast",
1248
1262
  value: function interpreterStateUpdatedToast(roomId, state, operatorUser) {
@@ -1253,11 +1267,14 @@ var InterpreterStore = exports["default"] = /*#__PURE__*/function () {
1253
1267
  }
1254
1268
  }
1255
1269
  if (state.enable) {
1256
- var _this$getLocalUserByI10 = this.getLocalUserByInterpreter(),
1257
- interpreter = _this$getLocalUserByI10.interpreter;
1270
+ var _this$_getLocalUserBy5 = this._getLocalUserByInterpreter(),
1271
+ interpreter = _this$_getLocalUserBy5.interpreter;
1258
1272
  if (interpreter) {
1259
1273
  this.openCreateInterpreterStatusToast(interpreter); // 触发翻译官-创建提醒
1260
1274
  }
1275
+ } else {
1276
+ this._updateUserProperties('');
1277
+ this._closeConfirmDialog();
1261
1278
  }
1262
1279
  }
1263
1280
 
@@ -1267,7 +1284,6 @@ var InterpreterStore = exports["default"] = /*#__PURE__*/function () {
1267
1284
  value: function openUpdateInterpreterStateToast(roomId, state, operatorUser) {
1268
1285
  var _this8 = this;
1269
1286
  if (state.enable) {
1270
- var _this$_interpreterCon2;
1271
1287
  this._uiEventStore.showNotification({
1272
1288
  type: _eventStore.NotificationContentType.INTERPRETER_STATUS,
1273
1289
  placement: 'topLeft',
@@ -1276,16 +1292,17 @@ var InterpreterStore = exports["default"] = /*#__PURE__*/function () {
1276
1292
  },
1277
1293
  data: {
1278
1294
  operatorUser: operatorUser,
1279
- interpreterUserList: (_this$_interpreterCon2 = this._interpreterControl) === null || _this$_interpreterCon2 === void 0 ? void 0 : _this$_interpreterCon2.getInterpreterUserList()
1295
+ interpreterUserList: this._interpreterControl.getInterpreterUserList()
1280
1296
  }
1281
1297
  });
1282
1298
  } else {
1283
- var content = "".concat((0, _i18n.transI18n)(operatorUser.userRole === _type.FcrUserRole.HOST ? 'fmt_role_host' : 'fmt_role_cohost'), " ").concat(operatorUser.userName, "\u5173\u95ED\u4E86\u540C\u58F0\u4F20\u8BD1\u529F\u80FD");
1284
- _toast.FcrToastApi.open({
1285
- toastProps: {
1286
- type: 'info',
1287
- content: content
1288
- }
1299
+ this._uiEventStore.showToast({
1300
+ type: 'info',
1301
+ message: operatorUser.userRole === _type.FcrUserRole.HOST ? (0, _i18n.transI18n)('fmt_interpretation_mainwindow_toast_label_interpret_offline_controller', {
1302
+ reason1: operatorUser.userName
1303
+ }) : (0, _i18n.transI18n)('fmt_interpretation_interpreter_popup_label_language_change_by_cocontroller', {
1304
+ reason1: operatorUser.userName
1305
+ })
1289
1306
  });
1290
1307
  }
1291
1308
  }
@@ -1293,90 +1310,292 @@ var InterpreterStore = exports["default"] = /*#__PURE__*/function () {
1293
1310
  }, {
1294
1311
  key: "updateInterpreterUsersToast",
1295
1312
  value: function updateInterpreterUsersToast(roomId, users, operatorUser) {
1296
- _toast.FcrToastApi.open({
1297
- toastProps: {
1313
+ this._uiEventStore.showToast({
1314
+ type: 'info',
1315
+ message: operatorUser.userRole === _type.FcrUserRole.HOST ? (0, _i18n.transI18n)('fmt_interpretation_mainwindow_toast_label_update_language', {
1316
+ reason1: operatorUser.userName
1317
+ }) : (0, _i18n.transI18n)('fmt_interpretation_mobile_toast_controller_toast_label_update_interpreter_by_cocontroller', {
1318
+ reason1: operatorUser.userName
1319
+ })
1320
+ });
1321
+ }
1322
+ // 翻译官加入房间-Toast
1323
+ }, {
1324
+ key: "interpreterUsersJoinToast",
1325
+ value: function interpreterUsersJoinToast() {
1326
+ var _this$_getLocalUserBy6 = this._getLocalUserByInterpreter(),
1327
+ interpreter = _this$_getLocalUserBy6.interpreter;
1328
+ if (this.interpreterState && interpreter) {
1329
+ var _this$_interpreterCon2;
1330
+ var language = (_this$_interpreterCon2 = this._interpreterControl.getInterpreterRoomList()) === null || _this$_interpreterCon2 === void 0 ? void 0 : _this$_interpreterCon2[1].language;
1331
+ this._uiEventStore.showToast({
1298
1332
  type: 'info',
1299
- content: "".concat((0, _i18n.transI18n)(operatorUser.userRole === _type.FcrUserRole.HOST ? 'fmt_role_host' : 'fmt_role_cohost'), " ").concat(operatorUser.userName, " ").concat(operatorUser.userName, "\u66F4\u65B0\u4E86\u540C\u58F0\u4F20\u8BD1\u7684\u7FFB\u8BD1\u5B98\u6216\u8BED\u8A00")
1300
- }
1333
+ message: (0, _i18n.transI18n)('fmt_interpretation_interpreter_toast_label_return_channel', {
1334
+ reason1: language ? _useLanguageConfig.baseLanguageConfig[language].text : ''
1335
+ })
1336
+ });
1337
+ }
1338
+ }
1339
+
1340
+ // 翻译官-语言更新-Dialog
1341
+ }, {
1342
+ key: "_closeConfirmDialog",
1343
+ value: function _closeConfirmDialog() {
1344
+ var _this9 = this;
1345
+ this._confirmDialogs.forEach(function (dialogId) {
1346
+ dialogId && _this9._uiEventStore.closeConfirm(dialogId);
1347
+ _this9._confirmDialogs["delete"](dialogId);
1301
1348
  });
1302
1349
  }
1350
+
1303
1351
  // 翻译官-语言更新-Dialog
1304
1352
  }, {
1305
1353
  key: "openUpdateLanguageDialog",
1306
1354
  value: function openUpdateLanguageDialog(interpreter) {
1307
- var _this9 = this;
1308
- var dialogKey = this._uiEventStore.openConfirmDialog({
1309
- title: '请注意,翻译语言有变更',
1355
+ var _this10 = this;
1356
+ this._closeConfirmDialog();
1357
+ var dialogId = this._uiEventStore.openConfirmDialog({
1358
+ title: (0, _i18n.transI18n)('fmt_interpretation_interpreter_popup_label_language_change_attention'),
1310
1359
  content: (0, _dialogContent.DialogContent)({
1311
- content: '会议管理员指定了你新的翻译语言。',
1360
+ content: (0, _i18n.transI18n)('fmt_interpretation_interpreter_popup_label_language_change_by_controller'),
1312
1361
  userInfo: interpreter
1313
1362
  }),
1314
1363
  alignCenter: true,
1315
1364
  onOk: function onOk() {
1316
- _this9._uiEventStore.closeDialog(dialogKey);
1365
+ _this10._uiEventStore.closeConfirm(dialogId);
1366
+ _this10._confirmDialogs["delete"](dialogId);
1317
1367
  },
1318
1368
  closable: false,
1319
1369
  showCancel: false,
1320
- okText: '我知道了',
1321
- width: 321
1370
+ okText: (0, _i18n.transI18n)('fmt_interpretation_interpreter_popup_button_i_know'),
1371
+ width: 321,
1372
+ height: 234
1322
1373
  });
1374
+ this._confirmDialogs.add(dialogId);
1323
1375
  }
1324
1376
 
1325
1377
  // 翻译官-人员创建-Dialog
1326
1378
  }, {
1327
1379
  key: "openCreateInterpreterStatusToast",
1328
1380
  value: function openCreateInterpreterStatusToast(interpreter) {
1329
- var _this10 = this;
1330
- var dialogKey = this._uiEventStore.openConfirmDialog({
1331
- title: '你被指为翻译官',
1381
+ var _this11 = this;
1382
+ this._closeConfirmDialog();
1383
+ var dialogId = this._uiEventStore.openConfirmDialog({
1384
+ title: (0, _i18n.transI18n)('fmt_interpretation_mobile_interpreter_popup_label_as_interpreter'),
1332
1385
  content: (0, _dialogContent.DialogContent)({
1333
- content: '请确认打开麦克风,并通过主界面按钮进行2种语言的输出切换。',
1386
+ content: (0, _i18n.transI18n)('fmt_interpretation_mobile_interpreter_popup_label_open_microphone'),
1334
1387
  userInfo: interpreter
1335
1388
  }),
1336
1389
  alignCenter: true,
1337
1390
  onOk: function onOk() {
1338
- _this10._uiEventStore.closeDialog(dialogKey);
1391
+ _this11._uiEventStore.closeConfirm(dialogId);
1392
+ _this11._confirmDialogs["delete"](dialogId);
1339
1393
  },
1340
1394
  closable: false,
1341
1395
  showCancel: false,
1342
- okText: '我知道了',
1396
+ okText: (0, _i18n.transI18n)('fmt_interpretation_interpreter_popup_button_welcome_i_know'),
1343
1397
  width: 321,
1344
1398
  height: 234
1345
1399
  });
1400
+ this._confirmDialogs.add(dialogId);
1346
1401
  }
1402
+
1347
1403
  // 翻译官-人员取消-Dialog
1348
1404
  }, {
1349
1405
  key: "openCancelInterpreterStatusToast",
1350
1406
  value: function openCancelInterpreterStatusToast() {
1351
- var _this11 = this;
1352
- var dialogKey = this._uiEventStore.openConfirmDialog({
1353
- title: '翻译权限被收回',
1407
+ var _this12 = this;
1408
+ this._closeConfirmDialog();
1409
+ var dialogId = this._uiEventStore.openConfirmDialog({
1410
+ title: (0, _i18n.transI18n)('fmt_interpretation_mobile_interpreter_popup_label_permission_revoke'),
1354
1411
  content: (0, _dialogContent.DialogContent)({
1355
- content: '会议管理员已取消您的翻译官身份',
1412
+ content: (0, _i18n.transI18n)('fmt_interpretation_mobile_interpreter_popup_label_status_cancel'),
1356
1413
  userInfo: null
1357
1414
  }),
1358
1415
  alignCenter: true,
1359
1416
  onOk: function onOk() {
1360
- _this11._uiEventStore.closeDialog(dialogKey);
1417
+ _this12._uiEventStore.closeConfirm(dialogId);
1418
+ _this12._confirmDialogs["delete"](dialogId);
1361
1419
  },
1362
1420
  closable: false,
1363
1421
  showCancel: false,
1364
- okText: '我知道了',
1422
+ okText: (0, _i18n.transI18n)('fmt_interpretation_interpreter_popup_button_i_know'),
1365
1423
  width: 321
1366
1424
  });
1425
+ this._confirmDialogs.add(dialogId);
1367
1426
  }
1368
- // #endregion
1369
1427
  }, {
1370
1428
  key: "release",
1371
- value: function release() {}
1429
+ value: function release() {
1430
+ this._clearTimer();
1431
+ this._disposers.forEach(function (disposer) {
1432
+ return disposer();
1433
+ });
1434
+ this._clearRetryTaskTimer();
1435
+ }
1436
+
1437
+ // 历史参会者列表------------------------------------
1438
+ }, {
1439
+ key: "_getInitUsers",
1440
+ value: function _getInitUsers() {
1441
+ var mainRoomUsers = this._userControl.getUserList();
1442
+ this.initUsers = mainRoomUsers.filter(function (user) {
1443
+ return user.connectorType === _type2.AgoraRteRoomConnectorType.NONE;
1444
+ }).map(function (ele) {
1445
+ return _objectSpread(_objectSpread({}, ele), {}, {
1446
+ isOffLine: false
1447
+ });
1448
+ });
1449
+ }
1450
+ }, {
1451
+ key: "_updateUsers",
1452
+ value: function _updateUsers(_ref13, type) {
1453
+ var roomId = _ref13.roomId,
1454
+ events = _ref13.events;
1455
+ var initUsersCopy = (0, _toConsumableArray2["default"])(this.initUsers);
1456
+ events.forEach(function (joinedEvent) {
1457
+ var modifiedUser = joinedEvent.modifiedUser;
1458
+ var index = initUsersCopy.findIndex(function (item) {
1459
+ return item.userId === modifiedUser.userId;
1460
+ });
1461
+ if (index > -1) {
1462
+ if (initUsersCopy[index]) {
1463
+ if (type) {
1464
+ initUsersCopy[index] = _objectSpread(_objectSpread(_objectSpread({}, initUsersCopy[index]), modifiedUser), {}, {
1465
+ isOffLine: _type5.UpdateType.LEFT === type
1466
+ });
1467
+ } else {
1468
+ initUsersCopy[index] = _objectSpread(_objectSpread({}, initUsersCopy[index]), modifiedUser);
1469
+ }
1470
+ }
1471
+ } else if (modifiedUser.connectorType === _type2.AgoraRteRoomConnectorType.NONE) {
1472
+ initUsersCopy.push(_objectSpread(_objectSpread({}, modifiedUser), {}, {
1473
+ isOffLine: _type5.UpdateType.LEFT === type
1474
+ }));
1475
+ }
1476
+ });
1477
+ var collator = new Intl.Collator('zh');
1478
+ var sortedUsers = initUsersCopy.sort(function (preUser, nextUser) {
1479
+ if (preUser.userRole === nextUser.userRole) {
1480
+ return collator.compare(preUser.userName, nextUser.userName);
1481
+ } else {
1482
+ return preUser.userRole - nextUser.userRole;
1483
+ }
1484
+ });
1485
+ this.initUsers = sortedUsers;
1486
+ }
1487
+ }, {
1488
+ key: "_clearTimer",
1489
+ value: function _clearTimer() {
1490
+ if (this._indicateTimerId) {
1491
+ clearTimeout(this._indicateTimerId);
1492
+ this._indicateTimerId = null;
1493
+ }
1494
+ if (this._volumeTimerId) {
1495
+ clearInterval(this._volumeTimerId);
1496
+ this._volumeTimerId = null;
1497
+ }
1498
+ }
1499
+ }, {
1500
+ key: "_clearRetryTaskTimer",
1501
+ value: function _clearRetryTaskTimer() {
1502
+ this._retryTask.isAllowRetry = false;
1503
+ if (this._retryTask.timerId) {
1504
+ clearTimeout(this._retryTask.timerId);
1505
+ this._retryTask.timerId = null;
1506
+ }
1507
+ }
1508
+ }, {
1509
+ key: "_setMainRoomVolume",
1510
+ value: function _setMainRoomVolume(volume) {
1511
+ var _this13 = this;
1512
+ this._streamControl.getStreamList().forEach(function (stream) {
1513
+ var needSetVolume = [_type2.AgoraRteMediaStreamType.AUDIO, _type2.AgoraRteMediaStreamType.BOTH].includes(stream.streamType);
1514
+ if (needSetVolume) _this13._streamControl.adjustRemoteAudioStreamVolume(stream.streamId, volume);
1515
+ });
1516
+ }
1517
+ }, {
1518
+ key: "_restoreVolumeByMainRoom",
1519
+ value: function _restoreVolumeByMainRoom() {
1520
+ var _this14 = this;
1521
+ if (this._volumeTimerId) return;
1522
+ var startValue = 25; // 主房间初始音量
1523
+ var endValue = 100; // 最大音量
1524
+ var duration = 2000; // 在 2 秒内逐渐放大
1525
+ var interval = 50; // 更新间隔为 50ms
1526
+
1527
+ var volume = startValue;
1528
+ var steps = (endValue - startValue) / (duration / interval);
1529
+ this._volumeTimerId = setInterval(function () {
1530
+ volume += steps;
1531
+ if (volume >= endValue) {
1532
+ volume = endValue;
1533
+ _this14._clearTimer();
1534
+ }
1535
+ _this14._setMainRoomVolume(volume);
1536
+ }, interval);
1537
+ }
1538
+ }, {
1539
+ key: "_adjustMainRoomVolume",
1540
+ value: function _adjustMainRoomVolume(speaking) {
1541
+ var _this15 = this;
1542
+ if (speaking) {
1543
+ // HLD: 主房输出音量设置为25,语言房间设置输出音频为100
1544
+ this._setMainRoomVolume(25);
1545
+ this._clearTimer();
1546
+ } else {
1547
+ // PRD: 参会人听到的是译员的声音及轻微的原始音频声音。当语言频道内 6 秒内没有译员发言,原始音频的音量将在接下来的 2 秒内逐渐放大到正常音量。
1548
+ this._indicateTimerId = setTimeout(function () {
1549
+ _this15._restoreVolumeByMainRoom();
1550
+ }, 6000);
1551
+ }
1552
+ }
1553
+ }, {
1554
+ key: "_onStreamVolumeIndicationUpdated",
1555
+ value: function _onStreamVolumeIndicationUpdated(roomId, streamId, volume) {
1556
+ // HLD: 判断 volume > 10 ,避免波动, 则认为是在说话
1557
+ this._isSpeaking = Math.floor(volume / 255 * 100) > 10;
1558
+ }
1559
+ }, {
1560
+ key: "_handleUiEvents",
1561
+ value: function _handleUiEvents(action, payload) {
1562
+ if (action === _constant.UIAction.TOGGLE_INTERPRETER_OUTPUT_LANGUE) {
1563
+ this.triggerOutputLanguage(payload);
1564
+ }
1565
+ if (action === _constant.UIAction.OPEN_INTERPRETER_DIALOG) {
1566
+ this.openInterpreterDialog();
1567
+ }
1568
+ if (action === _constant.UIAction.CLOSE_INTERPRETER_DIALOG) {
1569
+ this.closeInterpreterDialog();
1570
+ }
1571
+ if (action === _constant.UIAction.UPDATE_INTERPRETER) {
1572
+ this._updateInterpreter(payload);
1573
+ }
1574
+ if (action === _constant.UIAction.RESET_INTERPRETER) {
1575
+ this._resetInterpreter(payload);
1576
+ }
1577
+ if (action === _constant.UIAction.SET_INPUT_LANGUAGE_ROOM) {
1578
+ this._setInputLanguageRoom(payload);
1579
+ }
1580
+ if (action === _constant.UIAction.TOGGLE_MAINROOM_REMOTE_AUDIO) {
1581
+ if ((payload === null || payload === void 0 ? void 0 : payload.action) === 'changeOutputByMainRoom') {
1582
+ this._clearRetryTaskTimer();
1583
+ }
1584
+ }
1585
+ }
1372
1586
  }]);
1373
- }();
1587
+ }(); // #endregion
1374
1588
  _InterpreterStore = InterpreterStore;
1375
- var _applyDecs$e = (0, _slicedToArray2["default"])(_applyDecs(_InterpreterStore, [[_mobx.observable, 1, "isScroll"], [_mobx.observable, 1, "_languageRoomList"], [_mobx.observable, 1, "localInterpreterUsers"], [_mobx.observable, 1, "storeLocalUser"], [_mobx.observable, 1, "interpreterUsersEditState"], [_mobx.observable, 1, "initUsers"], [_mobx.computed, 3, "interpreterState"], [_mobx.computed, 3, "interpreterUsersCheckPass"], [_mobx.computed, 3, "interpreterUsersAllOffLine"], [_mobx.computed, 3, "languageList"], [_getInitUsersDecs, 18, "getInitUsers"], [_updateUsersDecs, 18, "updateUsers"], [_openInterpreterStateDecs, 18, "openInterpreterState"], [_closeInterpreterStateDecs, 18, "closeInterpreterState"], [_setInterpreterListEditStateDecs, 18, "setInterpreterListEditState"], [_addInterpreterUsersDecs, 18, "addInterpreterUsers"], [_deleteInterpreterUsersDecs, 18, "deleteInterpreterUsers"], [_updateInterpreterUsersDecs, 18, "updateInterpreterUsers"], [_queryInterpreterUsersDecs, 18, "queryInterpreterUsers"], [_updateInterpreterRoomStatusDecs, 18, "updateInterpreterRoomStatus"], [_restoreVolumeByMainRoomDecs, 18, "restoreVolumeByMainRoom"], [_updateCancelRoomLstStatusDecs, 18, "updateCancelRoomLstStatus"], [_changeMainRoomStreamDecs, 18, "changeMainRoomStream"], [_clonseInterpreterRoomInputDecs, 18, "clonseInterpreterRoomInput"], [_updatedInterpreterRoomStatusDecs, 18, "updatedInterpreterRoomStatus"], [_updateLanguageRoomListDecs, 18, "updateLanguageRoomList"], [_onStreamVolumeIndicationUpdatedDecs, 18, "onStreamVolumeIndicationUpdated"], [_changeInputLanguageDecs, 18, "changeInputLanguage"], [_changeOutputLanguageDecs, 18, "changeOutputLanguage"], [_bindLocalMicrophoneIdDecs, 18, "bindLocalMicrophoneId"], [_joinInterpreterRoomDecs, 18, "joinInterpreterRoom"], [_leaveInterpreterRoomDecs, 18, "leaveInterpreterRoom"], [_openInterpreterDialogDecs, 18, "openInterpreterDialog"], [_closeInterpreterDialogDecs, 18, "closeInterpreterDialog"], [_setIsScrollDecs, 18, "setIsScroll"], [_getLocalUserByInterpreterDecs, 18, "getLocalUserByInterpreter"], [_checkIsSelfOperationDecs, 18, "checkIsSelfOperation"], [_closeDialogDecs, 18, "closeDialog"], [_interpreterUsersUpdatedToastDecs, 18, "interpreterUsersUpdatedToast"], [_interpreterStateUpdatedToastDecs, 18, "interpreterStateUpdatedToast"], [_openUpdateInterpreterStateToastDecs, 18, "openUpdateInterpreterStateToast"], [_updateInterpreterUsersToastDecs, 18, "updateInterpreterUsersToast"], [_openUpdateLanguageDialogDecs, 18, "openUpdateLanguageDialog"], [_openCreateInterpreterStatusToastDecs, 18, "openCreateInterpreterStatusToast"], [_openCancelInterpreterStatusToastDecs, 18, "openCancelInterpreterStatusToast"]], []).e, 7);
1376
- _init_isScroll = _applyDecs$e[0];
1377
- _init__languageRoomList = _applyDecs$e[1];
1589
+ var _applyDecs$e = (0, _slicedToArray2["default"])(_applyDecs(_InterpreterStore, [[_mobx.observable, 1, "_isSpeaking"], [_mobx.observable, 1, "_languageRoomLisByStatus"], [_mobx.observable, 1, "localInterpreterUsers"], [_mobx.observable, 1, "orgInterpreterUsers"], [_mobx.observable, 1, "interpreterUsersEditState"], [_mobx.observable, 1, "initUsers"], [_mobx.observable, 1, "interpreterState"], [_mobx.observable, 1, "currentDialogId"], [_mobx.observable, 1, "retryTaskTimeoutId"], [_mobx.observable, 1, "_language"], [_mobx.computed, 3, "hasEnableInterpreterPermission"], [_mobx.computed, 3, "interpreterUsersCheckPass"], [_mobx.computed, 3, "interpreterUsersAllOffLine"], [_mobx.computed, 3, "languageList"], [_openInterpreterStateDecs, 18, "openInterpreterState"], [_closeInterpreterStateDecs, 18, "closeInterpreterState"], [_setInterpreterListEditStateDecs, 18, "setInterpreterListEditState"], [_addInterpreterUsersDecs, 18, "addInterpreterUsers"], [_deleteInterpreterUsersDecs, 18, "deleteInterpreterUsers"], [_updateInterpreterUsersDecs, 18, "updateInterpreterUsers"], [_queryInterpreterUsersDecs, 18, "queryInterpreterUsers"], [_setMainRoomStreamDecs, 18, "_setMainRoomStream"], [_setLanguageRoomJoinOrLeaveDecs, 18, "_setLanguageRoomJoinOrLeave"], [_updateInterpreterDecs, 18, "_updateInterpreter"], [_resetInterpreterDecs, 18, "_resetInterpreter"], [_setInputLanguageRoomDecs, 18, "_setInputLanguageRoom"], [_initLanguageRoomListByStatusDecs, 18, "_initLanguageRoomListByStatus"], [_updateLanguageRoomListByStatusDecs, 18, "_updateLanguageRoomListByStatus"], [_updateUserPropertiesDecs, 18, "_updateUserProperties"], [_updateStreamsDecs, 18, "_updateStreams"], [_triggerLanguageRoomStreamDecs, 18, "_triggerLanguageRoomStream"], [_handleOutputLanguageRoomDecs, 18, "handleOutputLanguageRoom"], [_triggerOutputLanguageDecs, 18, "triggerOutputLanguage"], [_joinInterpreterRoomDecs, 18, "joinInterpreterRoom"], [_leaveInterpreterRoomDecs, 18, "leaveInterpreterRoom"], [_bindLocalMicrophoneIdDecs, 18, "bindLocalMicrophoneId"], [_getInterpreterStateDecs, 18, "getInterpreterState"], [_openInterpreterDialogDecs, 18, "openInterpreterDialog"], [_closeInterpreterDialogDecs, 18, "closeInterpreterDialog"], [_getLocalUserByInterpreterDecs, 18, "_getLocalUserByInterpreter"], [_checkIsSelfOperationDecs, 18, "checkIsSelfOperation"], [_interpreterUsersUpdatedToastDecs, 18, "interpreterUsersUpdatedToast"], [_interpreterStateUpdatedToastDecs, 18, "interpreterStateUpdatedToast"], [_openUpdateInterpreterStateToastDecs, 18, "openUpdateInterpreterStateToast"], [_updateInterpreterUsersToastDecs, 18, "updateInterpreterUsersToast"], [_interpreterUsersJoinToastDecs, 18, "interpreterUsersJoinToast"], [_closeConfirmDialogDecs, 18, "_closeConfirmDialog"], [_openUpdateLanguageDialogDecs, 18, "openUpdateLanguageDialog"], [_openCreateInterpreterStatusToastDecs, 18, "openCreateInterpreterStatusToast"], [_openCancelInterpreterStatusToastDecs, 18, "openCancelInterpreterStatusToast"], [_getInitUsersDecs, 18, "_getInitUsers"], [_updateUsersDecs, 18, "_updateUsers"], [_clearTimerDecs, 18, "_clearTimer"], [_clearRetryTaskTimerDecs, 18, "_clearRetryTaskTimer"], [_restoreVolumeByMainRoomDecs, 18, "_restoreVolumeByMainRoom"], [_adjustMainRoomVolumeDecs, 18, "_adjustMainRoomVolume"], [_onStreamVolumeIndicationUpdatedDecs, 18, "_onStreamVolumeIndicationUpdated"]], []).e, 11);
1590
+ _init__isSpeaking = _applyDecs$e[0];
1591
+ _init__languageRoomLisByStatus = _applyDecs$e[1];
1378
1592
  _init_localInterpreterUsers = _applyDecs$e[2];
1379
- _init_storeLocalUser = _applyDecs$e[3];
1593
+ _init_orgInterpreterUsers = _applyDecs$e[3];
1380
1594
  _init_interpreterUsersEditState = _applyDecs$e[4];
1381
1595
  _init_initUsers = _applyDecs$e[5];
1382
- _initProto = _applyDecs$e[6];
1596
+ _init_interpreterState = _applyDecs$e[6];
1597
+ _init_currentDialogId = _applyDecs$e[7];
1598
+ _init_retryTaskTimeoutId = _applyDecs$e[8];
1599
+ _init__language = _applyDecs$e[9];
1600
+ _initProto = _applyDecs$e[10];
1601
+ var StoreContext = exports.StoreContext = /*#__PURE__*/(0, _react.createContext)(null);