fcr-ui-scene 3.7.8 → 3.8.0-alpha

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 (569) hide show
  1. package/lib/creator/index.d.ts +6 -3
  2. package/lib/creator/index.js +45 -33
  3. package/lib/creator/provider-initializer.browser.js +34 -5
  4. package/lib/creator/provider-initializer.electron.js +34 -6
  5. package/lib/electron/bootstrap-sdk.d.ts +3 -1
  6. package/lib/electron/bootstrap-sdk.js +93 -358
  7. package/lib/electron/exit-codes.d.ts +6 -1
  8. package/lib/electron/exit-codes.js +5 -0
  9. package/lib/electron/injections.d.ts +10 -4
  10. package/lib/electron/injections.js +116 -74
  11. package/lib/electron/ipc/ipc.js +13 -11
  12. package/lib/electron/ipc/type.d.ts +3 -1
  13. package/lib/electron/ipc/type.js +2 -0
  14. package/lib/electron/main.js +3 -1
  15. package/lib/electron/preload.js +2 -1
  16. package/lib/electron/process-manager/constants.d.ts +1 -0
  17. package/lib/{modules/control-bar/types.js → electron/process-manager/constants.js} +3 -1
  18. package/lib/electron/{event-manager.d.ts → process-manager/event-manager.d.ts} +3 -4
  19. package/lib/electron/{event-manager.js → process-manager/event-manager.js} +38 -30
  20. package/lib/electron/process-manager/index.d.ts +179 -0
  21. package/lib/electron/process-manager/index.js +848 -0
  22. package/lib/electron/process-manager/state-manager.d.ts +135 -0
  23. package/lib/electron/process-manager/state-manager.js +358 -0
  24. package/lib/electron/process-manager/types.d.ts +80 -0
  25. package/lib/electron/process-manager/types.js +79 -0
  26. package/lib/electron/sdk-helper.d.ts +4 -0
  27. package/lib/electron/sdk-helper.js +45 -4
  28. package/lib/electron/until.js +3 -0
  29. package/lib/fragments/annotation/libs.d.ts +1 -1
  30. package/lib/fragments/annotation/libs.js +12 -12
  31. package/lib/fragments/annotation/store.d.ts +1 -1
  32. package/lib/fragments/annotation/toolbar/components/graphic-tool/graphic-panel/libs.d.ts +1 -1
  33. package/lib/fragments/annotation/toolbar/components/graphic-tool/graphic-panel/libs.js +21 -21
  34. package/lib/fragments/annotation/toolbar/components/pen-tool/index.js +3 -3
  35. package/lib/fragments/annotation/toolbar/store.d.ts +1 -1
  36. package/lib/fragments/annotation/toolbar/store.js +10 -10
  37. package/lib/fragments/annotation/toolbar/view.js +7 -7
  38. package/lib/fragments/whiteboard/store.d.ts +2 -2
  39. package/lib/fragments/whiteboard/store.js +27 -21
  40. package/lib/fragments/whiteboard/view.js +2 -2
  41. package/lib/index.d.ts +1 -1
  42. package/lib/index.js +10 -3
  43. package/lib/modules/action-bar/components/apps/index.js +1 -37
  44. package/lib/modules/action-bar/components/collapse/index.d.ts +2 -1
  45. package/lib/modules/action-bar/components/collapse/index.js +11 -2
  46. package/lib/modules/action-bar/components/item/index.js +2 -2
  47. package/lib/modules/action-bar/components/screen-share/index.browser.js +21 -14
  48. package/lib/modules/action-bar/components/screen-share/index.electron.js +38 -24
  49. package/lib/modules/action-bar/components/screen-share/submenu.js +6 -5
  50. package/lib/modules/action-bar/components/security/index.js +2 -2
  51. package/lib/modules/action-bar/index.css +26 -0
  52. package/lib/modules/action-bar/main-scene/store.base.d.ts +6 -4
  53. package/lib/modules/action-bar/main-scene/store.base.js +41 -46
  54. package/lib/modules/action-bar/type.d.ts +0 -10
  55. package/lib/modules/audio-stream/index.d.ts +1 -1
  56. package/lib/modules/audio-stream/index.js +22 -8
  57. package/lib/modules/caption/draggable-container/index.css +10 -0
  58. package/lib/modules/caption/draggable-container/index.d.ts +4 -0
  59. package/lib/modules/caption/draggable-container/index.js +145 -0
  60. package/lib/modules/caption/index.d.ts +10 -0
  61. package/lib/modules/{annotation → caption}/index.js +43 -84
  62. package/lib/modules/caption/store.d.ts +56 -0
  63. package/lib/modules/caption/store.js +366 -0
  64. package/lib/modules/caption/type.d.ts +13 -0
  65. package/lib/modules/caption/type.js +14 -0
  66. package/lib/modules/caption/view.css +158 -0
  67. package/lib/modules/caption/view.d.ts +4 -0
  68. package/lib/modules/caption/view.js +292 -0
  69. package/lib/modules/chat/chat-room-store.d.ts +1 -1
  70. package/lib/modules/chat/chat-room-store.js +6 -6
  71. package/lib/modules/chat/components/message-list/message-item/index.js +60 -18
  72. package/lib/modules/chat/index.css +7 -0
  73. package/lib/modules/chat/store.js +1 -1
  74. package/lib/modules/components/apps/app-item/index.css +16 -1
  75. package/lib/modules/components/apps/app-item/index.js +102 -35
  76. package/lib/modules/components/apps/app-list.js +17 -1
  77. package/lib/modules/components/apps/types.d.ts +11 -1
  78. package/lib/modules/components/caption-menu/index.css +58 -0
  79. package/lib/modules/components/caption-menu/index.d.ts +41 -0
  80. package/lib/modules/components/caption-menu/index.js +112 -0
  81. package/lib/modules/components/caption-menu/participants-privilege-control-options.d.ts +2 -0
  82. package/lib/modules/components/caption-menu/participants-privilege-control-options.js +87 -0
  83. package/lib/modules/components/caption-menu/steps/index.css +73 -0
  84. package/lib/modules/components/caption-menu/steps/index.d.ts +11 -0
  85. package/lib/modules/components/caption-menu/steps/index.js +56 -0
  86. package/lib/modules/components/caption-menu/translation-setting-options.d.ts +17 -0
  87. package/lib/modules/components/caption-menu/translation-setting-options.js +181 -0
  88. package/lib/modules/components/control-bar/index.d.ts +3 -3
  89. package/lib/modules/components/control-bar/index.js +10 -10
  90. package/lib/modules/components/device-control/components/audio-menu/index.js +17 -0
  91. package/lib/modules/components/device-control/components/carmera/index.js +3 -0
  92. package/lib/modules/components/device-control/components/microphone/index.js +4 -1
  93. package/lib/modules/components/device-control/index.css +12 -4
  94. package/lib/modules/components/device-control/store.base.d.ts +1 -0
  95. package/lib/modules/components/device-control/store.base.js +2 -0
  96. package/lib/modules/components/leave-meeting/store.base.d.ts +1 -0
  97. package/lib/modules/components/leave-meeting/store.base.js +46 -5
  98. package/lib/modules/components/security-menu/index.js +147 -65
  99. package/lib/modules/components/security-menu/store.d.ts +15 -0
  100. package/lib/modules/components/security-menu/store.js +78 -16
  101. package/lib/modules/components/toolbar/components/clean-tool/index.d.ts +1 -1
  102. package/lib/modules/components/toolbar/components/clean-tool/index.js +4 -4
  103. package/lib/modules/components/toolbar/components/color-tool/index.d.ts +1 -1
  104. package/lib/modules/components/toolbar/components/graphic-tool/graphic-panel/index.d.ts +1 -1
  105. package/lib/modules/components/toolbar/components/graphic-tool/graphic-panel/libs.d.ts +1 -1
  106. package/lib/modules/components/toolbar/components/graphic-tool/graphic-panel/libs.js +21 -21
  107. package/lib/modules/components/toolbar/components/graphic-tool/index.d.ts +1 -1
  108. package/lib/modules/components/toolbar/components/multiple-color-tool/index.d.ts +1 -1
  109. package/lib/modules/components/toolbar/components/pen-tool/index.d.ts +1 -1
  110. package/lib/modules/components/toolbar/components/pen-tool/index.js +3 -3
  111. package/lib/modules/components/toolbar/index.d.ts +2 -2
  112. package/lib/modules/components/toolbar/index.js +35 -34
  113. package/lib/modules/components/toolbar/style.css +1 -1
  114. package/lib/modules/components/toolbar/types.d.ts +1 -1
  115. package/lib/modules/connection-gateway/store.d.ts +1 -0
  116. package/lib/modules/connection-gateway/store.js +5 -0
  117. package/lib/modules/control-bar/components/apps-popover/index.d.ts +3 -0
  118. package/lib/modules/control-bar/components/apps-popover/index.js +41 -0
  119. package/lib/modules/control-bar/components/more-actions/index.js +9 -1
  120. package/lib/modules/control-bar/enums.d.ts +2 -1
  121. package/lib/modules/control-bar/enums.js +1 -0
  122. package/lib/modules/control-bar/store.d.ts +6 -1
  123. package/lib/modules/control-bar/store.js +56 -12
  124. package/lib/modules/control-bar/view.js +16 -11
  125. package/lib/modules/dialog/components/dialog-container/component/body.d.ts +8 -0
  126. package/lib/modules/dialog/components/dialog-container/component/body.js +44 -5
  127. package/lib/modules/dialog/components/dialog-container/index.css +4 -1
  128. package/lib/modules/dialog/components/dialog-container/index.d.ts +1 -0
  129. package/lib/modules/dialog/components/dialog-container/index.js +7 -1
  130. package/lib/modules/dialog/components/normal-window/index.d.ts +1 -0
  131. package/lib/modules/dialog/components/normal-window/index.js +3 -1
  132. package/lib/modules/dialog/dialogs/caption/index.d.ts +21 -0
  133. package/lib/modules/dialog/dialogs/caption/index.js +42 -0
  134. package/lib/modules/dialog/dialogs/chat/components/actions.js +2 -2
  135. package/lib/modules/dialog/dialogs/confirm/index.js +1 -1
  136. package/lib/modules/dialog/dialogs/confirm-leave-meeting/index.d.ts +1 -0
  137. package/lib/modules/dialog/dialogs/confirm-leave-meeting/index.js +2 -1
  138. package/lib/modules/dialog/dialogs/participant/components/actions.js +2 -2
  139. package/lib/modules/dialog/dialogs/share-screen-selection/index.js +0 -12
  140. package/lib/modules/dialog/dialogs/subtitles-history/index.d.ts +27 -0
  141. package/lib/modules/dialog/dialogs/subtitles-history/index.js +51 -0
  142. package/lib/modules/dialog/store.base.d.ts +1 -1
  143. package/lib/modules/dialog/store.browser.d.ts +1 -1
  144. package/lib/modules/dialog/store.electron.d.ts +1 -3
  145. package/lib/modules/dialog/store.electron.js +0 -9
  146. package/lib/modules/event-sound/enum.d.ts +5 -0
  147. package/lib/modules/event-sound/enum.js +20 -0
  148. package/lib/modules/event-sound/index.d.ts +0 -10
  149. package/lib/modules/event-sound/index.js +1 -12
  150. package/lib/modules/event-sound/store.d.ts +2 -2
  151. package/lib/modules/event-sound/store.js +21 -22
  152. package/lib/modules/interpreter/store.js +4 -2
  153. package/lib/modules/layout/components/Aside.d.ts +2 -1
  154. package/lib/modules/layout/components/Aside.js +97 -58
  155. package/lib/modules/layout/components/CommonVideoRenderer.js +1 -2
  156. package/lib/modules/layout/components/index.css +15 -2
  157. package/lib/modules/layout/store.base.d.ts +13 -2
  158. package/lib/modules/layout/store.base.js +149 -54
  159. package/lib/modules/layout/store.electron.d.ts +1 -0
  160. package/lib/modules/layout/store.electron.js +132 -32
  161. package/lib/modules/layout/type.d.ts +4 -0
  162. package/lib/modules/layout/view.js +27 -5
  163. package/lib/modules/notification/index.css +4 -4
  164. package/lib/modules/notification/store.d.ts +5 -3
  165. package/lib/modules/notification/store.js +9 -2
  166. package/lib/modules/notification/view.d.ts +1 -0
  167. package/lib/modules/notification/view.js +33 -2
  168. package/lib/modules/participant/components/participants/components/footer/components/drop-menu/index.css +0 -1
  169. package/lib/modules/participant/components/participants/components/footer/index.js +1 -1
  170. package/lib/modules/participant/components/participants/components/render-user/components/attendee/index.js +2 -2
  171. package/lib/modules/participant/components/participants/components/render-user/components/user-action/index.d.ts +6 -1
  172. package/lib/modules/participant/components/participants/components/render-user/index.d.ts +1 -1
  173. package/lib/modules/participant/components/participants/index.js +13 -1
  174. package/lib/modules/participant/store.base.d.ts +1 -2
  175. package/lib/modules/participant/store.base.js +70 -71
  176. package/lib/modules/participant/type.d.ts +3 -1
  177. package/lib/modules/participant/type.js +2 -0
  178. package/lib/modules/pc-audio-connect/main-scene/store.d.ts +1 -0
  179. package/lib/modules/pc-audio-connect/main-scene/store.js +5 -0
  180. package/lib/modules/pc-audio-connect/waiting-scene/store.d.ts +2 -0
  181. package/lib/modules/pc-audio-connect/waiting-scene/store.js +10 -6
  182. package/lib/modules/phone-audio-connect/store.d.ts +1 -0
  183. package/lib/modules/phone-audio-connect/store.js +5 -0
  184. package/lib/modules/secondary-window/store.d.ts +1 -2
  185. package/lib/modules/secondary-window/store.js +22 -12
  186. package/lib/modules/secondary-window/type.d.ts +1 -1
  187. package/lib/modules/secondary-window/view.js +7 -8
  188. package/lib/modules/setting/audio-whiteList/audio-device-adaptation.d.ts +18 -0
  189. package/lib/modules/setting/audio-whiteList/audio-device-adaptation.js +34 -0
  190. package/lib/modules/setting/audio-whiteList/audio-whiteList-manager.d.ts +63 -0
  191. package/lib/modules/setting/audio-whiteList/audio-whiteList-manager.js +353 -0
  192. package/lib/modules/setting/caption_and_transcribing/index.css +88 -0
  193. package/lib/modules/setting/caption_and_transcribing/index.d.ts +3 -0
  194. package/lib/modules/setting/caption_and_transcribing/index.js +96 -0
  195. package/lib/modules/setting/general-settings/general-settings.d.ts +4 -0
  196. package/lib/modules/setting/general-settings/general-settings.js +3 -3
  197. package/lib/modules/setting/index.d.ts +1 -0
  198. package/lib/modules/setting/index.js +10 -7
  199. package/lib/modules/setting/state/index.js +5 -3
  200. package/lib/modules/setting/store.base.d.ts +29 -4
  201. package/lib/modules/setting/store.base.js +143 -62
  202. package/lib/modules/setting/store.browser.js +4 -9
  203. package/lib/modules/setting/store.electron.d.ts +11 -0
  204. package/lib/modules/setting/store.electron.js +110 -1
  205. package/lib/modules/setting/type.d.ts +2 -1
  206. package/lib/modules/setting/type.js +1 -0
  207. package/lib/modules/setting/video-settings/video-settings-basic.js +1 -7
  208. package/lib/modules/setting/view.js +11 -4
  209. package/lib/modules/share-screen/store.base.d.ts +1 -1
  210. package/lib/modules/share-screen/store.base.js +3 -2
  211. package/lib/modules/share-screen/store.electron.d.ts +3 -1
  212. package/lib/modules/share-screen/store.electron.js +168 -38
  213. package/lib/modules/state-bar/index.css +73 -2
  214. package/lib/modules/state-bar/main-scene/store.base.d.ts +2 -0
  215. package/lib/modules/state-bar/main-scene/store.base.js +7 -1
  216. package/lib/modules/state-bar/main-scene/store.browser.js +1 -1
  217. package/lib/modules/state-bar/main-scene/store.electron.js +1 -1
  218. package/lib/modules/state-bar/store.base.d.ts +5 -0
  219. package/lib/modules/state-bar/store.base.js +29 -2
  220. package/lib/modules/state-bar/subtitles-history-state.d.ts +7 -0
  221. package/lib/modules/state-bar/subtitles-history-state.js +108 -0
  222. package/lib/modules/state-bar/view.js +16 -1
  223. package/lib/modules/state-bar/waiting-scene/store.base.d.ts +1 -0
  224. package/lib/modules/state-bar/waiting-scene/store.base.js +5 -0
  225. package/lib/modules/subtitles-history/components/actions.d.ts +5 -0
  226. package/lib/modules/subtitles-history/components/actions.js +36 -0
  227. package/lib/modules/subtitles-history/components/list-item.d.ts +12 -0
  228. package/lib/modules/subtitles-history/components/list-item.js +105 -0
  229. package/lib/modules/subtitles-history/components/list.d.ts +10 -0
  230. package/lib/modules/subtitles-history/components/list.js +182 -0
  231. package/lib/modules/subtitles-history/components/respond-dialog-content.d.ts +5 -0
  232. package/lib/modules/subtitles-history/components/respond-dialog-content.js +44 -0
  233. package/lib/modules/subtitles-history/components/settings/index.css +5 -0
  234. package/lib/modules/subtitles-history/components/settings/index.d.ts +2 -0
  235. package/lib/modules/subtitles-history/components/settings/index.js +53 -0
  236. package/lib/modules/subtitles-history/components/timer.d.ts +3 -0
  237. package/lib/modules/subtitles-history/components/timer.js +44 -0
  238. package/lib/modules/subtitles-history/components/title.d.ts +1 -0
  239. package/lib/modules/subtitles-history/components/title.js +15 -0
  240. package/lib/modules/subtitles-history/empty.d.ts +2 -0
  241. package/lib/modules/subtitles-history/empty.js +22 -0
  242. package/lib/modules/subtitles-history/index.css +129 -0
  243. package/lib/modules/subtitles-history/index.d.ts +13 -0
  244. package/lib/modules/{event-confirm → subtitles-history}/index.js +62 -31
  245. package/lib/modules/subtitles-history/store.base.d.ts +74 -0
  246. package/lib/modules/subtitles-history/store.base.js +786 -0
  247. package/lib/modules/subtitles-history/store.electron.d.ts +15 -0
  248. package/lib/{shared-data-source/security-data.js → modules/subtitles-history/store.electron.js} +75 -77
  249. package/lib/modules/subtitles-history/type.d.ts +4 -0
  250. package/lib/modules/subtitles-history/view.d.ts +1 -0
  251. package/lib/modules/subtitles-history/view.js +104 -0
  252. package/lib/modules/video-window/popover-watcher.js +4 -1
  253. package/lib/modules/video-window/store.js +7 -1
  254. package/lib/modules/video-window/view.js +14 -4
  255. package/lib/modules/whiteboard/components/toolbar/components/color-picker/components/picker.js +2 -2
  256. package/lib/modules/whiteboard/components/toolbar/components/eraser-picker.js +5 -5
  257. package/lib/modules/whiteboard/components/toolbar/components/pen-picker.js +15 -15
  258. package/lib/modules/whiteboard/components/toolbar/components/shape-picker.js +21 -21
  259. package/lib/modules/whiteboard/components/toolbar/hooks/index.js +23 -21
  260. package/lib/modules/whiteboard/components/toolbar/store.d.ts +7 -6
  261. package/lib/modules/whiteboard/components/toolbar/store.js +14 -15
  262. package/lib/modules/whiteboard/store.d.ts +2 -3
  263. package/lib/modules/whiteboard/store.electron.d.ts +2 -0
  264. package/lib/modules/whiteboard/store.electron.js +35 -0
  265. package/lib/modules/whiteboard/store.js +14 -2
  266. package/lib/modules/whiteboard/type.d.ts +0 -35
  267. package/lib/modules/whiteboard/type.js +1 -26
  268. package/lib/modules/widget/type.d.ts +3 -66
  269. package/lib/object-manager.d.ts +3 -1
  270. package/lib/object-manager.js +2 -0
  271. package/lib/providers/ability-provider.d.ts +24 -0
  272. package/lib/providers/ability-provider.js +21 -0
  273. package/lib/providers/app-list-provider.d.ts +90 -4
  274. package/lib/providers/app-list-provider.js +157 -13
  275. package/lib/providers/board-share/bar-control/base.d.ts +4 -5
  276. package/lib/providers/board-share/bar-control/base.js +4 -4
  277. package/lib/providers/board-share/bar-control/browser.d.ts +2 -2
  278. package/lib/providers/board-share/bar-control/electron.d.ts +4 -5
  279. package/lib/providers/board-share/bar-control/electron.js +2 -0
  280. package/lib/providers/board-share/provider.base.d.ts +6 -6
  281. package/lib/providers/board-share/provider.base.js +20 -3
  282. package/lib/providers/board-share/provider.browser.js +2 -2
  283. package/lib/providers/board-share/provider.electron.js +1 -2
  284. package/lib/providers/board-share/type.d.ts +1 -2
  285. package/lib/providers/device-provider.d.ts +15 -5
  286. package/lib/providers/device-provider.js +198 -144
  287. package/lib/providers/dialog/provider.base.js +1 -1
  288. package/lib/providers/dialog/provider.electron.js +3 -0
  289. package/lib/providers/interpreter-provider.js +4 -9
  290. package/lib/providers/multi-display-provider.d.ts +1 -1
  291. package/lib/providers/privilege-provider.d.ts +241 -139
  292. package/lib/providers/privilege-provider.js +577 -318
  293. package/lib/providers/room-provider/waiting-room-control-manager.d.ts +1 -1
  294. package/lib/providers/screen-share/constant.d.ts +1 -0
  295. package/lib/{modules/share-screen/types.js → providers/screen-share/constant.js} +3 -1
  296. package/lib/providers/screen-share/provider.base.d.ts +20 -7
  297. package/lib/providers/screen-share/provider.base.js +27 -27
  298. package/lib/providers/screen-share/provider.browser.js +14 -18
  299. package/lib/providers/screen-share/provider.electron.d.ts +8 -0
  300. package/lib/providers/screen-share/provider.electron.js +41 -13
  301. package/lib/providers/screen-share/strategy/browser.js +1 -1
  302. package/lib/providers/screen-share/strategy/electron.d.ts +2 -1
  303. package/lib/providers/screen-share/strategy/electron.js +64 -56
  304. package/lib/providers/screen-share/strategy/type.d.ts +2 -2
  305. package/lib/providers/screen-share/stream-state-sync.js +5 -3
  306. package/lib/providers/screen-share/struct.d.ts +14 -4
  307. package/lib/providers/screen-share/struct.js +16 -5
  308. package/lib/providers/screen-share/type.d.ts +32 -2
  309. package/lib/providers/stt-provider/stt-provider.d.ts +89 -0
  310. package/lib/providers/stt-provider/stt-provider.js +1008 -0
  311. package/lib/providers/stt-provider/type.d.ts +168 -0
  312. package/lib/providers/stt-provider/type.js +19 -0
  313. package/lib/providers/window/main-window.d.ts +1 -0
  314. package/lib/providers/window/main-window.js +6 -4
  315. package/lib/providers/window/renderer-window.d.ts +7 -0
  316. package/lib/providers/window/renderer-window.js +65 -4
  317. package/lib/providers/window/type.d.ts +5 -0
  318. package/lib/runtime.d.ts +8 -7
  319. package/lib/runtime.js +1 -2
  320. package/lib/scenes/main-scene.d.ts +1 -0
  321. package/lib/scenes/main-scene.js +144 -67
  322. package/lib/schema.d.ts +70 -8
  323. package/lib/schema.js +7 -2
  324. package/lib/shared-data/app-list-data.d.ts +4 -0
  325. package/lib/shared-data/app-list-data.js +21 -1
  326. package/lib/shared-data/config.d.ts +5 -1
  327. package/lib/shared-data/layout-data.d.ts +5 -0
  328. package/lib/shared-data/layout-data.js +35 -9
  329. package/lib/shared-data/member-data.d.ts +2 -3
  330. package/lib/shared-data/screen-share/index.d.ts +0 -2
  331. package/lib/shared-data/screen-share/index.js +20 -36
  332. package/lib/shared-data/screen-share/type.d.ts +0 -8
  333. package/lib/shared-data/security-data.d.ts +4 -0
  334. package/lib/shared-data/security-data.js +14 -10
  335. package/lib/shared-data/setting.d.ts +16 -1
  336. package/lib/shared-data/setting.js +32 -5
  337. package/lib/shared-data/stt-setting.ts/constant.d.ts +29 -0
  338. package/lib/shared-data/stt-setting.ts/constant.js +35 -0
  339. package/lib/shared-data/stt-setting.ts/index.d.ts +67 -0
  340. package/lib/{shared-data-source/layout-data.js → shared-data/stt-setting.ts/index.js} +96 -83
  341. package/lib/shared-data/stt-setting.ts/type.d.ts +10 -0
  342. package/lib/shared-data/stt-setting.ts/type.js +14 -0
  343. package/lib/shared-data/video-window.d.ts +1 -2
  344. package/lib/shared-data/video-window.js +20 -32
  345. package/lib/translations/enUS.d.ts +9 -0
  346. package/lib/translations/enUS.js +21 -4
  347. package/lib/translations/zhCN.d.ts +9 -0
  348. package/lib/translations/zhCN.js +21 -4
  349. package/lib/type.d.ts +20 -15
  350. package/lib/type.js +1 -0
  351. package/lib/{ui-scene.d.ts → ui-scene-switch.d.ts} +1 -1
  352. package/lib/{ui-scene.js → ui-scene-switch.js} +29 -9
  353. package/lib/utilities/constant.d.ts +6 -2
  354. package/lib/utilities/constant.js +5 -1
  355. package/lib/utilities/default-config.d.ts +3 -3
  356. package/lib/utilities/default-config.js +8 -18
  357. package/lib/utilities/focus-helper.js +18 -11
  358. package/lib/utilities/logger.js +1 -1
  359. package/lib/utilities/renderer.d.ts +4 -6
  360. package/lib/utilities/renderer.js +10 -4
  361. package/lib/utilities/tools.d.ts +1 -0
  362. package/lib/utilities/tools.js +6 -1
  363. package/lib/utilities/ui-resources.d.ts +9 -2
  364. package/lib/utilities/ui-resources.js +36 -12
  365. package/package.json +11 -6
  366. package/public/index.html +3 -149
  367. package/public/meeting-manager.js +405 -0
  368. package/installer/icons/favicon.ico +0 -0
  369. package/installer/icons/favicon.png +0 -0
  370. package/installer/icons/icon.png +0 -0
  371. package/installer/mac/entitlements.mac.plist +0 -20
  372. package/lib/creator.d.ts +0 -36
  373. package/lib/creator.js +0 -465
  374. package/lib/modules/action-bar/index.d.ts +0 -56
  375. package/lib/modules/action-bar/index.dev.d.ts +0 -0
  376. package/lib/modules/action-bar/index.dev.js +0 -94
  377. package/lib/modules/action-bar/index.js +0 -108
  378. package/lib/modules/action-bar/store.d.ts +0 -256
  379. package/lib/modules/action-bar/store.js +0 -1572
  380. package/lib/modules/action-bar/types.d.ts +0 -90
  381. package/lib/modules/action-bar/view.d.ts +0 -5
  382. package/lib/modules/action-bar/view.js +0 -112
  383. package/lib/modules/annotation/annotation-index.d.ts +0 -2
  384. package/lib/modules/annotation/annotation-index.js +0 -80
  385. package/lib/modules/annotation/annotation-toolbar-store.d.ts +0 -75
  386. package/lib/modules/annotation/annotation-toolbar-store.js +0 -459
  387. package/lib/modules/annotation/board-cursor.css +0 -77
  388. package/lib/modules/annotation/components/color-picker/components/color.d.ts +0 -5
  389. package/lib/modules/annotation/components/color-picker/components/color.js +0 -38
  390. package/lib/modules/annotation/components/color-picker/components/panel.d.ts +0 -1
  391. package/lib/modules/annotation/components/color-picker/components/panel.js +0 -109
  392. package/lib/modules/annotation/components/color-picker/components/picker.d.ts +0 -1
  393. package/lib/modules/annotation/components/color-picker/components/picker.js +0 -75
  394. package/lib/modules/annotation/components/color-picker/index.d.ts +0 -2
  395. package/lib/modules/annotation/components/color-picker/index.js +0 -47
  396. package/lib/modules/annotation/components/eraser-picker.d.ts +0 -4
  397. package/lib/modules/annotation/components/eraser-picker.js +0 -144
  398. package/lib/modules/annotation/components/expansion/index.d.ts +0 -1
  399. package/lib/modules/annotation/components/expansion/index.js +0 -100
  400. package/lib/modules/annotation/components/extra-tool-picker.d.ts +0 -1
  401. package/lib/modules/annotation/components/extra-tool-picker.js +0 -62
  402. package/lib/modules/annotation/components/history.d.ts +0 -2
  403. package/lib/modules/annotation/components/history.js +0 -78
  404. package/lib/modules/annotation/components/icons/fold-icon.d.ts +0 -2
  405. package/lib/modules/annotation/components/icons/fold-icon.js +0 -41
  406. package/lib/modules/annotation/components/icons/move-icon.d.ts +0 -1
  407. package/lib/modules/annotation/components/icons/move-icon.js +0 -66
  408. package/lib/modules/annotation/components/item/index.d.ts +0 -1
  409. package/lib/modules/annotation/components/item/index.js +0 -43
  410. package/lib/modules/annotation/components/move-handle.d.ts +0 -5
  411. package/lib/modules/annotation/components/move-handle.js +0 -134
  412. package/lib/modules/annotation/components/pen-picker.d.ts +0 -4
  413. package/lib/modules/annotation/components/pen-picker.js +0 -155
  414. package/lib/modules/annotation/components/screen-capture-picker.d.ts +0 -4
  415. package/lib/modules/annotation/components/screen-capture-picker.js +0 -85
  416. package/lib/modules/annotation/components/shape-picker.d.ts +0 -4
  417. package/lib/modules/annotation/components/shape-picker.js +0 -210
  418. package/lib/modules/annotation/hooks/index.d.ts +0 -14
  419. package/lib/modules/annotation/hooks/index.js +0 -292
  420. package/lib/modules/annotation/index.d.ts +0 -45
  421. package/lib/modules/annotation/store.d.ts +0 -98
  422. package/lib/modules/annotation/store.js +0 -621
  423. package/lib/modules/annotation/style.css +0 -36
  424. package/lib/modules/annotation/view.d.ts +0 -3
  425. package/lib/modules/annotation/view.js +0 -44
  426. package/lib/modules/components/device-control/store.d.ts +0 -42
  427. package/lib/modules/components/device-control/store.js +0 -241
  428. package/lib/modules/components/leave-meeting/store.d.ts +0 -39
  429. package/lib/modules/components/leave-meeting/store.js +0 -270
  430. package/lib/modules/control-bar/components/annotation-button/index.d.ts +0 -1
  431. package/lib/modules/control-bar/components/annotation-button/index.js +0 -72
  432. package/lib/modules/control-bar/reactor.d.ts +0 -2
  433. package/lib/modules/control-bar/reactor.js +0 -8
  434. package/lib/modules/control-bar/types.d.ts +0 -20
  435. package/lib/modules/dialog/dialogs/pre-setting/index.css +0 -26
  436. package/lib/modules/dialog/dialogs/pre-setting/index.d.ts +0 -6
  437. package/lib/modules/dialog/dialogs/pre-setting/index.js +0 -62
  438. package/lib/modules/dialog/dialogs/widget/electron.d.ts +0 -6
  439. package/lib/modules/dialog/dialogs/widget/electron.js +0 -38
  440. package/lib/modules/dialog/hooks/use-popover-watcher.d.ts +0 -14
  441. package/lib/modules/dialog/hooks/use-popover-watcher.js +0 -110
  442. package/lib/modules/dialog/hooks/useElectron.d.ts +0 -28
  443. package/lib/modules/dialog/hooks/useElectron.js +0 -277
  444. package/lib/modules/dialog/store.d.ts +0 -135
  445. package/lib/modules/dialog/store.js +0 -616
  446. package/lib/modules/event-confirm/components/window/index.d.ts +0 -4
  447. package/lib/modules/event-confirm/components/window/index.js +0 -197
  448. package/lib/modules/event-confirm/index.css +0 -24
  449. package/lib/modules/event-confirm/index.d.ts +0 -27
  450. package/lib/modules/event-confirm/store.d.ts +0 -45
  451. package/lib/modules/event-confirm/store.js +0 -345
  452. package/lib/modules/event-confirm/view.d.ts +0 -2
  453. package/lib/modules/event-confirm/view.js +0 -53
  454. package/lib/modules/event-toast/store.d.ts +0 -27
  455. package/lib/modules/event-toast/store.js +0 -205
  456. package/lib/modules/layout/store.d.ts +0 -176
  457. package/lib/modules/layout/store.js +0 -1466
  458. package/lib/modules/participant/components/participants/components/footer/components/footer/index.css +0 -17
  459. package/lib/modules/participant/components/participants/components/footer/components/footer/index.d.ts +0 -5
  460. package/lib/modules/participant/components/participants/components/footer/components/footer/index.js +0 -242
  461. package/lib/modules/participant/components/participants/components/participants/components/attendee/index.css +0 -192
  462. package/lib/modules/participant/components/participants/components/participants/components/attendee/index.d.ts +0 -4
  463. package/lib/modules/participant/components/participants/components/participants/components/attendee/index.js +0 -206
  464. package/lib/modules/participant/components/participants/components/participants/components/participants-more/index.css +0 -57
  465. package/lib/modules/participant/components/participants/components/participants/components/participants-more/index.d.ts +0 -5
  466. package/lib/modules/participant/components/participants/components/participants/components/participants-more/index.js +0 -229
  467. package/lib/modules/participant/components/participants/components/participants/components/user-row/index.d.ts +0 -5
  468. package/lib/modules/participant/components/participants/components/participants/components/user-row/index.js +0 -68
  469. package/lib/modules/participant/components/participants/components/participants/index.css +0 -105
  470. package/lib/modules/participant/components/participants/components/participants/index.d.ts +0 -3
  471. package/lib/modules/participant/components/participants/components/participants/index.js +0 -117
  472. package/lib/modules/participant/components/participants/types.d.ts +0 -101
  473. package/lib/modules/participant/components/participants/types.js +0 -37
  474. package/lib/modules/participant/store.d.ts +0 -222
  475. package/lib/modules/participant/store.js +0 -1927
  476. package/lib/modules/pc-audio-connect/index.d.ts +0 -22
  477. package/lib/modules/pc-audio-connect/index.js +0 -67
  478. package/lib/modules/pc-audio-connect/store.d.ts +0 -46
  479. package/lib/modules/pc-audio-connect/store.js +0 -304
  480. package/lib/modules/setting/common/advance-link.d.ts +0 -3
  481. package/lib/modules/setting/common/advance-link.js +0 -27
  482. package/lib/modules/setting/common/index.css +0 -26
  483. package/lib/modules/setting/common/useNamespace.d.ts +0 -15
  484. package/lib/modules/setting/common/useNamespace.js +0 -66
  485. package/lib/modules/setting/config.d.ts +0 -36
  486. package/lib/modules/setting/config.js +0 -36
  487. package/lib/modules/setting/dialog-wrapper.d.ts +0 -2
  488. package/lib/modules/setting/dialog-wrapper.js +0 -110
  489. package/lib/modules/setting/store.d.ts +0 -261
  490. package/lib/modules/setting/store.js +0 -1321
  491. package/lib/modules/share-screen/store.d.ts +0 -148
  492. package/lib/modules/share-screen/store.js +0 -950
  493. package/lib/modules/share-screen/types.d.ts +0 -26
  494. package/lib/modules/state-bar/store.d.ts +0 -124
  495. package/lib/modules/state-bar/store.js +0 -664
  496. package/lib/modules/whiteboard/components/progress/electron.d.ts +0 -1
  497. package/lib/modules/whiteboard/components/progress/electron.js +0 -33
  498. package/lib/modules/widget/sdk.d.ts +0 -30
  499. package/lib/modules/widget/sdk.js +0 -224
  500. package/lib/modules/widget/store.d.ts +0 -14
  501. package/lib/modules/widget/store.js +0 -28
  502. package/lib/providers/annotation-provider.d.ts +0 -124
  503. package/lib/providers/annotation-provider.js +0 -369
  504. package/lib/providers/dialog-provider.d.ts +0 -137
  505. package/lib/providers/dialog-provider.js +0 -194
  506. package/lib/providers/message-provider.d.ts +0 -69
  507. package/lib/providers/message-provider.js +0 -140
  508. package/lib/providers/room-provider.d.ts +0 -194
  509. package/lib/providers/room-provider.js +0 -916
  510. package/lib/providers/screen-share-provider.d.ts +0 -244
  511. package/lib/providers/screen-share-provider.js +0 -835
  512. package/lib/providers/sharing-provider.d.ts +0 -42
  513. package/lib/providers/sharing-provider.js +0 -221
  514. package/lib/providers/user-setting-storage-provider.d.ts +0 -21
  515. package/lib/providers/user-setting-storage-provider.js +0 -65
  516. package/lib/providers/whiteboard-provider.d.ts +0 -24
  517. package/lib/providers/whiteboard-provider.js +0 -127
  518. package/lib/shared-data-source/annotation-data.d.ts +0 -17
  519. package/lib/shared-data-source/annotation-data.js +0 -110
  520. package/lib/shared-data-source/app-list-data.d.ts +0 -34
  521. package/lib/shared-data-source/app-list-data.js +0 -133
  522. package/lib/shared-data-source/chat-data.d.ts +0 -25
  523. package/lib/shared-data-source/chat-data.js +0 -139
  524. package/lib/shared-data-source/config.d.ts +0 -35
  525. package/lib/shared-data-source/config.js +0 -40
  526. package/lib/shared-data-source/confirm-data.d.ts +0 -25
  527. package/lib/shared-data-source/confirm-data.js +0 -97
  528. package/lib/shared-data-source/device-privilege-data.d.ts +0 -8
  529. package/lib/shared-data-source/device-privilege-data.js +0 -25
  530. package/lib/shared-data-source/interpreter.d.ts +0 -77
  531. package/lib/shared-data-source/interpreter.js +0 -247
  532. package/lib/shared-data-source/layout-data.d.ts +0 -31
  533. package/lib/shared-data-source/meeting-time.d.ts +0 -90
  534. package/lib/shared-data-source/meeting-time.js +0 -416
  535. package/lib/shared-data-source/member-data.d.ts +0 -139
  536. package/lib/shared-data-source/member-data.js +0 -517
  537. package/lib/shared-data-source/pin-data.d.ts +0 -13
  538. package/lib/shared-data-source/pin-data.js +0 -111
  539. package/lib/shared-data-source/screen-share-data.d.ts +0 -364
  540. package/lib/shared-data-source/screen-share-data.js +0 -520
  541. package/lib/shared-data-source/security-data.d.ts +0 -39
  542. package/lib/shared-data-source/setting.d.ts +0 -67
  543. package/lib/shared-data-source/setting.js +0 -220
  544. package/lib/shared-data-source/speaker-spotlight.d.ts +0 -5
  545. package/lib/shared-data-source/speaker-spotlight.js +0 -15
  546. package/lib/shared-data-source/video-window.d.ts +0 -165
  547. package/lib/shared-data-source/video-window.js +0 -1266
  548. package/lib/shared-data-source/waiting-room.d.ts +0 -46
  549. package/lib/shared-data-source/waiting-room.js +0 -222
  550. package/lib/shared-data-source/whiteboard-data.d.ts +0 -68
  551. package/lib/shared-data-source/whiteboard-data.js +0 -347
  552. package/lib/utilities/board-context.d.ts +0 -4
  553. package/lib/utilities/board-context.js +0 -12
  554. package/lib/utilities/copyText.d.ts +0 -2
  555. package/lib/utilities/copyText.js +0 -48
  556. package/lib/utilities/renderer-event.d.ts +0 -10
  557. package/lib/utilities/renderer-event.js +0 -95
  558. package/lib/utilities/screen-capture-permission.d.ts +0 -2
  559. package/lib/utilities/screen-capture-permission.js +0 -24
  560. package/lib/utilities/screen.d.ts +0 -3
  561. package/lib/utilities/screen.js +0 -53
  562. package/lib/utilities/video-track-render-context.d.ts +0 -6
  563. package/lib/utilities/video-track-render-context.js +0 -9
  564. package/lib/waiting-room-control-manager.d.ts +0 -28
  565. package/lib/waiting-room-control-manager.js +0 -230
  566. package/lib/widget-sdk.d.ts +0 -2
  567. package/lib/widget-sdk.js +0 -13
  568. /package/lib/modules/{action-bar/types.js → subtitles-history/type.js} +0 -0
  569. /package/public/assets/electron/sound_effects/{pretest.mp3 → speakerTest.mp3} +0 -0
@@ -0,0 +1,848 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.symbol.js");
4
+ require("core-js/modules/es.array.filter.js");
5
+ require("core-js/modules/es.array.push.js");
6
+ require("core-js/modules/es.object.define-properties.js");
7
+ require("core-js/modules/es.object.define-property.js");
8
+ require("core-js/modules/es.object.get-own-property-descriptor.js");
9
+ require("core-js/modules/es.object.get-own-property-descriptors.js");
10
+ require("core-js/modules/es.reflect.construct.js");
11
+ require("core-js/modules/esnext.iterator.filter.js");
12
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
13
+ Object.defineProperty(exports, "__esModule", {
14
+ value: true
15
+ });
16
+ exports.ProcessManager = void 0;
17
+ require("core-js/modules/es.error.cause.js");
18
+ require("core-js/modules/es.error.to-string.js");
19
+ require("core-js/modules/es.array.concat.js");
20
+ require("core-js/modules/es.array.for-each.js");
21
+ require("core-js/modules/es.array.map.js");
22
+ require("core-js/modules/es.date.to-json.js");
23
+ require("core-js/modules/es.json.stringify.js");
24
+ require("core-js/modules/es.object.keys.js");
25
+ require("core-js/modules/es.object.to-string.js");
26
+ require("core-js/modules/esnext.iterator.constructor.js");
27
+ require("core-js/modules/esnext.iterator.for-each.js");
28
+ require("core-js/modules/esnext.iterator.map.js");
29
+ require("core-js/modules/esnext.json.parse.js");
30
+ require("core-js/modules/web.dom-collections.for-each.js");
31
+ require("core-js/modules/web.timers.js");
32
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
33
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
34
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
35
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
36
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
37
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
38
+ var _electron = require("electron");
39
+ var _os = _interopRequireDefault(require("os"));
40
+ var _events = require("events");
41
+ var _logger = require("../logger");
42
+ var _stateManager = require("./state-manager");
43
+ var _eventManager = require("./event-manager");
44
+ var _ipc = require("../ipc/ipc");
45
+ var _type = require("../ipc/type");
46
+ var _exitCodes = require("../exit-codes");
47
+ var _struct = require("../struct");
48
+ var _until = require("../until");
49
+ var _constants = require("./constants");
50
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
51
+ 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; }
52
+ function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
53
+ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
54
+ /**
55
+ * ProcessManager 配置
56
+ */
57
+
58
+ /**
59
+ * 默认配置
60
+ */
61
+ var DEFAULT_CONFIG = {
62
+ port: 50000,
63
+ isDev: false
64
+ };
65
+
66
+ /**
67
+ * ProcessManager 负责协调整个进程的生命周期
68
+ * - 管理 IPC 通信
69
+ * - 内部管理 stateManager 和 eventManager
70
+ * - 处理窗口事件
71
+ * - 处理 IPC 消息
72
+ * - 提供完整的初始化和清理流程
73
+ */
74
+ var ProcessManager = exports.ProcessManager = /*#__PURE__*/function (_EventEmitter) {
75
+ function ProcessManager() {
76
+ var _this;
77
+ var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
78
+ (0, _classCallCheck2["default"])(this, ProcessManager);
79
+ _this = _callSuper(this, ProcessManager);
80
+
81
+ // 合并配置和默认值
82
+ (0, _defineProperty2["default"])(_this, "logger", (0, _logger.getLogger)());
83
+ // process manager 初始化状态
84
+ (0, _defineProperty2["default"])(_this, "isInitialized", false);
85
+ // process manager 释放状态
86
+ (0, _defineProperty2["default"])(_this, "isReleased", false);
87
+ _this.config = _objectSpread(_objectSpread({}, DEFAULT_CONFIG), config);
88
+
89
+ // 验证配置
90
+ _this._validateConfig();
91
+
92
+ // 初始化状态管理器和事件管理器
93
+ _this.stateManager = new _stateManager.StateManager();
94
+ _this.eventManager = new _eventManager.EventManager();
95
+
96
+ // 初始化 IPC 客户端
97
+ _this.ipcClient = new _ipc.IPCClient({
98
+ port: _this.config.port
99
+ });
100
+ _this._setupIPCClient();
101
+ _this.logger.info("ProcessManager created with config: ".concat(JSON.stringify(_this.config)));
102
+ return _this;
103
+ }
104
+
105
+ /**
106
+ * 验证配置参数
107
+ */
108
+ (0, _inherits2["default"])(ProcessManager, _EventEmitter);
109
+ return (0, _createClass2["default"])(ProcessManager, [{
110
+ key: "_validateConfig",
111
+ value: function _validateConfig() {
112
+ if (this.config.port < 1 || this.config.port > 65535) {
113
+ throw new Error("Invalid port number: ".concat(this.config.port, ". Port must be between 1 and 65535."));
114
+ }
115
+ if (typeof this.config.isDev !== 'boolean') {
116
+ throw new Error("Invalid isDev value: ".concat(this.config.isDev, ". Musth be a boolean."));
117
+ }
118
+ }
119
+
120
+ // ==================== IPC 客户端设置 ====================
121
+
122
+ /**
123
+ * 设置 IPC 客户端的事件监听
124
+ */
125
+ }, {
126
+ key: "_setupIPCClient",
127
+ value: function _setupIPCClient() {
128
+ var _this2 = this;
129
+ this.ipcClient.addObserver({
130
+ onConnected: function onConnected() {
131
+ return _this2._handleIPCConnected();
132
+ },
133
+ onDisconnected: function onDisconnected() {
134
+ return _this2._handleIPCDisconnected();
135
+ },
136
+ onMessageReceived: function onMessageReceived(message) {
137
+ return _this2._handleIPCMessage(message);
138
+ },
139
+ onError: function onError(error) {
140
+ return _this2._handleIPCError(error);
141
+ }
142
+ });
143
+ }
144
+
145
+ /**
146
+ * IPC 连接成功处理
147
+ */
148
+ }, {
149
+ key: "_handleIPCConnected",
150
+ value: function _handleIPCConnected() {
151
+ this.logger.info('IPC client connected to server');
152
+ this.stateManager.setIPCConnectionState(_stateManager.IPCConnectionState.CONNECTED);
153
+
154
+ // 如果主窗口已准备就绪,通知服务器
155
+ if (this.stateManager.mainWindowReady) {
156
+ this._sendMainWindowLoaded();
157
+ }
158
+ }
159
+
160
+ /**
161
+ * IPC 断开连接处理
162
+ */
163
+ }, {
164
+ key: "_handleIPCDisconnected",
165
+ value: function _handleIPCDisconnected() {
166
+ this.logger.info('IPC client disconnected from server, closing all windows');
167
+ this.stateManager.setIPCConnectionState(_stateManager.IPCConnectionState.DISCONNECTED);
168
+
169
+ // 关闭所有窗口并退出应用
170
+ _electron.BrowserWindow.getAllWindows().forEach(function (window) {
171
+ if (!window.isDestroyed()) {
172
+ window.close();
173
+ }
174
+ });
175
+ _electron.app.exit(_exitCodes.AppExitCode.NORMAL_EXIT);
176
+ }
177
+
178
+ /**
179
+ * IPC 消息接收处理
180
+ */
181
+ }, {
182
+ key: "_handleIPCMessage",
183
+ value: function _handleIPCMessage(message) {
184
+ switch (message.cmd) {
185
+ case _type.IPCMessageCMD.LaunchMeeting:
186
+ this._handleLaunchMeeting(message.data);
187
+ break;
188
+ case _type.IPCMessageCMD.InitCreator:
189
+ this._handleInitCreator(message.data);
190
+ break;
191
+ case _type.IPCMessageCMD.OpenSetting:
192
+ this._handleOpenSetting(message.data);
193
+ break;
194
+ case _type.IPCMessageCMD.CloseSetting:
195
+ this._handleCloseSetting(message.data);
196
+ break;
197
+ case _type.IPCMessageCMD.SetParameters:
198
+ this._handleSetParameters(message.data);
199
+ break;
200
+ case _type.IPCMessageCMD.RenewUserToken:
201
+ this._handleRenewUserToken(message.data);
202
+ break;
203
+ case _type.IPCMessageCMD.ExitUiScene:
204
+ this._handleExitUiScene(message.data);
205
+ break;
206
+ case _type.IPCMessageCMD.GetDependencyVersions:
207
+ this._handleGetDependencyVersions(message.data);
208
+ break;
209
+ default:
210
+ this.logger.info("CPP EVENT: Unknown command: ".concat(message.cmd));
211
+ break;
212
+ }
213
+ }
214
+
215
+ /**
216
+ * IPC 错误处理
217
+ */
218
+ }, {
219
+ key: "_handleIPCError",
220
+ value: function _handleIPCError(error) {
221
+ this.logger.error("IPC Error: ".concat(error));
222
+ this.stateManager.setIPCConnectionState(_stateManager.IPCConnectionState.ERROR);
223
+ }
224
+
225
+ // ==================== IPC 消息处理器 ====================
226
+
227
+ /**
228
+ * 处理启动会议消息
229
+ */
230
+ }, {
231
+ key: "_handleLaunchMeeting",
232
+ value: function _handleLaunchMeeting(data) {
233
+ var roomId = '';
234
+ // 参数是客户传递,最好是校验一下
235
+ if (data && typeof data.roomId === 'string') {
236
+ roomId = data.roomId;
237
+ }
238
+ if (!roomId) {
239
+ this.logger.error('roomId is required');
240
+ return;
241
+ }
242
+
243
+ // 检查当前launch状态,如果正在处理中则拒绝新的launch请求
244
+ if (!this.eventManager.canLaunchMeeting()) {
245
+ this.logger.warn("CPP EVENT: Launch request rejected: already in PROCESSING state. Current state: ".concat(_struct.FcrUISceneLaunchState[this.eventManager.launchState]));
246
+
247
+ // 发送失败消息给客户端
248
+ this.ipcClient.sendMessage({
249
+ cmd: _type.IPCMessageCMD.LaunchFailure,
250
+ data: {
251
+ roomId: roomId,
252
+ errorCode: _until.meetingLaunchProcessingErrorCode
253
+ }
254
+ });
255
+ return;
256
+ }
257
+ this.eventManager.startMeetingProcess(roomId);
258
+ this.logger.info("CPP EVENT: LaunchMeeting: ".concat(JSON.stringify(data), ", has mainWindow ").concat(this.stateManager.isMainWindowAvailable(), ", state changed to ").concat(_struct.FcrUISceneLaunchState[this.eventManager.launchState]));
259
+
260
+ // 显示并聚焦主窗口
261
+ var mainWindow = this.stateManager.mainWindow;
262
+ if (mainWindow) {
263
+ // 发送 LaunchMeeting 消息,包含当前数据和上次的初始化参数
264
+ mainWindow.webContents.send(_type.IPCMessageCMD.LaunchMeeting, {
265
+ data: data,
266
+ lastInitParams: this.stateManager.lastInitParams
267
+ });
268
+
269
+ // Windows 平台特殊处理
270
+ var platform = _os["default"].platform();
271
+ if (platform === 'win32') {
272
+ this.logger.info('windows_index setAlwaysOnTop in process-manager');
273
+ this.stateManager.showAndFocusWithAlwaysOnTop();
274
+ } else {
275
+ this.stateManager.showAndFocusMainWindow();
276
+ }
277
+ }
278
+ }
279
+
280
+ /**
281
+ * 处理初始化创建者消息
282
+ */
283
+ }, {
284
+ key: "_handleInitCreator",
285
+ value: function _handleInitCreator(data) {
286
+ this.logger.info("InitCreator: ".concat(JSON.stringify(data)));
287
+
288
+ // 保存初始化参数,用于后续 LaunchMeeting 时传递
289
+ this.stateManager.setLastInitParams(JSON.stringify(data));
290
+
291
+ // 检查调用顺序:如果是 init -> launch 但 launch 在 PROCESSING 阶段,需要报错
292
+ if (this.eventManager.launchState === _struct.FcrUISceneLaunchState.PROCESSING) {
293
+ this.logger.error("CPP EVENT: InitCreator call rejected: Launch is already in PROCESSING state. Please complete the current launch cycle first.");
294
+ return;
295
+ }
296
+ this.logger.info("InitCreator: Initialization completed");
297
+ try {
298
+ var parsedData = data;
299
+ if (typeof data === 'string') {
300
+ parsedData = JSON.parse(data);
301
+ }
302
+ if (parsedData['appUserModelId']) {
303
+ _electron.app.setAppUserModelId(parsedData['appUserModelId']);
304
+ }
305
+ } catch (e) {
306
+ this.logger.error("InitCreator: ".concat(e));
307
+ }
308
+ this._forwardMessageToRenderer(_type.IPCMessageCMD.InitCreator, data);
309
+ }
310
+
311
+ /**
312
+ * 处理打开设置消息
313
+ */
314
+ }, {
315
+ key: "_handleOpenSetting",
316
+ value: function _handleOpenSetting(data) {
317
+ this.logger.info("CPP EVENT: OpenSetting: ".concat(JSON.stringify(data)));
318
+ this._forwardMessageToRenderer(_type.IPCMessageCMD.OpenSetting, data);
319
+ }
320
+
321
+ /**
322
+ * 处理关闭设置消息
323
+ */
324
+ }, {
325
+ key: "_handleCloseSetting",
326
+ value: function _handleCloseSetting(data) {
327
+ this.logger.info("CPP EVENT: CloseSetting: ".concat(JSON.stringify(data)));
328
+ this._forwardMessageToRenderer(_type.IPCMessageCMD.CloseSetting, data);
329
+ }
330
+
331
+ /**
332
+ * 处理设置参数消息
333
+ */
334
+ }, {
335
+ key: "_handleSetParameters",
336
+ value: function _handleSetParameters(data) {
337
+ this.logger.info("CPP EVENT: SetParameters: ".concat(JSON.stringify(data)));
338
+ this._forwardMessageToRenderer(_type.IPCMessageCMD.SetParameters, data);
339
+ }
340
+
341
+ /**
342
+ * 处理更新用户令牌消息
343
+ */
344
+ }, {
345
+ key: "_handleRenewUserToken",
346
+ value: function _handleRenewUserToken(data) {
347
+ this.logger.info("CPP EVENT: RenewUserToken: ".concat(JSON.stringify(data)));
348
+ this._forwardMessageToRenderer(_type.IPCMessageCMD.RenewUserToken, data);
349
+ }
350
+
351
+ /**
352
+ * 处理退出 UI 场景消息
353
+ */
354
+ }, {
355
+ key: "_handleExitUiScene",
356
+ value: function _handleExitUiScene(data) {
357
+ this.logger.info("CPP EVENT: ExitUiScene: ".concat(JSON.stringify(data)));
358
+ this._forwardMessageToRenderer(_type.IPCMessageCMD.ExitUiScene, data);
359
+ }
360
+
361
+ /**
362
+ * 处理获取依赖版本消息
363
+ */
364
+ }, {
365
+ key: "_handleGetDependencyVersions",
366
+ value: function _handleGetDependencyVersions(data) {
367
+ this.logger.info("CPP EVENT: GetDependencyVersions: ".concat(JSON.stringify(data)));
368
+ this._forwardMessageToRenderer(_type.IPCMessageCMD.GetDependencyVersions, data);
369
+ }
370
+
371
+ /**
372
+ * 转发消息到渲染进程
373
+ */
374
+ }, {
375
+ key: "_forwardMessageToRenderer",
376
+ value: function _forwardMessageToRenderer(cmd, data) {
377
+ var mainWindow = this.stateManager.mainWindow;
378
+ if (mainWindow && !mainWindow.isDestroyed()) {
379
+ this.logger.info("forwardMessageToRenderer: ".concat(cmd, ", ").concat(JSON.stringify(data)));
380
+ mainWindow.webContents.send(cmd, data);
381
+ }
382
+ }
383
+
384
+ // ==================== 窗口事件设置 ====================
385
+
386
+ /**
387
+ * 设置主窗口的事件监听
388
+ */
389
+ }, {
390
+ key: "setupMainWindowListeners",
391
+ value: function setupMainWindowListeners(mainWindow) {
392
+ var _this3 = this;
393
+ // 窗口状态事件
394
+ mainWindow.addListener('minimize', function () {
395
+ return _this3._handleWindowMinimize();
396
+ });
397
+ mainWindow.addListener('show', function () {
398
+ return _this3._handleWindowShow();
399
+ });
400
+ mainWindow.addListener('hide', function () {
401
+ return _this3._handleWindowHide();
402
+ });
403
+ mainWindow.addListener('close', function (e) {
404
+ return _this3._handleWindowClose(e);
405
+ });
406
+ mainWindow.addListener('closed', function () {
407
+ return _this3._handleWindowClosed();
408
+ });
409
+
410
+ // 渲染进程崩溃事件
411
+ mainWindow.webContents.addListener('render-process-gone', function () {
412
+ return _this3._handleRenderProcessGone();
413
+ });
414
+
415
+ // 页面加载完成事件
416
+ mainWindow.webContents.addListener('did-finish-load', function () {
417
+ return _this3._handleDidFinishLoad();
418
+ });
419
+
420
+ // Windows 特定事件
421
+ mainWindow.addListener('always-on-top-changed', function (event, alwaysOnTop) {
422
+ _this3.logger.info("windows_index main window always-on-top-changed: ".concat(alwaysOnTop));
423
+ });
424
+ this.logger.info('Main window listeners setup completed');
425
+ }
426
+
427
+ /**
428
+ * 处理窗口最小化事件
429
+ */
430
+ }, {
431
+ key: "_handleWindowMinimize",
432
+ value: function _handleWindowMinimize() {
433
+ this.logger.info('windows_release main window minimized');
434
+ this.stateManager.setMainWindowDisplayState(_struct.DisplayState.MINIMIZE);
435
+ this.stateManager.setUserMinimize(true);
436
+ }
437
+
438
+ /**
439
+ * 处理窗口显示事件
440
+ */
441
+ }, {
442
+ key: "_handleWindowShow",
443
+ value: function _handleWindowShow() {
444
+ this.logger.info('windows_release main window show');
445
+ this.stateManager.setMainWindowDisplayState(_struct.DisplayState.SHOW);
446
+ this.stateManager.setUserMinimize(false);
447
+ this.stateManager.focusMainWindow();
448
+ }
449
+
450
+ /**
451
+ * 处理窗口隐藏事件
452
+ */
453
+ }, {
454
+ key: "_handleWindowHide",
455
+ value: function _handleWindowHide() {
456
+ this.logger.info("windows_release main window hidden, current launch state: ".concat(_struct.FcrUISceneLaunchState[this.eventManager.launchState]));
457
+ this.logger.info("windows_release the main window is hide, all window State: ".concat(_electron.BrowserWindow.getAllWindows().map(function (windowItem) {
458
+ return "the window id ".concat(windowItem.id, " ").concat(windowItem.getTitle(), " ").concat(windowItem.isVisible());
459
+ })));
460
+ this.stateManager.setMainWindowDisplayState(_struct.DisplayState.HIDE);
461
+
462
+ // 如果是用户主动最小化,忽略此事件
463
+ if (this.stateManager.userMinimize) {
464
+ this.logger.info('windows_release main window hidden, but user minimize, ignore this event');
465
+ return;
466
+ }
467
+
468
+ // 只在 PROCESSING 状态下处理窗口隐藏事件
469
+ if (this.eventManager.launchState !== _struct.FcrUISceneLaunchState.PROCESSING) {
470
+ return;
471
+ }
472
+ try {
473
+ var _this$stateManager$ma;
474
+ // 再会议启动过程中,窗口被其他窗口遮挡也会触发hide事件,实际窗口在后面运行,所以需要判断窗口是否可见
475
+ if ((_this$stateManager$ma = this.stateManager.mainWindow) !== null && _this$stateManager$ma !== void 0 && _this$stateManager$ma.isVisible()) {
476
+ (0, _logger.getLogger)().info('windows_release main window hidden, but window is visible, ignore this event');
477
+ return;
478
+ }
479
+ } catch (error) {
480
+ (0, _logger.getLogger)().error("windows_release main window hide, get main window visible error");
481
+ }
482
+ this.ipcClient.sendMessage({
483
+ cmd: _type.IPCMessageCMD.ExitedMeeting,
484
+ data: {
485
+ roomId: this.eventManager.roomId,
486
+ reason: _until.windowHideErrorCode
487
+ }
488
+ });
489
+ this.eventManager.onExitedMeeting(this.eventManager.roomId, 'window hidden');
490
+ }
491
+
492
+ /**
493
+ * 处理窗口关闭事件
494
+ */
495
+ }, {
496
+ key: "_handleWindowClose",
497
+ value: function _handleWindowClose(e) {
498
+ var _this4 = this;
499
+ this.stateManager.setMainWindowDisplayState(_struct.DisplayState.HIDE);
500
+ var mainWindow = this.stateManager.mainWindow;
501
+ if (!mainWindow) {
502
+ this.logger.error('main window not found,Or it has been destroyed and cannot handle the window closing event.');
503
+ return;
504
+ }
505
+ var closeListenerCount = mainWindow.listenerCount('close');
506
+ this.logger.info("windows_release main window close listener count: ".concat(closeListenerCount, ", currentMeetingState: ").concat(this.stateManager.currentMeetingState));
507
+
508
+ // 只有在会议启动中才处理窗口关闭事件,其他状态走默认的会中逻辑
509
+ if (this.stateManager.currentMeetingState === 0) {
510
+ if (this.eventManager.launchState === _struct.FcrUISceneLaunchState.PROCESSING) {
511
+ this.eventManager.onCloseWindow();
512
+ }
513
+ e.preventDefault();
514
+ this.logger.info('windows_release main window close event prevented');
515
+ this.logger.info("windows_release main window close event prevented send close-window-before-launch-success, listener count: ".concat(mainWindow.listenerCount('close-window-before-launch-success')));
516
+ mainWindow.webContents.send('close-window-before-launch-success');
517
+ this.ipcClient.sendMessage({
518
+ cmd: _type.IPCMessageCMD.ExitedMeeting,
519
+ data: {
520
+ roomId: this.eventManager.roomId,
521
+ reason: _until.closeWindowBeforeLaunchSuccessErrorCode
522
+ }
523
+ });
524
+ this.logger.info('main window close event prevented');
525
+ setTimeout(function () {
526
+ if (_this4.stateManager.isMainWindowAvailable()) {
527
+ _this4.stateManager.hideMainWindow();
528
+ }
529
+ }, _constants.DEFAULT_TIMEOUT);
530
+ }
531
+ }
532
+
533
+ /**
534
+ * 处理窗口已关闭事件
535
+ */
536
+ }, {
537
+ key: "_handleWindowClosed",
538
+ value: function _handleWindowClosed() {
539
+ this.logger.info('windows_release main window closed');
540
+ _electron.app.exit(_exitCodes.AppExitCode.NORMAL_EXIT);
541
+ }
542
+
543
+ /**
544
+ * 处理窗口无响应事件
545
+ */
546
+ }, {
547
+ key: "handleWindowUnresponsive",
548
+ value: function handleWindowUnresponsive() {
549
+ this.logger.warn("main window unresponsive");
550
+ this.logger.error('Window hang detected, forcing exit');
551
+ this.eventManager.onExitedMeeting(this.eventManager.roomId, _struct.FcrUISceneLaunchEndReason.HANG_DETECTION);
552
+ this.ipcClient.sendMessage({
553
+ cmd: _type.IPCMessageCMD.Error,
554
+ data: {
555
+ errorCode: _until.hangDetectionErrorCode,
556
+ message: 'Window hang detected, forcing exit'
557
+ }
558
+ });
559
+ _electron.app.exit(_exitCodes.AppExitCode.HANG_DETECTION_EXIT);
560
+ }
561
+
562
+ /**
563
+ * 处理渲染进程崩溃事件
564
+ */
565
+ }, {
566
+ key: "_handleRenderProcessGone",
567
+ value: function _handleRenderProcessGone() {
568
+ var roomId = this.eventManager.roomId;
569
+ this.ipcClient.sendMessage({
570
+ cmd: _type.IPCMessageCMD.ExitedMeeting,
571
+ data: {
572
+ roomId: roomId,
573
+ reason: _until.crashedErrorCode
574
+ }
575
+ });
576
+ this.eventManager.onExitedMeeting(roomId, _struct.FcrUISceneLaunchEndReason.CRASHED);
577
+ }
578
+
579
+ /**
580
+ * 处理页面加载完成事件
581
+ */
582
+ }, {
583
+ key: "_handleDidFinishLoad",
584
+ value: function _handleDidFinishLoad() {
585
+ this.stateManager.setMainWindowReady(true);
586
+ this._sendMainWindowLoaded();
587
+ }
588
+
589
+ // ==================== IPC Main 事件设置 ====================
590
+
591
+ /**
592
+ * 设置 IPC Main 事件监听
593
+ */
594
+ }, {
595
+ key: "setupIPCMainListeners",
596
+ value: function setupIPCMainListeners() {
597
+ var _this5 = this;
598
+ _electron.ipcMain.addListener('launch-success', function (_, roomId) {
599
+ return _this5._handleLaunchSuccess(roomId);
600
+ });
601
+ _electron.ipcMain.addListener('launch-failure', function (_, roomId, errorCode) {
602
+ return _this5._handleLaunchFailure(roomId, errorCode);
603
+ });
604
+ _electron.ipcMain.addListener('exited-meeting', function (_, roomId, reason) {
605
+ return _this5._handleExitedMeeting(roomId, reason);
606
+ });
607
+ _electron.ipcMain.addListener('widget-clicked', function (_, widgetId) {
608
+ return _this5._handleWidgetClicked(widgetId);
609
+ });
610
+ _electron.ipcMain.addListener('user-token-will-expire', function () {
611
+ return _this5._handleUserTokenWillExpire();
612
+ });
613
+ _electron.ipcMain.addListener('current-dependency-versions', function (_, dependencyVersions) {
614
+ return _this5._handleCurrentDependencyVersionResponse(dependencyVersions);
615
+ });
616
+ this.logger.info('IPC Main listeners setup completed');
617
+ }
618
+
619
+ /**
620
+ * 处理启动成功事件
621
+ */
622
+ }, {
623
+ key: "_handleLaunchSuccess",
624
+ value: function _handleLaunchSuccess(roomId) {
625
+ if (this.eventManager.launchState !== _struct.FcrUISceneLaunchState.PROCESSING) {
626
+ this.logger.warn("launch-success: ".concat(roomId, ", but launch state is not PROCESSING, current state is ").concat(_struct.FcrUISceneLaunchState[this.eventManager.launchState]));
627
+ return;
628
+ }
629
+ this.eventManager.onLaunchSuccess(roomId);
630
+ this.logger.info("launch-success: ".concat(roomId));
631
+ this.ipcClient.sendMessage({
632
+ cmd: _type.IPCMessageCMD.LaunchSuccess,
633
+ data: {
634
+ roomId: roomId
635
+ }
636
+ });
637
+ }
638
+
639
+ /**
640
+ * 处理启动失败事件
641
+ */
642
+ }, {
643
+ key: "_handleLaunchFailure",
644
+ value: function _handleLaunchFailure(roomId, errorCode) {
645
+ if (this.eventManager.launchState !== _struct.FcrUISceneLaunchState.PROCESSING) {
646
+ this.logger.warn("launch-failure: ".concat(roomId, ", but launch state is not PROCESSING, current state is ").concat(_struct.FcrUISceneLaunchState[this.eventManager.launchState]));
647
+ return;
648
+ }
649
+ if (!roomId || typeof roomId !== 'string') {
650
+ this.logger.error("Invalid roomId: ".concat(roomId));
651
+ return;
652
+ }
653
+ this.eventManager.onLaunchFailure(roomId, errorCode);
654
+ this.ipcClient.sendMessage({
655
+ cmd: _type.IPCMessageCMD.LaunchFailure,
656
+ data: {
657
+ roomId: roomId,
658
+ errorCode: errorCode
659
+ }
660
+ });
661
+ }
662
+
663
+ /**
664
+ * 处理退出会议事件
665
+ */
666
+ }, {
667
+ key: "_handleExitedMeeting",
668
+ value: function _handleExitedMeeting(roomId, reason) {
669
+ if (this.eventManager.launchState === _struct.FcrUISceneLaunchState.END && this.eventManager.endReason === _struct.FcrUISceneLaunchEndReason.CLOSE_WINDOW) {
670
+ this.logger.warn("exited-meeting: ".concat(roomId, ", but launch state is END with closeWindow reason, ignore this event"));
671
+ return;
672
+ }
673
+ this.ipcClient.sendMessage({
674
+ cmd: _type.IPCMessageCMD.ExitedMeeting,
675
+ data: {
676
+ roomId: roomId,
677
+ reason: reason
678
+ }
679
+ });
680
+ this.eventManager.onExitedMeeting(roomId, 'exited-meeting');
681
+ }
682
+
683
+ /**
684
+ * 处理小部件点击事件
685
+ */
686
+ }, {
687
+ key: "_handleWidgetClicked",
688
+ value: function _handleWidgetClicked(widgetId) {
689
+ this.logger.info("widget-clicked: ".concat(widgetId));
690
+ this.ipcClient.sendMessage({
691
+ cmd: _type.IPCMessageCMD.WidgetClicked,
692
+ data: {
693
+ widgetId: widgetId
694
+ }
695
+ });
696
+ }
697
+
698
+ /**
699
+ * 处理用户令牌即将过期事件
700
+ */
701
+ }, {
702
+ key: "_handleUserTokenWillExpire",
703
+ value: function _handleUserTokenWillExpire() {
704
+ this.logger.info("user-token-will-expire");
705
+ this.ipcClient.sendMessage({
706
+ cmd: _type.IPCMessageCMD.TokenWillExpire,
707
+ data: {}
708
+ });
709
+ }
710
+ }, {
711
+ key: "_handleCurrentDependencyVersionResponse",
712
+ value: function _handleCurrentDependencyVersionResponse(dependencyVersions) {
713
+ this.logger.info("current-dependency-versions in bootstrap-sdk: ".concat(JSON.stringify(dependencyVersions)));
714
+ this.ipcClient.sendMessage({
715
+ cmd: _type.IPCMessageCMD.CurrentDependencyVersions,
716
+ data: {
717
+ dependencyVersions: dependencyVersions
718
+ }
719
+ });
720
+ }
721
+
722
+ // ==================== 辅助方法 ====================
723
+
724
+ /**
725
+ * 发送主窗口已加载消息
726
+ */
727
+ }, {
728
+ key: "_sendMainWindowLoaded",
729
+ value: function _sendMainWindowLoaded() {
730
+ this.ipcClient.sendMessage({
731
+ cmd: _type.IPCMessageCMD.ElectronMainWindowLoaded,
732
+ data: {}
733
+ });
734
+ }
735
+
736
+ /**
737
+ * 获取进程状态描述
738
+ */
739
+ }, {
740
+ key: "getProcessDescription",
741
+ value: function getProcessDescription() {
742
+ return "ProcessManager: {\n initialized: ".concat(this.isInitialized, ",\n released: ").concat(this.isReleased, ",\n config: ").concat(JSON.stringify(this.config), ",\n ").concat(this.stateManager.getStateDescription(), ",\n ").concat(this.eventManager.getStateDescription(), "\n }");
743
+ }
744
+
745
+ // ==================== 公共接口 ====================
746
+
747
+ /**
748
+ * 初始化 ProcessManager
749
+ * @param window 主窗口实例
750
+ */
751
+ }, {
752
+ key: "init",
753
+ value: function init(window) {
754
+ if (this.isReleased) {
755
+ this.logger.error('Cannot initialize ProcessManager: already released');
756
+ return;
757
+ }
758
+ if (this.isInitialized) {
759
+ this.logger.warn('ProcessManager already initialized, skipping...');
760
+ return;
761
+ }
762
+ this.logger.info('ProcessManager initializing...');
763
+ try {
764
+ // 验证窗口实例
765
+ if (!window || window.isDestroyed()) {
766
+ this.logger.error('Invalid window instance provided to ProcessManager.init()');
767
+ return;
768
+ }
769
+ this.setMainWindow(window);
770
+ this.setupMainWindowListeners(window);
771
+ this.setupIPCMainListeners();
772
+ this.isInitialized = true;
773
+ this.logger.info('ProcessManager initialized successfully');
774
+ } catch (error) {
775
+ this.logger.error("ProcessManager initialization failed: ".concat(error));
776
+ }
777
+ }
778
+
779
+ /**
780
+ * 检查是否已初始化
781
+ */
782
+ }, {
783
+ key: "initialized",
784
+ get: function get() {
785
+ return this.isInitialized && !this.isReleased;
786
+ }
787
+
788
+ /**
789
+ * 获取配置信息
790
+ */
791
+ }, {
792
+ key: "getConfig",
793
+ value: function getConfig() {
794
+ return _objectSpread({}, this.config);
795
+ }
796
+
797
+ /**
798
+ * 设置主窗口
799
+ * 供外部调用,将主窗口设置到 StateManager
800
+ */
801
+ }, {
802
+ key: "setMainWindow",
803
+ value: function setMainWindow(window) {
804
+ if (this.isReleased) {
805
+ this.logger.error('Cannot set main window: ProcessManager already released');
806
+ return;
807
+ }
808
+ this.stateManager.setMainWindow(window);
809
+ this.logger.info('Main window set to ProcessManager');
810
+ }
811
+
812
+ // ==================== 清理 ====================
813
+
814
+ /**
815
+ * 清理所有资源
816
+ * 包括 stateManager、eventManager 和 processManager 自身
817
+ */
818
+ }, {
819
+ key: "release",
820
+ value: function release() {
821
+ if (this.isReleased) {
822
+ this.logger.warn('ProcessManager already released, skipping...');
823
+ return;
824
+ }
825
+ this.logger.info('ProcessManager releasing resources...');
826
+ try {
827
+ // 清理状态管理器
828
+ this.stateManager.release();
829
+ this.logger.info('StateManager released');
830
+
831
+ // 清理事件管理器
832
+ this.eventManager.release();
833
+ this.logger.info('EventManager released');
834
+
835
+ // 清理自身
836
+ // this.removeAllListeners();
837
+
838
+ // 标记为已释放
839
+ this.isReleased = true;
840
+ this.isInitialized = false;
841
+ this.logger.info('ProcessManager released successfully');
842
+ } catch (error) {
843
+ this.logger.error("ProcessManager release failed: ".concat(error));
844
+ throw error;
845
+ }
846
+ }
847
+ }]);
848
+ }(_events.EventEmitter);