fcr-ui-scene 3.6.2 → 3.6.4-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (374) hide show
  1. package/lib/base.js +0 -3
  2. package/lib/creator.d.ts +1 -0
  3. package/lib/creator.js +63 -52
  4. package/lib/electron/app.js +33 -14
  5. package/lib/electron/bootstrap-dev.js +5 -3
  6. package/lib/electron/bootstrap-sdk.js +4 -10
  7. package/lib/electron/exit-codes.d.ts +14 -0
  8. package/lib/electron/exit-codes.js +22 -0
  9. package/lib/electron/injections.d.ts +3 -2
  10. package/lib/electron/injections.js +122 -124
  11. package/lib/electron/ipc/ipc.js +0 -1
  12. package/lib/electron/main.js +57 -12
  13. package/lib/electron/tools.js +0 -4
  14. package/lib/electron/window.js +1 -7
  15. package/lib/fragments/annotation/index.d.ts +1 -0
  16. package/lib/fragments/annotation/index.js +54 -40
  17. package/lib/fragments/annotation/store.d.ts +7 -2
  18. package/lib/fragments/annotation/store.js +181 -102
  19. package/lib/fragments/annotation/view.d.ts +1 -0
  20. package/lib/fragments/annotation/view.js +10 -2
  21. package/lib/modules/action-bar/components/apps/app-item/index.js +0 -2
  22. package/lib/modules/action-bar/components/apps/app-list.js +2 -5
  23. package/lib/modules/action-bar/components/apps/useAppItemOptions.js +0 -3
  24. package/lib/modules/action-bar/components/apps/useWidgetList.js +2 -1
  25. package/lib/modules/action-bar/components/collapse/index.js +0 -4
  26. package/lib/modules/action-bar/components/item/index.js +0 -2
  27. package/lib/modules/action-bar/components/leave/index.js +0 -2
  28. package/lib/modules/action-bar/components/more/poppover-content.js +0 -4
  29. package/lib/modules/action-bar/components/notification-bar/components/interpreter/index.js +2 -1
  30. package/lib/modules/action-bar/components/notification-bar/index.js +0 -2
  31. package/lib/modules/action-bar/components/screen-share/index.js +0 -1
  32. package/lib/modules/action-bar/components/screen-share/submenu.js +0 -3
  33. package/lib/modules/action-bar/components/trigger-output-language/index.js +11 -14
  34. package/lib/modules/action-bar/components/trigger-subscribe-language/index.js +8 -11
  35. package/lib/modules/action-bar/index.css +4 -0
  36. package/lib/modules/action-bar/index.js +1 -2
  37. package/lib/modules/action-bar/store.d.ts +1 -7
  38. package/lib/modules/action-bar/store.js +67 -118
  39. package/lib/modules/annotation/board-cursor.css +76 -0
  40. package/lib/modules/annotation/components/control-bar/index.js +43 -2
  41. package/lib/modules/annotation/components/toolbar/components/color-tool/color-panel/index.js +2 -1
  42. package/lib/modules/annotation/components/toolbar/components/graphic-tool/graphic-panel/index.js +5 -2
  43. package/lib/modules/annotation/components/toolbar/components/graphic-tool/graphic-panel/libs.d.ts +1 -0
  44. package/lib/modules/annotation/components/toolbar/components/graphic-tool/graphic-panel/libs.js +11 -5
  45. package/lib/modules/annotation/components/toolbar/components/graphic-tool/index.js +0 -2
  46. package/lib/modules/annotation/components/toolbar/components/item/item.d.ts +1 -0
  47. package/lib/modules/annotation/components/toolbar/components/item/item.js +3 -2
  48. package/lib/modules/annotation/components/toolbar/components/pen-tool/pen-panel/index.js +1 -0
  49. package/lib/modules/annotation/components/toolbar/store.js +0 -1
  50. package/lib/modules/annotation/index.d.ts +4 -0
  51. package/lib/modules/annotation/index.js +3 -1
  52. package/lib/modules/annotation/store.d.ts +15 -5
  53. package/lib/modules/annotation/store.js +222 -205
  54. package/lib/modules/annotation/style.css +3 -3
  55. package/lib/modules/annotation/view.d.ts +1 -0
  56. package/lib/modules/annotation/view.js +26 -9
  57. package/lib/modules/audio-stream/index.js +0 -4
  58. package/lib/modules/chat/chat-room-store.js +6 -10
  59. package/lib/modules/chat/components/chat-bar/index.js +0 -2
  60. package/lib/modules/chat/components/chat-select/index.js +0 -1
  61. package/lib/modules/chat/components/chat-select/select-item/index.js +2 -5
  62. package/lib/modules/chat/components/message-list/index.js +1 -3
  63. package/lib/modules/chat/components/message-list/message-item/index.js +11 -13
  64. package/lib/modules/chat/index.js +13 -14
  65. package/lib/modules/chat/store.js +0 -1
  66. package/lib/modules/chat/view.js +11 -15
  67. package/lib/modules/components/annotation-menu/index.js +0 -3
  68. package/lib/modules/components/device-control/components/audio-menu/index.js +2 -1
  69. package/lib/modules/components/device-control/components/video-menu/index.js +2 -1
  70. package/lib/modules/components/device-control/store.js +0 -1
  71. package/lib/modules/components/leave-meeting/components/assign-host.js +4 -5
  72. package/lib/modules/components/leave-meeting/store.js +11 -12
  73. package/lib/modules/components/member-window/components/member-actions/components/audio-control.d.ts +0 -1
  74. package/lib/modules/components/member-window/components/member-actions/components/audio-control.js +10 -4
  75. package/lib/modules/components/member-window/components/member-actions/components/icon-buttons/index.d.ts +2 -2
  76. package/lib/modules/components/member-window/components/member-actions/components/icon-buttons/index.js +4 -4
  77. package/lib/modules/components/member-window/components/member-actions/components/icon-status.d.ts +0 -2
  78. package/lib/modules/components/member-window/components/member-actions/components/icon-status.js +3 -4
  79. package/lib/modules/components/member-window/components/member-actions/components/layout/index.js +1 -2
  80. package/lib/modules/components/member-window/components/member-actions/components/more-actions.d.ts +0 -3
  81. package/lib/modules/components/member-window/components/member-actions/components/more-actions.js +7 -34
  82. package/lib/modules/components/member-window/components/member-actions/components/share-status.js +11 -3
  83. package/lib/modules/components/member-window/components/member-actions/components/user-info.d.ts +0 -1
  84. package/lib/modules/components/member-window/components/member-actions/components/user-info.js +8 -13
  85. package/lib/modules/components/member-window/components/member-actions/components/user-tag.d.ts +0 -1
  86. package/lib/modules/components/member-window/components/member-actions/components/user-tag.js +0 -2
  87. package/lib/modules/components/member-window/components/member-actions/index.js +1 -33
  88. package/lib/modules/components/member-window/components/member-actions/provider.js +1 -2
  89. package/lib/modules/components/member-window/components/member-actions/store.d.ts +38 -1
  90. package/lib/modules/components/member-window/components/member-actions/store.js +120 -13
  91. package/lib/modules/components/member-window/components/video-player/components/local-video-player.d.ts +3 -0
  92. package/lib/modules/components/member-window/components/video-player/components/local-video-player.js +16 -3
  93. package/lib/modules/components/member-window/components/video-player/index.d.ts +2 -0
  94. package/lib/modules/components/member-window/components/video-player/index.js +3 -3
  95. package/lib/modules/components/member-window/index.css +37 -0
  96. package/lib/modules/components/member-window/index.js +1 -0
  97. package/lib/modules/components/security-menu/index.js +1 -4
  98. package/lib/modules/components/tab-frame/index.js +0 -4
  99. package/lib/modules/connection-gateway/components/phone/components/callinfo/index.js +2 -1
  100. package/lib/modules/connection-gateway/components/phone/index.js +5 -4
  101. package/lib/modules/connection-gateway/index.js +1 -2
  102. package/lib/modules/connection-gateway/store.js +23 -26
  103. package/lib/modules/control-bar/components/more-actions/index.js +0 -3
  104. package/lib/modules/control-bar/index.d.ts +0 -4
  105. package/lib/modules/control-bar/index.js +1 -34
  106. package/lib/modules/control-bar/store.d.ts +5 -6
  107. package/lib/modules/control-bar/store.js +70 -104
  108. package/lib/modules/control-bar/view.js +53 -13
  109. package/lib/modules/device-pretest/settings/beauty.js +1 -2
  110. package/lib/modules/device-pretest/settings/virtual-background-setting.js +2 -1
  111. package/lib/modules/device-pretest/store.js +2 -4
  112. package/lib/modules/dialog/components/control-bar/index.d.ts +0 -2
  113. package/lib/modules/dialog/components/control-bar/index.js +4 -6
  114. package/lib/modules/dialog/components/dialog-container/component/body.js +0 -2
  115. package/lib/modules/dialog/components/dialog-container/index.js +1 -2
  116. package/lib/modules/dialog/components/host-area-container/index.js +0 -3
  117. package/lib/modules/dialog/components/pre-setting-container/component/body.js +0 -2
  118. package/lib/modules/dialog/components/pre-setting-container/index.js +1 -2
  119. package/lib/modules/dialog/components/system-preference/index.js +2 -5
  120. package/lib/modules/dialog/components/video-window/index.js +0 -2
  121. package/lib/modules/dialog/hooks/use-popover-watcher.js +0 -1
  122. package/lib/modules/dialog/hooks/useElectron.js +3 -4
  123. package/lib/modules/dialog/index.d.ts +0 -3
  124. package/lib/modules/dialog/index.js +2 -28
  125. package/lib/modules/dialog/store.d.ts +6 -8
  126. package/lib/modules/dialog/store.js +22 -60
  127. package/lib/modules/dialog/view.js +2 -1
  128. package/lib/modules/event-confirm/components/window/index.js +0 -2
  129. package/lib/modules/event-confirm/index.js +1 -2
  130. package/lib/modules/event-confirm/store.js +4 -7
  131. package/lib/modules/event-confirm/view.js +2 -1
  132. package/lib/modules/event-sound/index.js +1 -2
  133. package/lib/modules/event-sound/sound-effect-player.js +2 -2
  134. package/lib/modules/event-toast/index.js +1 -2
  135. package/lib/modules/event-toast/store.js +0 -2
  136. package/lib/modules/event-toast/view.js +2 -1
  137. package/lib/modules/interpreter/index.js +1 -2
  138. package/lib/modules/interpreter/interpreter-list/index.js +3 -4
  139. package/lib/modules/interpreter/interpreter-list/interpreter-item/components/pick-language/index.js +2 -5
  140. package/lib/modules/interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/index.js +0 -2
  141. package/lib/modules/interpreter/interpreter-list/interpreter-item/components/pick-user/index.js +0 -4
  142. package/lib/modules/interpreter/store.js +5 -10
  143. package/lib/modules/interpreter/utils.js +15 -14
  144. package/lib/modules/invite/components/pstn-invite.js +22 -23
  145. package/lib/modules/invite/components/voip-invite.js +7 -7
  146. package/lib/modules/invite/enums.js +1 -0
  147. package/lib/modules/invite/index.js +1 -2
  148. package/lib/modules/invite/store.js +46 -45
  149. package/lib/modules/layout/components/CommonVideoRenderer.js +7 -3
  150. package/lib/modules/layout/components/Gallery.js +5 -3
  151. package/lib/modules/layout/components/index.js +0 -1
  152. package/lib/modules/layout/index.js +1 -2
  153. package/lib/modules/layout/store.d.ts +3 -0
  154. package/lib/modules/layout/store.js +38 -14
  155. package/lib/modules/layout/type.d.ts +7 -0
  156. package/lib/modules/layout/type.js +9 -0
  157. package/lib/modules/live-streaming/index.dev.js +6 -6
  158. package/lib/modules/live-streaming/index.js +1 -2
  159. package/lib/modules/live-streaming/store.js +19 -19
  160. package/lib/modules/notification/index.js +1 -2
  161. package/lib/modules/notification/interpreter-status/index.js +2 -1
  162. package/lib/modules/notification/view.js +1 -2
  163. package/lib/modules/offscreen-pulling/index.js +0 -1
  164. package/lib/modules/participant/components/participants/components/footer/components/drop-menu/index.js +1 -4
  165. package/lib/modules/participant/components/participants/components/participants/components/attendee/index.js +0 -2
  166. package/lib/modules/participant/components/participants/components/participants/components/participants-more/index.js +0 -2
  167. package/lib/modules/participant/components/participants/components/participants/components/user-row/index.js +1 -4
  168. package/lib/modules/participant/components/participants/components/participants/index.js +0 -2
  169. package/lib/modules/participant/components/participants/components/render-user/components/attendee/components/interpreter-tag/index.js +0 -1
  170. package/lib/modules/participant/components/participants/components/render-user/components/attendee/index.js +0 -2
  171. package/lib/modules/participant/index.js +1 -4
  172. package/lib/modules/participant/member-list-data-source.js +0 -3
  173. package/lib/modules/participant/store.js +140 -114
  174. package/lib/modules/pc-audio-connect/index.js +1 -2
  175. package/lib/modules/pc-audio-connect/store.js +9 -10
  176. package/lib/modules/phone-audio-connect/components/callinfo/index.js +2 -1
  177. package/lib/modules/phone-audio-connect/index.js +1 -2
  178. package/lib/modules/phone-audio-connect/store.js +0 -3
  179. package/lib/modules/phone-audio-connect/view.js +5 -4
  180. package/lib/modules/setting/audio-settings/audio-settings.js +1 -4
  181. package/lib/modules/setting/general-settings/general-settings.js +1 -2
  182. package/lib/modules/setting/index.d.ts +2 -0
  183. package/lib/modules/setting/index.js +4 -5
  184. package/lib/modules/setting/minutes-settings/minutes-settings.js +1 -2
  185. package/lib/modules/setting/state/index.js +0 -4
  186. package/lib/modules/setting/storage-settings/storage-settings.js +4 -4
  187. package/lib/modules/setting/store.d.ts +8 -10
  188. package/lib/modules/setting/store.js +33 -35
  189. package/lib/modules/setting/translate-settings/translate-settings.js +1 -1
  190. package/lib/modules/setting/video-settings/video-settings.js +1 -2
  191. package/lib/modules/setting/view.js +1 -2
  192. package/lib/modules/share-screen/components/selection/index.js +16 -9
  193. package/lib/modules/share-screen/index.d.ts +2 -0
  194. package/lib/modules/share-screen/index.js +3 -3
  195. package/lib/modules/share-screen/store.d.ts +12 -2
  196. package/lib/modules/share-screen/store.js +149 -136
  197. package/lib/modules/state-bar/index.css +8 -6
  198. package/lib/modules/state-bar/index.d.ts +2 -0
  199. package/lib/modules/state-bar/index.js +3 -3
  200. package/lib/modules/state-bar/layout-config.d.ts +1 -0
  201. package/lib/modules/state-bar/layout-config.js +17 -6
  202. package/lib/modules/state-bar/live-streaming-state.js +0 -3
  203. package/lib/modules/state-bar/store.d.ts +5 -1
  204. package/lib/modules/state-bar/store.js +8 -2
  205. package/lib/modules/state-bar/view.js +9 -5
  206. package/lib/modules/video-window/components/members/index.js +2 -1
  207. package/lib/modules/video-window/components/topControl/index.js +0 -3
  208. package/lib/modules/video-window/index.js +1 -2
  209. package/lib/modules/video-window/store.js +0 -4
  210. package/lib/modules/waiting-room-layout/index.js +1 -2
  211. package/lib/modules/whiteboard/components/control-bar/store.js +2 -1
  212. package/lib/modules/whiteboard/components/switch-theme/index.js +0 -2
  213. package/lib/modules/whiteboard/components/switch-theme/item.js +2 -1
  214. package/lib/modules/whiteboard/components/toolbar/components/color-picker/components/panel.js +2 -1
  215. package/lib/modules/whiteboard/components/toolbar/components/color-picker/index.js +2 -1
  216. package/lib/modules/whiteboard/components/toolbar/components/expansion/index.js +1 -4
  217. package/lib/modules/whiteboard/components/toolbar/components/extra-tool-picker.js +2 -3
  218. package/lib/modules/whiteboard/components/toolbar/components/move-handle.js +0 -2
  219. package/lib/modules/whiteboard/components/toolbar/components/pen-picker.js +1 -2
  220. package/lib/modules/whiteboard/components/toolbar/components/shape-picker.js +1 -3
  221. package/lib/modules/whiteboard/components/toolbar/hooks/index.js +2 -4
  222. package/lib/modules/whiteboard/components/toolbar/index.js +1 -1
  223. package/lib/modules/whiteboard/components/toolbar/store.d.ts +7 -3
  224. package/lib/modules/whiteboard/components/toolbar/store.js +64 -37
  225. package/lib/modules/whiteboard/index.js +5 -8
  226. package/lib/modules/whiteboard/style.css +12 -4
  227. package/lib/modules/whiteboard/view.js +10 -2
  228. package/lib/modules/widget/index.js +1 -2
  229. package/lib/modules/widget/web-widget.js +1 -1
  230. package/lib/plugins/browser-runtime-plugin.js +1 -1
  231. package/lib/plugins/module-dev-plugin.js +13 -13
  232. package/lib/providers/ability-provider.d.ts +12 -1
  233. package/lib/providers/ability-provider.js +8 -1
  234. package/lib/providers/annotation-provider.d.ts +63 -12
  235. package/lib/providers/annotation-provider.js +52 -46
  236. package/lib/providers/device-privilege-provider.js +81 -83
  237. package/lib/providers/device-provider.d.ts +3 -3
  238. package/lib/providers/device-provider.js +201 -204
  239. package/lib/providers/device-stream-provider.js +24 -27
  240. package/lib/providers/event-provider.d.ts +3 -3
  241. package/lib/providers/event-provider.js +0 -2
  242. package/lib/providers/interpreter-provider.js +195 -197
  243. package/lib/providers/message-provider.js +0 -2
  244. package/lib/providers/phone-audio-provider.js +17 -19
  245. package/lib/providers/privilege-provider.js +53 -58
  246. package/lib/providers/renderer-provider.d.ts +3 -1
  247. package/lib/providers/renderer-provider.js +18 -4
  248. package/lib/providers/room-provider.js +31 -33
  249. package/lib/providers/screen-share-provider.d.ts +1 -0
  250. package/lib/providers/screen-share-provider.js +97 -103
  251. package/lib/providers/sharing-provider.d.ts +5 -1
  252. package/lib/providers/sharing-provider.js +17 -1
  253. package/lib/providers/user-setting-storage-provider.d.ts +20 -0
  254. package/lib/providers/user-setting-storage-provider.js +72 -0
  255. package/lib/providers/widget-provider.js +0 -1
  256. package/lib/scenes/main-scene.js +13 -16
  257. package/lib/scenes/waiting-scene.js +4 -4
  258. package/lib/shared-data-source/chat-data.js +0 -2
  259. package/lib/shared-data-source/config.d.ts +1 -5
  260. package/lib/shared-data-source/config.js +11 -81
  261. package/lib/shared-data-source/interpreter.js +0 -2
  262. package/lib/shared-data-source/layout-data.js +1 -4
  263. package/lib/shared-data-source/member-data.js +0 -4
  264. package/lib/shared-data-source/pin-data.js +0 -1
  265. package/lib/shared-data-source/screen-share-data.d.ts +6 -2
  266. package/lib/shared-data-source/screen-share-data.js +2 -2
  267. package/lib/shared-data-source/security-data.js +0 -1
  268. package/lib/shared-data-source/setting.d.ts +13 -13
  269. package/lib/shared-data-source/setting.js +10 -8
  270. package/lib/shared-data-source/video-window.d.ts +2 -1
  271. package/lib/shared-data-source/video-window.js +82 -66
  272. package/lib/shared-data-source/waiting-room.js +0 -2
  273. package/lib/translations/enUS.d.ts +8 -0
  274. package/lib/translations/enUS.js +9 -1
  275. package/lib/translations/zhCN.d.ts +8 -0
  276. package/lib/translations/zhCN.js +11 -3
  277. package/lib/type.d.ts +2 -1
  278. package/lib/type.js +14 -0
  279. package/lib/ui-scene.js +18 -14
  280. package/lib/utilities/constant.d.ts +2 -1
  281. package/lib/utilities/constant.js +8 -0
  282. package/lib/utilities/copyText.js +12 -12
  283. package/lib/utilities/hooks.js +1 -2
  284. package/lib/utilities/logger.js +0 -1
  285. package/lib/utilities/parameters.js +2 -2
  286. package/lib/utilities/privilege.js +0 -3
  287. package/lib/utilities/renderer-event.js +0 -2
  288. package/lib/utilities/setting-config-storage.d.ts +7 -6
  289. package/lib/utilities/setting-config-storage.js +55 -41
  290. package/lib/utilities/tools.d.ts +1 -0
  291. package/lib/utilities/tools.js +9 -12
  292. package/lib/waiting-room-control-manager.js +26 -28
  293. package/package.json +8 -6
  294. package/dist/132.js +0 -2
  295. package/dist/132.js.LICENSE.txt +0 -311
  296. package/dist/317.js +0 -2
  297. package/dist/317.js.LICENSE.txt +0 -20
  298. package/dist/651.js +0 -2
  299. package/dist/651.js.LICENSE.txt +0 -1
  300. package/dist/689343b64b60bfb7ffff.png +0 -0
  301. package/dist/73.js +0 -1
  302. package/dist/885f9369ea05a8ac0e56.png +0 -0
  303. package/dist/90f383876a6e93e7c7ca.png +0 -0
  304. package/dist/9b37584780995fc5df8c.gif +0 -0
  305. package/dist/annotation.e5cbd3a70b6d42361872.css +0 -1274
  306. package/dist/annotation.html +0 -1
  307. package/dist/annotation.js +0 -2
  308. package/dist/annotation.js.LICENSE.txt +0 -252
  309. package/dist/assets/browser/images/default1.jpg +0 -0
  310. package/dist/assets/browser/images/default2.jpg +0 -0
  311. package/dist/assets/browser/images/default3.jpg +0 -0
  312. package/dist/assets/browser/images/default4.jpg +0 -0
  313. package/dist/assets/browser/images/default5.jpg +0 -0
  314. package/dist/assets/browser/images/default6.jpg +0 -0
  315. package/dist/assets/browser/images/default7.jpg +0 -0
  316. package/dist/assets/browser/sound_effects/pretest.mp3 +0 -0
  317. package/dist/assets/browser/sound_effects/recording_started.mp3 +0 -0
  318. package/dist/assets/browser/sound_effects/remote_user_joined.mp3 +0 -0
  319. package/dist/assets/browser/sound_effects/speaker_test.mp3 +0 -0
  320. package/dist/assets/browser/videos/default8.mp4 +0 -0
  321. package/dist/assets/browser/videos/default9.mp4 +0 -0
  322. package/dist/assets/cursors/fcr_whiteboard_input.ico +0 -0
  323. package/dist/assets/cursors/fcr_whiteboard_pen.ico +0 -0
  324. package/dist/assets/cursors/fcr_whiteboard_shape_-straightline.ico +0 -0
  325. package/dist/assets/cursors/fcr_whiteboard_shape_arrow.ico +0 -0
  326. package/dist/assets/cursors/fcr_whiteboard_shape_circle.ico +0 -0
  327. package/dist/assets/cursors/fcr_whiteboard_shape_rectangle.ico +0 -0
  328. package/dist/assets/cursors/fcr_whiteboard_shape_triangle.ico +0 -0
  329. package/dist/assets/electron/images/default1.jpg +0 -0
  330. package/dist/assets/electron/images/default2.jpg +0 -0
  331. package/dist/assets/electron/sound_effects/pretest.mp3 +0 -0
  332. package/dist/assets/electron/videos/default8.mp4 +0 -0
  333. package/dist/assets/fcr_chat_reddot.svg +0 -5
  334. package/dist/assets/fcr_defaultpage.png +0 -0
  335. package/dist/assets/fcr_grid_big.svg +0 -3
  336. package/dist/assets/fcr_leave2.svg +0 -58
  337. package/dist/assets/fcr_listontop_big.svg +0 -3
  338. package/dist/assets/full-screen-error-boundary-img.png +0 -0
  339. package/dist/assets/leave-meeting.png +0 -0
  340. package/dist/assets/loading.gif +0 -0
  341. package/dist/assets/login_confirm.png +0 -0
  342. package/dist/assets/pretest.mp3 +0 -0
  343. package/dist/assets/state-bar-logo.png +0 -0
  344. package/dist/assets/step-gradient.svg +0 -10
  345. package/dist/b74b002687a3a3346bec.png +0 -0
  346. package/dist/b94869094481702f949b.png +0 -0
  347. package/dist/ebeace75fd46b90d890e.png +0 -0
  348. package/dist/electron/app.js +0 -194
  349. package/dist/electron/bootstrap-dev.js +0 -46
  350. package/dist/electron/bootstrap-sdk.js +0 -211
  351. package/dist/electron/default-options.js +0 -25
  352. package/dist/electron/env.js +0 -13
  353. package/dist/electron/index.js +0 -20
  354. package/dist/electron/injections.js +0 -903
  355. package/dist/electron/ipc/ipc.js +0 -141
  356. package/dist/electron/ipc/type.js +0 -19
  357. package/dist/electron/logger.js +0 -65
  358. package/dist/electron/main.js +0 -94
  359. package/dist/electron/plugins/devtool-shortcut.js +0 -33
  360. package/dist/electron/plugins/meeting-state.js +0 -39
  361. package/dist/electron/plugins/screenshot.js +0 -54
  362. package/dist/electron/preload.js +0 -108
  363. package/dist/electron/tools.js +0 -66
  364. package/dist/electron/window.js +0 -123
  365. package/dist/extensions/agora-extension-virtual-background/agora-wasm.wasm +0 -0
  366. package/dist/extensions/ai-denoiser/denoiser-wasm-simd.wasm +0 -0
  367. package/dist/extensions/ai-denoiser/denoiser-wasm.js +0 -1
  368. package/dist/extensions/ai-denoiser/denoiser-wasm.wasm +0 -0
  369. package/dist/fad688b9135b15d6c405.png +0 -0
  370. package/dist/index.html +0 -224
  371. package/dist/main.393a2a91ab7fc05ffce6.css +0 -15403
  372. package/dist/main.js +0 -2
  373. package/dist/main.js.LICENSE.txt +0 -272
  374. package/dist/worker-entry.worker.js.LICENSE.txt +0 -13
@@ -1,903 +0,0 @@
1
- "use strict";
2
-
3
- require("core-js/modules/es.object.define-property.js");
4
- require("core-js/modules/es.regexp.exec.js");
5
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
- Object.defineProperty(exports, "__esModule", {
7
- value: true
8
- });
9
- exports.showItemInFolder = exports.setUserSettingData = exports.setParameters = exports.setInMeetingState = exports.setFragmentOptions = exports.setFragmentBaseUrl = exports.sendEvent = exports.screen = exports.restartApp = exports.removeEventListener = exports.releaseSubAllWindowRefs = exports.registerListenerReady = exports.quitApp = exports.openSystemPreferences = exports.openSetting = exports.openRendererWindow = exports.openLinkInDefaultBrowser = exports.openDirectory = exports.open = exports.loadBuiltinResources = exports.launchSuccess = exports.launchFailure = exports.launch = exports.initSDK = exports.getWindows = exports.getUserSettingData = exports.getSystemMemorySize = exports.getSystemCpuInfo = exports.getResourceByFileType = exports.getNetworkType = exports.getMediaSourceIdList = exports.getLaunchOptions = exports.getIsSDKReady = exports.getIsMeetingLaunched = exports.getBundleType = exports.getBrowserWindowById = exports.getActiveWindow = exports.fileToBlob = exports.fileToBase64 = exports.exitedMeeting = exports.closeRendererWindow = exports.close = exports.checkMediaPermission = exports.captureScreen = exports.browserWindow = exports.addEventListener = exports.FcrNumericExitReason = void 0;
10
- require("core-js/modules/es.error.cause.js");
11
- require("core-js/modules/es.error.to-string.js");
12
- require("core-js/modules/es.array.concat.js");
13
- require("core-js/modules/es.array.filter.js");
14
- require("core-js/modules/es.array.find.js");
15
- require("core-js/modules/es.array.for-each.js");
16
- require("core-js/modules/es.array.includes.js");
17
- require("core-js/modules/es.array.iterator.js");
18
- require("core-js/modules/es.array.join.js");
19
- require("core-js/modules/es.array.map.js");
20
- require("core-js/modules/es.array.push.js");
21
- require("core-js/modules/es.array.reduce.js");
22
- require("core-js/modules/es.date.now.js");
23
- require("core-js/modules/es.date.to-json.js");
24
- require("core-js/modules/es.json.stringify.js");
25
- require("core-js/modules/es.object.entries.js");
26
- require("core-js/modules/es.object.keys.js");
27
- require("core-js/modules/es.object.to-string.js");
28
- require("core-js/modules/es.promise.js");
29
- require("core-js/modules/es.promise.all-settled.js");
30
- require("core-js/modules/es.promise.finally.js");
31
- require("core-js/modules/es.string.includes.js");
32
- require("core-js/modules/es.string.iterator.js");
33
- require("core-js/modules/es.string.starts-with.js");
34
- require("core-js/modules/es.string.trim.js");
35
- require("core-js/modules/esnext.async-iterator.filter.js");
36
- require("core-js/modules/esnext.async-iterator.find.js");
37
- require("core-js/modules/esnext.async-iterator.for-each.js");
38
- require("core-js/modules/esnext.async-iterator.map.js");
39
- require("core-js/modules/esnext.async-iterator.reduce.js");
40
- require("core-js/modules/esnext.iterator.constructor.js");
41
- require("core-js/modules/esnext.iterator.filter.js");
42
- require("core-js/modules/esnext.iterator.find.js");
43
- require("core-js/modules/esnext.iterator.for-each.js");
44
- require("core-js/modules/esnext.iterator.map.js");
45
- require("core-js/modules/esnext.iterator.reduce.js");
46
- require("core-js/modules/esnext.json.parse.js");
47
- require("core-js/modules/web.dom-collections.for-each.js");
48
- require("core-js/modules/web.dom-collections.iterator.js");
49
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
50
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
51
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
52
- var _electron = require("electron");
53
- var _remote = require("@electron/remote");
54
- var _os = _interopRequireDefault(require("os"));
55
- var _child_process = require("child_process");
56
- var _path2 = _interopRequireDefault(require("path"));
57
- var _fs2 = _interopRequireDefault(require("fs"));
58
- var _promises = _interopRequireDefault(require("fs/promises"));
59
- var _jszip = _interopRequireDefault(require("jszip"));
60
- // import { windowManager } from 'node-window-manager';
61
-
62
- var USER_SETTING_DATA_FILE_NAME = 'UserSettingData.json';
63
-
64
- // Numeric exit reason enum
65
- var FcrNumericExitReason = exports.FcrNumericExitReason = /*#__PURE__*/function (FcrNumericExitReason) {
66
- FcrNumericExitReason[FcrNumericExitReason["LEAVE_ROOM"] = 1] = "LEAVE_ROOM";
67
- FcrNumericExitReason[FcrNumericExitReason["CLOSE_ROOM"] = 2] = "CLOSE_ROOM";
68
- FcrNumericExitReason[FcrNumericExitReason["KICKED_OUT"] = 3] = "KICKED_OUT";
69
- FcrNumericExitReason[FcrNumericExitReason["ABORTED"] = 4] = "ABORTED";
70
- return FcrNumericExitReason;
71
- }({}); // 其他原因退出
72
- // // Mapping from FcrUIExitReason to FcrNumericExitReason
73
- var exitReasonMap = {
74
- LEAVE_ROOM: FcrNumericExitReason.LEAVE_ROOM,
75
- CLOSE_ROOM: FcrNumericExitReason.CLOSE_ROOM,
76
- KICKED_OUT: FcrNumericExitReason.KICKED_OUT,
77
- ABORTED: FcrNumericExitReason.ABORTED
78
- };
79
- var getBundleType = exports.getBundleType = function getBundleType() {
80
- return _electron.ipcRenderer.invoke('getBundleType');
81
- };
82
- var openDirectory = exports.openDirectory = /*#__PURE__*/function () {
83
- var _ref = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() {
84
- var _yield$dialog$showOpe, filePaths;
85
- return _regenerator["default"].wrap(function _callee$(_context) {
86
- while (1) switch (_context.prev = _context.next) {
87
- case 0:
88
- _context.next = 2;
89
- return _remote.dialog.showOpenDialog((0, _remote.getCurrentWindow)(), {
90
- properties: ['openDirectory']
91
- });
92
- case 2:
93
- _yield$dialog$showOpe = _context.sent;
94
- filePaths = _yield$dialog$showOpe.filePaths;
95
- return _context.abrupt("return", filePaths[0]);
96
- case 5:
97
- case "end":
98
- return _context.stop();
99
- }
100
- }, _callee);
101
- }));
102
- return function openDirectory() {
103
- return _ref.apply(this, arguments);
104
- };
105
- }();
106
- var showItemInFolder = exports.showItemInFolder = function showItemInFolder(path) {
107
- _remote.shell.showItemInFolder(path);
108
- };
109
- var sendEvent = exports.sendEvent = function sendEvent(event) {
110
- _remote.BrowserWindow.getAllWindows().forEach(function (window) {
111
- var currentWindow = (0, _remote.getCurrentWindow)();
112
- if (window.id !== currentWindow.id) {
113
- window.webContents.send('custom-event', event);
114
- }
115
- });
116
- };
117
- var addEventListener = exports.addEventListener = function addEventListener(listener) {
118
- _electron.ipcRenderer.addListener('custom-event', listener);
119
- };
120
- var removeEventListener = exports.removeEventListener = function removeEventListener(listener) {
121
- _electron.ipcRenderer.removeListener('custom-event', listener);
122
- };
123
- var setFragmentOptions = exports.setFragmentOptions = function setFragmentOptions(entryPath, windowOptions, webPreferences) {
124
- _electron.ipcRenderer.send('setFragmentOptions', entryPath, windowOptions, webPreferences);
125
- };
126
- var getLaunchOptions = exports.getLaunchOptions = /*#__PURE__*/function () {
127
- var _ref2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2() {
128
- return _regenerator["default"].wrap(function _callee2$(_context2) {
129
- while (1) switch (_context2.prev = _context2.next) {
130
- case 0:
131
- return _context2.abrupt("return", _electron.ipcRenderer.invoke('get-launch-options'));
132
- case 1:
133
- case "end":
134
- return _context2.stop();
135
- }
136
- }, _callee2);
137
- }));
138
- return function getLaunchOptions() {
139
- return _ref2.apply(this, arguments);
140
- };
141
- }();
142
- var openLinkInDefaultBrowser = exports.openLinkInDefaultBrowser = function openLinkInDefaultBrowser(url) {
143
- _remote.shell.openExternal(url);
144
- };
145
- var getBrowserWindowById = exports.getBrowserWindowById = function getBrowserWindowById(id) {
146
- return _remote.BrowserWindow.getAllWindows().find(function (wind) {
147
- return wind.id === id;
148
- });
149
- };
150
- var browserWindow = exports.browserWindow = (0, _remote.getCurrentWindow)();
151
- var screen = exports.screen = _remote.screen;
152
- var open = exports.open = function open(entryPath, dialogId) {
153
- _electron.ipcRenderer.send('open', entryPath, dialogId);
154
- };
155
- var close = exports.close = function close(entryPath, dialogId) {
156
- _electron.ipcRenderer.send('close', entryPath, dialogId);
157
- };
158
- var setFragmentBaseUrl = exports.setFragmentBaseUrl = function setFragmentBaseUrl(isDev, baseUrl) {
159
- _electron.ipcRenderer.send('setFragmentBaseUrl', isDev, baseUrl);
160
- };
161
- var registerListenerReady = exports.registerListenerReady = function registerListenerReady() {
162
- _electron.ipcRenderer.send('registerListenerReady');
163
- };
164
- var captureScreen = exports.captureScreen = function captureScreen(options) {
165
- _electron.ipcRenderer.send('short-cut-capture', "short-cut-capture-reply-".concat(Date.now()), options);
166
- };
167
- var getActiveWindow = exports.getActiveWindow = function getActiveWindow() {
168
- // return windowManager.getActiveWindow() as unknown as WindowManager;
169
- return undefined;
170
- };
171
- var getWindows = exports.getWindows = function getWindows() {
172
- // return windowManager.getWindows() as unknown as WindowManager[];
173
- return [];
174
- };
175
- var rendererWindows = {};
176
- var rendererWindowMutationObservers = {};
177
- var openRendererWindow = exports.openRendererWindow = /*#__PURE__*/function () {
178
- var _ref3 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee3(frameName, renderFn, windowOptions) {
179
- var rendererWindow, windowConstructorOptionsString, newRendererWindow, windowId, _browserWindow, renderDom, parentWindow, parentHead, parentStyles, parentStyleLinks, stylesLoadedPromises, oldenObserver, observer, parentRoot, parentRootStyles, _windowId, _browserWindow2, _newRendererWindow, _renderDom;
180
- return _regenerator["default"].wrap(function _callee3$(_context3) {
181
- while (1) switch (_context3.prev = _context3.next) {
182
- case 0:
183
- rendererWindow = rendererWindows[frameName];
184
- if (rendererWindow) {
185
- _context3.next = 37;
186
- break;
187
- }
188
- windowConstructorOptionsString = Object.entries(windowOptions).reduce(function (acc, _ref4) {
189
- var _ref5 = (0, _slicedToArray2["default"])(_ref4, 2),
190
- key = _ref5[0],
191
- value = _ref5[1];
192
- if (typeof value === 'string') {
193
- return "".concat(acc, ",").concat(key, "=").concat(value);
194
- }
195
- return "".concat(acc, ",").concat(key, "=").concat(JSON.stringify(value));
196
- }, '');
197
- newRendererWindow = window.open('', frameName, windowConstructorOptionsString);
198
- _context3.next = 6;
199
- return _electron.ipcRenderer.invoke('getBrowserWindowId', frameName);
200
- case 6:
201
- windowId = _context3.sent;
202
- if (windowId) {
203
- _context3.next = 10;
204
- break;
205
- }
206
- console.error('windowId not found');
207
- return _context3.abrupt("return");
208
- case 10:
209
- _browserWindow = _remote.BrowserWindow.getAllWindows().find(function (win) {
210
- return win.id === windowId;
211
- });
212
- _browserWindow === null || _browserWindow === void 0 || _browserWindow.webContents.setBackgroundThrottling(false);
213
- if (!newRendererWindow) {
214
- _context3.next = 35;
215
- break;
216
- }
217
- newRendererWindow.document.write('<div id="root"></div>');
218
- renderDom = newRendererWindow.document.getElementById('root');
219
- if (renderDom) {
220
- _context3.next = 17;
221
- break;
222
- }
223
- return _context3.abrupt("return");
224
- case 17:
225
- // copy styles from parent window
226
- parentWindow = window;
227
- parentHead = parentWindow.document.head;
228
- parentStyles = parentHead.querySelectorAll('style');
229
- parentStyleLinks = parentHead.querySelectorAll('link[rel="stylesheet"]');
230
- stylesLoadedPromises = [];
231
- parentStyles.forEach(function (style) {
232
- newRendererWindow === null || newRendererWindow === void 0 || newRendererWindow.document.head.appendChild(style.cloneNode(true));
233
- });
234
- parentStyleLinks.forEach(function (style) {
235
- var linkNode = style.cloneNode(true);
236
- newRendererWindow === null || newRendererWindow === void 0 || newRendererWindow.document.head.appendChild(linkNode);
237
- stylesLoadedPromises.push(new Promise(function (resolve, reject) {
238
- linkNode.addEventListener('load', function () {
239
- return resolve();
240
- });
241
- linkNode.addEventListener('error', function () {
242
- return reject("failed to load style: ".concat(linkNode.href));
243
- });
244
- }));
245
- });
246
- oldenObserver = rendererWindowMutationObservers[frameName];
247
- if (oldenObserver) {
248
- oldenObserver.disconnect();
249
- delete rendererWindowMutationObservers[frameName];
250
- }
251
- observer = new MutationObserver(function (mutations) {
252
- mutations.forEach(function (mutation) {
253
- if (mutation.type === 'childList') {
254
- mutation.addedNodes.forEach(function (node) {
255
- if (node.nodeType === Node.ELEMENT_NODE && node.tagName === 'STYLE') {
256
- newRendererWindow === null || newRendererWindow === void 0 || newRendererWindow.document.head.appendChild(node.cloneNode(true));
257
- }
258
- });
259
- }
260
- });
261
- });
262
- observer.observe(document.head, {
263
- childList: true
264
- });
265
- rendererWindowMutationObservers[frameName] = observer;
266
- // copy css variables from parent window
267
- parentRoot = parentWindow.document.documentElement;
268
- parentRootStyles = parentRoot.style.cssText;
269
- newRendererWindow.document.documentElement.style.cssText = parentRootStyles;
270
- rendererWindows[frameName] = newRendererWindow;
271
- newRendererWindow.onclose = function () {
272
- delete rendererWindows[frameName];
273
- };
274
- Promise.allSettled(stylesLoadedPromises)["finally"](function () {
275
- renderFn(renderDom, _browserWindow, newRendererWindow);
276
- });
277
- case 35:
278
- _context3.next = 52;
279
- break;
280
- case 37:
281
- _context3.next = 39;
282
- return _electron.ipcRenderer.invoke('getBrowserWindowId', frameName);
283
- case 39:
284
- _windowId = _context3.sent;
285
- if (_windowId) {
286
- _context3.next = 43;
287
- break;
288
- }
289
- console.error('windowId not found');
290
- return _context3.abrupt("return");
291
- case 43:
292
- _browserWindow2 = _remote.BrowserWindow.getAllWindows().find(function (win) {
293
- return win.id === _windowId;
294
- });
295
- _newRendererWindow = rendererWindows[frameName];
296
- _renderDom = _newRendererWindow.document.getElementById('root');
297
- if (_renderDom) {
298
- _context3.next = 48;
299
- break;
300
- }
301
- return _context3.abrupt("return");
302
- case 48:
303
- renderFn(_renderDom, _browserWindow2, _newRendererWindow);
304
- _browserWindow2 === null || _browserWindow2 === void 0 || _browserWindow2.show();
305
- _browserWindow2 === null || _browserWindow2 === void 0 || _browserWindow2.focus();
306
- _browserWindow2 === null || _browserWindow2 === void 0 || _browserWindow2.moveTop();
307
- case 52:
308
- case "end":
309
- return _context3.stop();
310
- }
311
- }, _callee3);
312
- }));
313
- return function openRendererWindow(_x, _x2, _x3) {
314
- return _ref3.apply(this, arguments);
315
- };
316
- }();
317
- var checkMediaPermission = exports.checkMediaPermission = /*#__PURE__*/function () {
318
- var _ref6 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee4(mediaType) {
319
- var res;
320
- return _regenerator["default"].wrap(function _callee4$(_context4) {
321
- while (1) switch (_context4.prev = _context4.next) {
322
- case 0:
323
- _context4.next = 2;
324
- return _electron.ipcRenderer.invoke('checkMediaPermission', mediaType);
325
- case 2:
326
- res = _context4.sent;
327
- return _context4.abrupt("return", res);
328
- case 4:
329
- case "end":
330
- return _context4.stop();
331
- }
332
- }, _callee4);
333
- }));
334
- return function checkMediaPermission(_x4) {
335
- return _ref6.apply(this, arguments);
336
- };
337
- }();
338
- var openSystemPreferences = exports.openSystemPreferences = function openSystemPreferences(mediaType) {
339
- _electron.ipcRenderer.send('openSystemPreferences', mediaType);
340
- };
341
- var closeRendererWindow = exports.closeRendererWindow = /*#__PURE__*/function () {
342
- var _ref7 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee5(frameName) {
343
- var windowId, _browserWindow3;
344
- return _regenerator["default"].wrap(function _callee5$(_context5) {
345
- while (1) switch (_context5.prev = _context5.next) {
346
- case 0:
347
- _context5.next = 2;
348
- return _electron.ipcRenderer.invoke('getBrowserWindowId', frameName);
349
- case 2:
350
- windowId = _context5.sent;
351
- if (windowId) {
352
- _browserWindow3 = _remote.BrowserWindow.getAllWindows().find(function (win) {
353
- return win.id === windowId;
354
- });
355
- if (_browserWindow3 && !_browserWindow3.isDestroyed()) {
356
- _browserWindow3.emit('will-close');
357
- }
358
- }
359
- case 4:
360
- case "end":
361
- return _context5.stop();
362
- }
363
- }, _callee5);
364
- }));
365
- return function closeRendererWindow(_x5) {
366
- return _ref7.apply(this, arguments);
367
- };
368
- }();
369
- var launch = exports.launch = /*#__PURE__*/function () {
370
- var _ref8 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee6(options) {
371
- var res;
372
- return _regenerator["default"].wrap(function _callee6$(_context6) {
373
- while (1) switch (_context6.prev = _context6.next) {
374
- case 0:
375
- _context6.next = 2;
376
- return _electron.ipcRenderer.invoke('launch', options);
377
- case 2:
378
- res = _context6.sent;
379
- return _context6.abrupt("return", res);
380
- case 4:
381
- case "end":
382
- return _context6.stop();
383
- }
384
- }, _callee6);
385
- }));
386
- return function launch(_x6) {
387
- return _ref8.apply(this, arguments);
388
- };
389
- }();
390
- var quitApp = exports.quitApp = function quitApp() {
391
- _remote.app.exit(0);
392
- };
393
- var getSystemMemorySize = exports.getSystemMemorySize = function getSystemMemorySize() {
394
- return _os["default"].totalmem();
395
- };
396
- var getSystemCpuInfo = exports.getSystemCpuInfo = function getSystemCpuInfo() {
397
- return _os["default"].cpus();
398
- };
399
- var getNetworkType = exports.getNetworkType = function getNetworkType() {
400
- var resolve = function resolve(res) {};
401
- var p = new Promise(function (_resolve) {
402
- resolve = _resolve;
403
- });
404
- var platform = _os["default"].platform();
405
- if (platform === 'darwin') {
406
- // macos
407
- (0, _child_process.exec)('networksetup -getairportnetwork en0', function (error, stdout, stderr) {
408
- if (error || stderr) {
409
- resolve({
410
- isWifiConnected: false,
411
- connection: ''
412
- });
413
- return;
414
- }
415
- if (stdout.includes('You are not associated with an AirPort network.')) {
416
- resolve({
417
- isWifiConnected: false,
418
- connection: ''
419
- });
420
- } else {
421
- var network = stdout.split(': ')[1].trim();
422
- resolve({
423
- isWifiConnected: true,
424
- connection: network
425
- });
426
- }
427
- });
428
- } else if (platform === 'win32') {
429
- // windows
430
- (0, _child_process.exec)('netsh wlan show interfaces', function (error, stdout, stderr) {
431
- if (error || stderr) {
432
- resolve({
433
- isWifiConnected: false,
434
- connection: ''
435
- });
436
- return;
437
- }
438
- var lines = stdout.split('\n');
439
- lines.forEach(function (line) {
440
- if (line.includes('State') && line.includes('connected') && line.includes('SSID')) {
441
- var ssid = line.split(': ')[1].trim();
442
- resolve({
443
- isWifiConnected: true,
444
- connection: ssid
445
- });
446
- }
447
- });
448
- resolve({
449
- isWifiConnected: false,
450
- connection: ''
451
- });
452
- });
453
- } else if (platform === 'linux') {
454
- // linux
455
- (0, _child_process.exec)('nmcli -t -f TYPE,STATE,CONNECTION device status', function (error, stdout, stderr) {
456
- if (error || stderr) {
457
- resolve({
458
- isWifiConnected: false,
459
- connection: ''
460
- });
461
- return;
462
- }
463
- var devices = stdout.split('\n');
464
- devices.forEach(function (device) {
465
- var _device$split = device.split(':'),
466
- _device$split2 = (0, _slicedToArray2["default"])(_device$split, 3),
467
- type = _device$split2[0],
468
- state = _device$split2[1],
469
- connection = _device$split2[2];
470
- if (type === 'wifi' && state === 'connected') {
471
- resolve({
472
- isWifiConnected: true,
473
- connection: connection
474
- });
475
- }
476
- });
477
- resolve({
478
- isWifiConnected: false,
479
- connection: ''
480
- });
481
- });
482
- } else {
483
- resolve({
484
- isWifiConnected: false,
485
- connection: ''
486
- });
487
- }
488
- return p;
489
- };
490
- var isDevMode = process.env.DEV === 'true';
491
- var appPath = _remote.app.getAppPath();
492
- var appDataPath = _remote.app.getPath('appData');
493
- var buildtinResourcesPath = isDevMode ? _path2["default"].resolve(_path2["default"].dirname(require.resolve('fcr-ui-scene/package.json')), 'public/assets/electron') : _path2["default"].resolve(appPath, '../assets');
494
- var userDataPath = _remote.app.getPath('userData');
495
- var cachePath = _path2["default"].resolve(userDataPath, 'cache');
496
- var imageExtensions = ['.png', '.jpg'];
497
- var videoExtensions = ['.mp4'];
498
- var audioExtensions = ['.mp3', '.wav'];
499
- var zipExtensions = ['.zip'];
500
- console.log("Is dev mode: ".concat(isDevMode));
501
- console.log("App path: ".concat(appPath));
502
- console.log("App data path: ".concat(appDataPath));
503
- console.log("Builtin ui resource path: ".concat(buildtinResourcesPath));
504
- console.log("User data path: ".concat(userDataPath));
505
- console.log("Cache path: ".concat(cachePath));
506
- var getZipCachePath = function getZipCachePath(type) {
507
- var resourcePath = type === 'audio' ? 'sound_effect_' : 'virtual_bg_';
508
- return _path2["default"].resolve(cachePath, "fcr_scene/".concat(resourcePath).concat(type, "s"));
509
- };
510
- var getResourcePath = function getResourcePath(type, md5Url) {
511
- var resourcePath = type === 'audio' ? 'sound_effect_' : 'virtual_bg_';
512
- return _path2["default"].resolve(userDataPath, "fcr_scene/".concat(resourcePath).concat(type, "s/").concat(md5Url));
513
- };
514
-
515
- // 解压 zip 文件并保存
516
- var unZipAndSaveFile = /*#__PURE__*/function () {
517
- var _ref9 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee8(zipFile, outputPath, type) {
518
- var zipBuffer, zip, fileNames;
519
- return _regenerator["default"].wrap(function _callee8$(_context8) {
520
- while (1) switch (_context8.prev = _context8.next) {
521
- case 0:
522
- zipBuffer = _fs2["default"].readFileSync(zipFile);
523
- _context8.next = 3;
524
- return _jszip["default"].loadAsync(zipBuffer);
525
- case 3:
526
- zip = _context8.sent;
527
- fileNames = [];
528
- _context8.next = 7;
529
- return Promise.all(Object.keys(zip.files).filter(function (filename) {
530
- // 忽略目录、扩展文件或不需要的文件
531
- var isDirectory = zip.files[filename].dir;
532
- var isExtensionFile = filename.includes('__MACOSX') || filename.includes('.DS_Store') || filename.startsWith('.') ||
533
- // 忽略以.开头的文件(隐藏文件)
534
- filename.includes('Thumbs.db'); // 忽略 Windows 的缩略图数据库文件
535
-
536
- var isUserDataFile = type === 'image' ? imageExtensions.includes(_path2["default"].extname(filename)) : type === 'video' ? videoExtensions.includes(_path2["default"].extname(filename)) : audioExtensions.includes(_path2["default"].extname(filename));
537
- return !isDirectory && !isExtensionFile && isUserDataFile;
538
- }).map(/*#__PURE__*/function () {
539
- var _ref10 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee7(filenameTmp) {
540
- var fileData, realFileName, outputFile;
541
- return _regenerator["default"].wrap(function _callee7$(_context7) {
542
- while (1) switch (_context7.prev = _context7.next) {
543
- case 0:
544
- _context7.next = 2;
545
- return zip.files[filenameTmp].async('nodebuffer');
546
- case 2:
547
- fileData = _context7.sent;
548
- realFileName = _path2["default"].basename(filenameTmp);
549
- outputFile = _path2["default"].resolve(outputPath, realFileName);
550
- _fs2["default"].mkdirSync(_path2["default"].dirname(outputFile), {
551
- recursive: true
552
- });
553
- _fs2["default"].writeFileSync(outputFile, fileData);
554
- fileNames.push(outputFile);
555
- case 8:
556
- case "end":
557
- return _context7.stop();
558
- }
559
- }, _callee7);
560
- }));
561
- return function (_x10) {
562
- return _ref10.apply(this, arguments);
563
- };
564
- }()));
565
- case 7:
566
- // 删除 zip 文件
567
- _fs2["default"].unlinkSync(zipFile);
568
- return _context8.abrupt("return", fileNames);
569
- case 9:
570
- case "end":
571
- return _context8.stop();
572
- }
573
- }, _callee8);
574
- }));
575
- return function unZipAndSaveFile(_x7, _x8, _x9) {
576
- return _ref9.apply(this, arguments);
577
- };
578
- }();
579
-
580
- // 检查指定路径下是否有指定的文件
581
- function getSpecificFiles(directory, extensions, fileName) {
582
- // 检查目录是否存在
583
- if (!_fs2["default"].existsSync(directory)) {
584
- // 如果目录不存在,则创建目录
585
- _fs2["default"].mkdirSync(directory, {
586
- recursive: true
587
- });
588
- return [];
589
- }
590
- try {
591
- var files = _fs2["default"].readdirSync(directory);
592
-
593
- // 筛选出符合扩展名的文件
594
- var filteredFiles = files.filter(function (file) {
595
- var ext = _path2["default"].extname(file).toLowerCase();
596
- return extensions.includes(ext);
597
- });
598
-
599
- // 如果传入了文件名,则只返回符合条件的文件
600
- if (fileName) {
601
- filteredFiles = filteredFiles.filter(function (file) {
602
- return file === fileName;
603
- });
604
- }
605
-
606
- // 符合条件的文件
607
- return filteredFiles.length > 0 ? filteredFiles.map(function (file) {
608
- return _path2["default"].resolve(directory, file);
609
- }) : [];
610
- } catch (err) {
611
- console.error("Error reading directory: ".concat(err === null || err === void 0 ? void 0 : err.message));
612
- return [];
613
- }
614
- }
615
- function downloadFile(_x11, _x12) {
616
- return _downloadFile.apply(this, arguments);
617
- } // 获取资源
618
- function _downloadFile() {
619
- _downloadFile = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee14(url, destination) {
620
- return _regenerator["default"].wrap(function _callee14$(_context14) {
621
- while (1) switch (_context14.prev = _context14.next) {
622
- case 0:
623
- return _context14.abrupt("return", new Promise(function (resolve, reject) {
624
- var request = _remote.net.request(url);
625
- request.on('response', function (response) {
626
- var fileStream = _fs2["default"].createWriteStream(destination);
627
- fileStream.on('finish', function () {
628
- resolve();
629
- });
630
- response.on('end', function () {
631
- fileStream.end();
632
- });
633
- response.on('data', function (chunk) {
634
- fileStream.write(chunk);
635
- });
636
- response.on('error', function (err) {
637
- reject(new Error("Download failed: ".concat(err.message)));
638
- });
639
- });
640
- request.on('error', function (err) {
641
- reject(new Error("Request failed: ".concat(err.message)));
642
- });
643
- request.end();
644
- }));
645
- case 1:
646
- case "end":
647
- return _context14.stop();
648
- }
649
- }, _callee14);
650
- }));
651
- return _downloadFile.apply(this, arguments);
652
- }
653
- var getResourceByFileType = exports.getResourceByFileType = /*#__PURE__*/function () {
654
- var _ref11 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee9(url, md5Url, type) {
655
- var resourcePath, extensionMap, extensions, cachedFiles, zipFileName, zipCacheDir, zipFiles, tempZipPath, zipPath, zipFilePath, filePathList;
656
- return _regenerator["default"].wrap(function _callee9$(_context9) {
657
- while (1) switch (_context9.prev = _context9.next) {
658
- case 0:
659
- resourcePath = getResourcePath(type, md5Url);
660
- extensionMap = {
661
- image: imageExtensions,
662
- video: videoExtensions,
663
- audio: audioExtensions
664
- };
665
- extensions = extensionMap[type]; // 已有背景文件,直接使用
666
- cachedFiles = getSpecificFiles(resourcePath, extensions);
667
- if (!(cachedFiles.length > 0)) {
668
- _context9.next = 7;
669
- break;
670
- }
671
- console.log("Using cached files for ".concat(url, ": ").concat(JSON.stringify(cachedFiles)));
672
- return _context9.abrupt("return", cachedFiles);
673
- case 7:
674
- // 已有 zip
675
- zipFileName = "".concat(md5Url, ".zip");
676
- zipCacheDir = getZipCachePath(type);
677
- zipFiles = getSpecificFiles(zipCacheDir, zipExtensions, zipFileName); // 没有 zip,需要下载
678
- if (!(zipFiles.length <= 0)) {
679
- _context9.next = 20;
680
- break;
681
- }
682
- tempZipPath = _path2["default"].resolve("".concat(zipCacheDir, "/").concat(md5Url, ".temp"));
683
- zipPath = _path2["default"].resolve("".concat(zipCacheDir, "/").concat(zipFileName));
684
- console.log("start downloading zip file from ".concat(url, " to ").concat(tempZipPath));
685
- _context9.next = 16;
686
- return downloadFile(url, tempZipPath);
687
- case 16:
688
- console.log("finished downloading zip file to ".concat(tempZipPath));
689
-
690
- // temp 文件重命名为 zip
691
- _fs2["default"].renameSync(tempZipPath, zipPath);
692
- console.log("renamed temp file from ".concat(tempZipPath, " to ").concat(zipPath));
693
- zipFiles = getSpecificFiles(zipCacheDir, zipExtensions, zipFileName);
694
- case 20:
695
- if (!(!zipFiles || zipFiles.length <= 0)) {
696
- _context9.next = 23;
697
- break;
698
- }
699
- console.warn("No zip files found for ".concat(url));
700
- return _context9.abrupt("return", []);
701
- case 23:
702
- zipFilePath = zipFiles[0]; // 解压并返回背景文件
703
- _context9.next = 26;
704
- return unZipAndSaveFile(zipFilePath, resourcePath, type);
705
- case 26:
706
- filePathList = _context9.sent;
707
- console.log("Unzipped files from ".concat(zipFilePath, ": ").concat(JSON.stringify(filePathList)));
708
- return _context9.abrupt("return", filePathList);
709
- case 29:
710
- case "end":
711
- return _context9.stop();
712
- }
713
- }, _callee9);
714
- }));
715
- return function getResourceByFileType(_x13, _x14, _x15) {
716
- return _ref11.apply(this, arguments);
717
- };
718
- }();
719
-
720
- // UI 层拿到 file path 需要转为 base64
721
- var fileToBase64 = exports.fileToBase64 = function fileToBase64(file, type) {
722
- var data = _fs2["default"].readFileSync(file, {
723
- encoding: 'base64'
724
- });
725
- if (type === 'video') {
726
- return "data:video/mp4;base64,".concat(data);
727
- } else if (type === 'audio') {
728
- return "data:audio/mp3;base64,".concat(data);
729
- } else {
730
- return "data:image/jpeg;base64,".concat(data);
731
- }
732
- };
733
- var fileToBlob = exports.fileToBlob = function fileToBlob(file, type) {
734
- var data = _fs2["default"].readFileSync(file, {
735
- encoding: 'base64'
736
- });
737
- return new Blob([Buffer.from(data, 'base64')], {
738
- type: type === 'video' ? 'video/mp4' : type === 'audio' ? 'audio/mp3' : 'image/jpeg'
739
- });
740
- };
741
- var loadBuiltinResources = exports.loadBuiltinResources = /*#__PURE__*/function () {
742
- var _ref12 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee11() {
743
- var buildtinVirtualBackgroundImagePath, buildtinVirtualBackgroundVideoPath, buildtinSoundEffectsPath;
744
- return _regenerator["default"].wrap(function _callee11$(_context11) {
745
- while (1) switch (_context11.prev = _context11.next) {
746
- case 0:
747
- buildtinVirtualBackgroundImagePath = _path2["default"].join(buildtinResourcesPath, 'images');
748
- buildtinVirtualBackgroundVideoPath = _path2["default"].join(buildtinResourcesPath, 'videos');
749
- buildtinSoundEffectsPath = _path2["default"].join(buildtinResourcesPath, 'sound_effects');
750
- return _context11.abrupt("return", new Promise(/*#__PURE__*/function () {
751
- var _ref13 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee10(resolve) {
752
- var _yield$Promise$allSet, _yield$Promise$allSet2, images, videos, sounds, virtualBackgroundImages, virtualBackgroundVideos, soundEffects;
753
- return _regenerator["default"].wrap(function _callee10$(_context10) {
754
- while (1) switch (_context10.prev = _context10.next) {
755
- case 0:
756
- _context10.next = 2;
757
- return Promise.allSettled([_promises["default"].readdir(buildtinVirtualBackgroundImagePath), _promises["default"].readdir(buildtinVirtualBackgroundVideoPath), _promises["default"].readdir(buildtinSoundEffectsPath)]);
758
- case 2:
759
- _yield$Promise$allSet = _context10.sent;
760
- _yield$Promise$allSet2 = (0, _slicedToArray2["default"])(_yield$Promise$allSet, 3);
761
- images = _yield$Promise$allSet2[0];
762
- videos = _yield$Promise$allSet2[1];
763
- sounds = _yield$Promise$allSet2[2];
764
- virtualBackgroundImages = [];
765
- if (images.status === 'fulfilled') {
766
- images.value.forEach(function (file) {
767
- var ext = _path2["default"].extname(file).toLowerCase();
768
- if (imageExtensions.includes(ext)) {
769
- virtualBackgroundImages.push(_path2["default"].join(buildtinVirtualBackgroundImagePath, file));
770
- }
771
- });
772
- }
773
- virtualBackgroundVideos = [];
774
- if (videos.status === 'fulfilled') {
775
- videos.value.forEach(function (file) {
776
- var ext = _path2["default"].extname(file).toLowerCase();
777
- if (videoExtensions.includes(ext)) {
778
- virtualBackgroundVideos.push(_path2["default"].join(buildtinVirtualBackgroundVideoPath, file));
779
- }
780
- });
781
- }
782
- soundEffects = [];
783
- if (sounds.status === 'fulfilled') {
784
- sounds.value.forEach(function (file) {
785
- var ext = _path2["default"].extname(file).toLowerCase();
786
- if (audioExtensions.includes(ext)) {
787
- soundEffects.push(_path2["default"].join(buildtinSoundEffectsPath, file));
788
- }
789
- });
790
- }
791
- resolve({
792
- virtualBackgroundImages: virtualBackgroundImages,
793
- virtualBackgroundVideos: virtualBackgroundVideos,
794
- soundEffects: soundEffects
795
- });
796
- case 14:
797
- case "end":
798
- return _context10.stop();
799
- }
800
- }, _callee10);
801
- }));
802
- return function (_x16) {
803
- return _ref13.apply(this, arguments);
804
- };
805
- }()));
806
- case 4:
807
- case "end":
808
- return _context11.stop();
809
- }
810
- }, _callee11);
811
- }));
812
- return function loadBuiltinResources() {
813
- return _ref12.apply(this, arguments);
814
- };
815
- }();
816
- var releaseSubAllWindowRefs = exports.releaseSubAllWindowRefs = function releaseSubAllWindowRefs() {
817
- _electron.ipcRenderer.send('closeAllSubWindows');
818
- };
819
- var getMediaSourceIdList = exports.getMediaSourceIdList = function getMediaSourceIdList() {
820
- return _remote.BrowserWindow.getAllWindows().map(function (window) {
821
- return {
822
- title: window.title,
823
- mediaSourceId: window.getMediaSourceId()
824
- };
825
- });
826
- };
827
- var setInMeetingState = exports.setInMeetingState = function setInMeetingState(state) {
828
- _electron.ipcRenderer.send('set-in-meeting-state', state);
829
- };
830
- var restartApp = exports.restartApp = function restartApp() {
831
- _remote.app.relaunch();
832
- _remote.app.exit(0);
833
- };
834
- var getUserSettingData = exports.getUserSettingData = function getUserSettingData() {
835
- try {
836
- var userSettingDataStr = _fs2["default"].readFileSync(_path2["default"].resolve(userDataPath, USER_SETTING_DATA_FILE_NAME), {
837
- encoding: 'utf-8'
838
- });
839
- return JSON.parse(userSettingDataStr);
840
- } catch (e) {
841
- return {};
842
- }
843
- };
844
- var setUserSettingData = exports.setUserSettingData = function setUserSettingData(data) {
845
- _fs2["default"].writeFileSync(_path2["default"].resolve(userDataPath, USER_SETTING_DATA_FILE_NAME), JSON.stringify(data));
846
- };
847
- var initSDK = exports.initSDK = function initSDK(options) {
848
- _electron.ipcRenderer.invoke('initSDK', options);
849
- };
850
- var openSetting = exports.openSetting = function openSetting() {
851
- _electron.ipcRenderer.invoke('openSetting');
852
- };
853
- var getIsSDKReady = exports.getIsSDKReady = /*#__PURE__*/function () {
854
- var _ref14 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee12() {
855
- return _regenerator["default"].wrap(function _callee12$(_context12) {
856
- while (1) switch (_context12.prev = _context12.next) {
857
- case 0:
858
- _context12.next = 2;
859
- return _electron.ipcRenderer.invoke('getIsSDKReady');
860
- case 2:
861
- return _context12.abrupt("return", _context12.sent);
862
- case 3:
863
- case "end":
864
- return _context12.stop();
865
- }
866
- }, _callee12);
867
- }));
868
- return function getIsSDKReady() {
869
- return _ref14.apply(this, arguments);
870
- };
871
- }();
872
- var launchSuccess = exports.launchSuccess = function launchSuccess(roomId) {
873
- _electron.ipcRenderer.send('launch-success', roomId);
874
- };
875
- var launchFailure = exports.launchFailure = function launchFailure(roomId, errorCode) {
876
- _electron.ipcRenderer.send('launch-failure', roomId, errorCode);
877
- };
878
- var setParameters = exports.setParameters = function setParameters(parameters) {
879
- _electron.ipcRenderer.send('set-parameters', parameters);
880
- };
881
- var exitedMeeting = exports.exitedMeeting = function exitedMeeting(roomId, reason) {
882
- var numericReason = exitReasonMap[reason];
883
- _electron.ipcRenderer.send('exited-meeting', roomId, numericReason);
884
- };
885
- var getIsMeetingLaunched = exports.getIsMeetingLaunched = /*#__PURE__*/function () {
886
- var _ref15 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee13() {
887
- return _regenerator["default"].wrap(function _callee13$(_context13) {
888
- while (1) switch (_context13.prev = _context13.next) {
889
- case 0:
890
- _context13.next = 2;
891
- return _electron.ipcRenderer.invoke('getIsMeetingLaunched');
892
- case 2:
893
- return _context13.abrupt("return", _context13.sent);
894
- case 3:
895
- case "end":
896
- return _context13.stop();
897
- }
898
- }, _callee13);
899
- }));
900
- return function getIsMeetingLaunched() {
901
- return _ref15.apply(this, arguments);
902
- };
903
- }();