fcr-ui-scene 3.3.1 → 3.4.0

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