fcr-ui-scene 3.7.5 → 3.7.7-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 (255) hide show
  1. package/lib/creator/index.js +15 -7
  2. package/lib/creator/provider-initializer.browser.js +13 -4
  3. package/lib/creator/provider-initializer.electron.js +22 -10
  4. package/lib/electron/bootstrap-sdk.js +90 -6
  5. package/lib/electron/injections.d.ts +1 -0
  6. package/lib/electron/injections.js +5 -1
  7. package/lib/electron/ipc/type.d.ts +1 -0
  8. package/lib/electron/ipc/type.js +1 -0
  9. package/lib/electron/preload.js +1 -0
  10. package/lib/electron/sdk-helper.d.ts +3 -0
  11. package/lib/electron/sdk-helper.js +53 -19
  12. package/lib/electron/struct.d.ts +7 -1
  13. package/lib/electron/struct.js +8 -1
  14. package/lib/electron/until.d.ts +7 -1
  15. package/lib/electron/until.js +11 -2
  16. package/lib/fragments/annotation/store.js +2 -0
  17. package/lib/modules/action-bar/components/item/index.js +1 -0
  18. package/lib/modules/action-bar/components/more/poppover-content.js +1 -1
  19. package/lib/modules/action-bar/components/screen-share/index.browser.js +4 -2
  20. package/lib/modules/action-bar/components/screen-share/index.electron.js +4 -2
  21. package/lib/modules/action-bar/components/screen-share/submenu.d.ts +5 -1
  22. package/lib/modules/action-bar/components/screen-share/submenu.js +12 -9
  23. package/lib/modules/audio-stream/index.js +4 -2
  24. package/lib/modules/chat/index.css +8 -0
  25. package/lib/modules/chat/view.js +7 -1
  26. package/lib/modules/components/control-bar/components/switch-theme/index.css +2 -0
  27. package/lib/modules/components/control-bar/components/switch-theme/index.js +5 -7
  28. package/lib/modules/components/control-bar/index.css +0 -2
  29. package/lib/modules/components/control-bar/index.d.ts +1 -0
  30. package/lib/modules/components/control-bar/index.js +51 -15
  31. package/lib/modules/components/leave-meeting/main-scene/store.d.ts +3 -0
  32. package/lib/modules/components/leave-meeting/main-scene/store.js +12 -0
  33. package/lib/modules/components/leave-meeting/store.base.d.ts +4 -3
  34. package/lib/modules/components/leave-meeting/store.base.js +0 -10
  35. package/lib/modules/components/leave-meeting/waiting-scene/store.d.ts +5 -1
  36. package/lib/modules/components/leave-meeting/waiting-scene/store.js +17 -3
  37. package/lib/modules/components/member-window/components/member-actions/components/more-actions.js +1 -2
  38. package/lib/modules/components/member-window/components/video-player/components/local-video-player-with-zoom.js +4 -3
  39. package/lib/modules/components/member-window/components/video-player/components/zoomable-container.js +18 -32
  40. package/lib/modules/components/toolbar/components/capture-tool/index.d.ts +0 -1
  41. package/lib/modules/components/toolbar/components/capture-tool/index.js +1 -2
  42. package/lib/modules/components/toolbar/components/vertical-frame/index.js +2 -2
  43. package/lib/modules/components/toolbar/hooks/use-resize-visible.js +45 -32
  44. package/lib/modules/components/toolbar/index.js +6 -24
  45. package/lib/modules/control-bar/components/boundary-detector.d.ts +7 -5
  46. package/lib/modules/control-bar/components/boundary-detector.js +22 -2
  47. package/lib/modules/control-bar/components/cloud-recording-buttons.d.ts +3 -0
  48. package/lib/modules/control-bar/components/cloud-recording-buttons.js +68 -3
  49. package/lib/modules/control-bar/hooks.js +2 -1
  50. package/lib/modules/control-bar/store.d.ts +1 -0
  51. package/lib/modules/control-bar/store.js +21 -7
  52. package/lib/modules/control-bar/view.js +96 -28
  53. package/lib/modules/dialog/components/confirm/index.js +6 -24
  54. package/lib/modules/dialog/components/dialog-container/component/body.d.ts +1 -0
  55. package/lib/modules/dialog/components/dialog-container/component/body.js +3 -2
  56. package/lib/modules/dialog/components/dialog-container/index.css +8 -1
  57. package/lib/modules/dialog/components/dialog-container/index.d.ts +1 -0
  58. package/lib/modules/dialog/components/dialog-container/index.js +4 -1
  59. package/lib/modules/dialog/components/normal-window/index.d.ts +1 -0
  60. package/lib/modules/dialog/components/normal-window/index.js +3 -1
  61. package/lib/modules/dialog/dialogs/chat/index.js +2 -1
  62. package/lib/modules/dialog/dialogs/control-bar-leave-meeting/index.js +0 -1
  63. package/lib/modules/dialog/dialogs/device-setting/index.d.ts +1 -0
  64. package/lib/modules/dialog/dialogs/device-setting/index.js +4 -2
  65. package/lib/modules/dialog/dialogs/end-meeting/index.d.ts +1 -0
  66. package/lib/modules/dialog/dialogs/end-meeting/index.js +2 -1
  67. package/lib/modules/dialog/dialogs/invite/index.d.ts +1 -0
  68. package/lib/modules/dialog/dialogs/invite/index.js +2 -1
  69. package/lib/modules/dialog/dialogs/mute-all/index.d.ts +1 -0
  70. package/lib/modules/dialog/dialogs/mute-all/index.js +2 -1
  71. package/lib/modules/dialog/dialogs/participant/index.js +9 -2
  72. package/lib/modules/dialog/dialogs/share-screen-selection/index.js +1 -1
  73. package/lib/modules/dialog/dialogs/sub-window/index.js +1 -7
  74. package/lib/modules/dialog/dialogs/toast/index.d.ts +1 -1
  75. package/lib/modules/dialog/dialogs/toast/index.js +1 -1
  76. package/lib/modules/dialog/dialogs/video-window/index.d.ts +4 -1
  77. package/lib/modules/dialog/dialogs/video-window/index.js +5 -2
  78. package/lib/modules/dialog/dialogs/widget/index.d.ts +2 -0
  79. package/lib/modules/dialog/dialogs/widget/index.js +11 -3
  80. package/lib/modules/dialog/index.css +6 -2
  81. package/lib/modules/dialog/level-config.d.ts +1 -0
  82. package/lib/modules/dialog/level-config.js +2 -1
  83. package/lib/modules/dialog/store.base.d.ts +2 -0
  84. package/lib/modules/dialog/store.browser.d.ts +2 -0
  85. package/lib/modules/dialog/store.browser.js +6 -1
  86. package/lib/modules/dialog/store.electron.d.ts +9 -1
  87. package/lib/modules/dialog/store.electron.js +64 -4
  88. package/lib/modules/dialog/type.d.ts +3 -0
  89. package/lib/modules/event-toast/index.css +0 -1
  90. package/lib/modules/event-toast/index.js +1 -0
  91. package/lib/modules/event-toast/store.base.d.ts +2 -0
  92. package/lib/modules/event-toast/store.base.js +40 -21
  93. package/lib/modules/event-toast/store.electron.d.ts +2 -0
  94. package/lib/modules/event-toast/store.electron.js +19 -9
  95. package/lib/modules/layout/components/CommonVideoRenderer.js +1 -0
  96. package/lib/modules/layout/store.electron.js +1 -1
  97. package/lib/modules/participant/components/confirm-input/index.js +1 -1
  98. package/lib/modules/participant/store.base.d.ts +30 -3
  99. package/lib/modules/participant/store.base.js +249 -96
  100. package/lib/modules/participant/store.browser.js +4 -3
  101. package/lib/modules/participant/store.electron.js +5 -3
  102. package/lib/modules/pc-audio-connect/main-scene/store.js +1 -0
  103. package/lib/modules/secondary-window/store.d.ts +1 -1
  104. package/lib/modules/secondary-window/store.js +14 -22
  105. package/lib/modules/secondary-window/view.js +10 -10
  106. package/lib/modules/setting/audio-settings/audio-settings.js +0 -17
  107. package/lib/modules/setting/index.js +1 -1
  108. package/lib/modules/setting/state/index.js +1 -1
  109. package/lib/modules/setting/store.base.d.ts +5 -2
  110. package/lib/modules/setting/store.base.js +72 -26
  111. package/lib/modules/share-screen/components/selection/index.css +4 -0
  112. package/lib/modules/share-screen/store.base.js +17 -4
  113. package/lib/modules/share-screen/store.electron.js +5 -2
  114. package/lib/modules/state-bar/layout-config.js +6 -0
  115. package/lib/modules/state-bar/main-scene/store.base.d.ts +2 -0
  116. package/lib/modules/state-bar/main-scene/store.base.js +6 -0
  117. package/lib/modules/video-window/index.css +6 -0
  118. package/lib/modules/video-window/popover-watcher.d.ts +5 -10
  119. package/lib/modules/video-window/popover-watcher.js +34 -31
  120. package/lib/modules/video-window/store.d.ts +32 -5
  121. package/lib/modules/video-window/store.js +156 -63
  122. package/lib/modules/video-window/view.js +50 -1
  123. package/lib/modules/whiteboard/index.d.ts +1 -1
  124. package/lib/modules/whiteboard/index.js +1 -1
  125. package/lib/modules/whiteboard/store.d.ts +3 -0
  126. package/lib/modules/whiteboard/store.js +31 -2
  127. package/lib/modules/whiteboard/view.js +10 -1
  128. package/lib/modules/widget/sdk.js +1 -1
  129. package/lib/modules/widget/store.base.d.ts +1 -0
  130. package/lib/modules/widget/store.browser.d.ts +1 -0
  131. package/lib/modules/widget/store.browser.js +60 -4
  132. package/lib/modules/widget/store.electron.d.ts +1 -0
  133. package/lib/modules/widget/store.electron.js +59 -2
  134. package/lib/modules/widget/type.d.ts +3 -2
  135. package/lib/modules/widget/view.js +9 -4
  136. package/lib/modules/widget/web-widget.d.ts +2 -1
  137. package/lib/modules/widget/web-widget.js +7 -5
  138. package/lib/object-manager.d.ts +2 -2
  139. package/lib/object-manager.js +1 -1
  140. package/lib/providers/board-share/bar-control/base.d.ts +1 -1
  141. package/lib/providers/board-share/bar-control/base.js +37 -28
  142. package/lib/providers/board-share/bar-control/electron.d.ts +1 -1
  143. package/lib/providers/board-share/bar-control/electron.js +19 -16
  144. package/lib/providers/board-share/provider.base.d.ts +8 -1
  145. package/lib/providers/board-share/provider.base.js +12 -2
  146. package/lib/providers/board-share/provider.browser.d.ts +3 -0
  147. package/lib/providers/board-share/provider.browser.js +21 -3
  148. package/lib/providers/device-provider.d.ts +16 -2
  149. package/lib/providers/device-provider.js +53 -60
  150. package/lib/providers/dialog/provider.base.d.ts +1 -0
  151. package/lib/providers/dialog/provider.browser.d.ts +1 -0
  152. package/lib/providers/dialog/provider.browser.js +7 -2
  153. package/lib/providers/dialog/provider.electron.d.ts +4 -1
  154. package/lib/providers/dialog/provider.electron.js +94 -2
  155. package/lib/providers/dialog/type.d.ts +7 -0
  156. package/lib/providers/mouse-detect/provider.d.ts +9 -1
  157. package/lib/providers/mouse-detect/provider.js +119 -5
  158. package/lib/providers/mouse-detect/struct.d.ts +2 -1
  159. package/lib/providers/mouse-detect/struct.js +1 -0
  160. package/lib/providers/mouse-detect/type.d.ts +2 -0
  161. package/lib/providers/multi-display-provider.d.ts +3 -5
  162. package/lib/providers/multi-display-provider.js +0 -9
  163. package/lib/providers/renderer-provider.d.ts +5 -0
  164. package/lib/providers/renderer-provider.js +5 -0
  165. package/lib/providers/room-provider/room-provider.d.ts +4 -14
  166. package/lib/providers/room-provider/room-provider.js +28 -39
  167. package/lib/providers/screen-share/provider.base.js +3 -11
  168. package/lib/providers/screen-share/provider.browser.js +23 -14
  169. package/lib/providers/screen-share/provider.electron.d.ts +1 -0
  170. package/lib/providers/screen-share/provider.electron.js +44 -17
  171. package/lib/providers/screen-share/strategy/browser.js +16 -13
  172. package/lib/providers/screen-share/strategy/electron.d.ts +2 -2
  173. package/lib/providers/screen-share/strategy/electron.js +15 -10
  174. package/lib/providers/screen-share/strategy/type.d.ts +6 -0
  175. package/lib/providers/screen-share/stream-state-sync.d.ts +3 -2
  176. package/lib/providers/screen-share/stream-state-sync.js +26 -16
  177. package/lib/providers/screen-share/struct.d.ts +9 -7
  178. package/lib/providers/screen-share/struct.js +11 -8
  179. package/lib/providers/screen-share/type.d.ts +7 -1
  180. package/lib/providers/widget-provider.d.ts +5 -3
  181. package/lib/providers/widget-provider.js +12 -18
  182. package/lib/providers/window/main-window.d.ts +0 -5
  183. package/lib/providers/window/main-window.js +3 -44
  184. package/lib/providers/window/renderer-window.d.ts +1 -0
  185. package/lib/providers/window/renderer-window.js +13 -2
  186. package/lib/runtime.d.ts +1 -0
  187. package/lib/runtime.js +2 -1
  188. package/lib/scenes/main-scene.js +5 -0
  189. package/lib/shared-context/board-context.d.ts +2 -0
  190. package/lib/shared-context/board-context.js +2 -0
  191. package/lib/shared-data/member-data.d.ts +0 -8
  192. package/lib/shared-data/member-data.js +26 -78
  193. package/lib/shared-data/widget-data.d.ts +13 -0
  194. package/lib/shared-data/widget-data.js +50 -0
  195. package/lib/translations/enUS.d.ts +0 -2
  196. package/lib/translations/enUS.js +4 -6
  197. package/lib/translations/zhCN.d.ts +0 -2
  198. package/lib/translations/zhCN.js +4 -6
  199. package/lib/type.d.ts +5 -0
  200. package/lib/ui-scene.d.ts +2 -4
  201. package/lib/ui-scene.js +31 -42
  202. package/lib/utilities/constant.d.ts +3 -1
  203. package/lib/utilities/constant.js +5 -2
  204. package/lib/utilities/default-config.d.ts +18 -0
  205. package/lib/utilities/default-config.js +19 -1
  206. package/lib/utilities/focus-helper.js +10 -3
  207. package/lib/utilities/logger.js +3 -1
  208. package/lib/utilities/renderer.d.ts +1 -0
  209. package/lib/utilities/renderer.js +7 -1
  210. package/package.json +5 -5
  211. package/public/index.html +35 -4
  212. package/lib/modules/action-bar/index.d.ts +0 -17
  213. package/lib/modules/action-bar/index.js +0 -63
  214. package/lib/modules/action-bar/store.base.d.ts +0 -15
  215. package/lib/modules/action-bar/store.base.js +0 -117
  216. package/lib/modules/action-bar/view.d.ts +0 -5
  217. package/lib/modules/action-bar/view.js +0 -112
  218. package/lib/modules/action-bar/waiting-scene/store.d.ts +0 -6
  219. package/lib/modules/action-bar/waiting-scene/store.js +0 -91
  220. package/lib/modules/control-bar/types.d.ts +0 -31
  221. package/lib/modules/control-bar/types.js +0 -6
  222. package/lib/modules/dialog/dialogs/pre-setting/index.css +0 -26
  223. package/lib/modules/dialog/dialogs/pre-setting/index.d.ts +0 -6
  224. package/lib/modules/dialog/dialogs/pre-setting/index.js +0 -57
  225. package/lib/modules/dialog/hooks/use-popover-watcher.d.ts +0 -14
  226. package/lib/modules/dialog/hooks/use-popover-watcher.js +0 -112
  227. package/lib/modules/event-toast/store.d.ts +0 -23
  228. package/lib/modules/event-toast/store.js +0 -187
  229. package/lib/modules/setting/common/advance-link.d.ts +0 -3
  230. package/lib/modules/setting/common/advance-link.js +0 -27
  231. package/lib/modules/setting/common/index.css +0 -26
  232. package/lib/modules/setting/common/useNamespace.d.ts +0 -15
  233. package/lib/modules/setting/common/useNamespace.js +0 -66
  234. package/lib/modules/widget/store.d.ts +0 -17
  235. package/lib/modules/widget/store.js +0 -71
  236. package/lib/providers/board-share/bar-control.d.ts +0 -51
  237. package/lib/providers/board-share/bar-control.js +0 -390
  238. package/lib/providers/board-share/provider.d.ts +0 -66
  239. package/lib/providers/board-share/provider.js +0 -456
  240. package/lib/providers/screen-share/provider.d.ts +0 -69
  241. package/lib/providers/screen-share/provider.js +0 -615
  242. package/lib/providers/whiteboard-provider.d.ts +0 -26
  243. package/lib/providers/whiteboard-provider.js +0 -131
  244. package/lib/providers/window/browser-window-proxy.d.ts +0 -0
  245. package/lib/providers/window/browser-window-proxy.js +0 -1
  246. package/lib/providers/window/ipc-protocol.d.ts +0 -0
  247. package/lib/providers/window/ipc-protocol.js +0 -1
  248. package/lib/providers/window/main-process-handler.d.ts +0 -0
  249. package/lib/providers/window/main-process-handler.js +0 -1
  250. package/lib/providers/window/main-process-integration.d.ts +0 -0
  251. package/lib/providers/window/main-process-integration.js +0 -1
  252. package/lib/shared-data/whiteboard-data.d.ts +0 -70
  253. package/lib/shared-data/whiteboard-data.js +0 -342
  254. package/lib/utilities/ipc-protocol.d.ts +0 -91
  255. package/lib/utilities/ipc-protocol.js +0 -61
@@ -113,7 +113,7 @@ var FcrUISceneCreator = exports.FcrUISceneCreator = /*#__PURE__*/function () {
113
113
  (0, _defineProperty2["default"])(this, "_registeredWidgetConfigs", new Map([]));
114
114
  (0, _defineProperty2["default"])(this, "_released", false);
115
115
  (0, _defineProperty2["default"])(this, "_scene", null);
116
- (0, _defineProperty2["default"])(this, "_microphoneKeepRecording", false);
116
+ (0, _defineProperty2["default"])(this, "_microphoneKeepRecording", true);
117
117
  (0, _defineProperty2["default"])(this, "_sceneObserver", null);
118
118
  (0, _defineProperty2["default"])(this, "_settingModule", null);
119
119
  (0, _defineProperty2["default"])(this, "_eventToastModule", null);
@@ -183,11 +183,17 @@ var FcrUISceneCreator = exports.FcrUISceneCreator = /*#__PURE__*/function () {
183
183
  type: _type.FcrUIGlobalNodeEventType.LAUNCH_SUCCESS,
184
184
  data: args
185
185
  });
186
- if ((0, _env.isElectron)()) {
187
- var windowProvider = _this._objectManager.getObject(_objectManager.FcrUIObjectKeys.P_WINDOW_PROVIDER);
188
- var mainWindow = windowProvider.getCurrentWindow();
189
- (0, _focusHelper.focusWindow)(mainWindow);
190
- }
186
+
187
+ // if (isElectron()) {
188
+ // const windowProvider = this._objectManager.getObject<FcrUIWindowProvider>(
189
+ // FcrUIObjectKeys.P_WINDOW_PROVIDER,
190
+ // );
191
+
192
+ // const mainWindow = windowProvider.getCurrentWindow();
193
+
194
+ // focusWindow(mainWindow);
195
+ // }
196
+
191
197
  onSuccess.apply(void 0, args);
192
198
  },
193
199
  onLaunchFailure: function onLaunchFailure() {
@@ -428,7 +434,9 @@ var FcrUISceneCreator = exports.FcrUISceneCreator = /*#__PURE__*/function () {
428
434
  this._globalNode.addSubNode(eventToastModule);
429
435
  this._globalNode.addSubNode(settingModule);
430
436
  this._globalNode.addToSlot('dialog', dialogModule.getComponent());
431
- this._globalNode.addToSlot('toast', eventToastModule.getComponent('local'));
437
+ if (!(0, _env.isElectron)()) {
438
+ this._globalNode.addToSlot('toast', eventToastModule.getComponent('global'));
439
+ }
432
440
 
433
441
  // other global modules...
434
442
 
@@ -34,6 +34,7 @@ var _privilegeProvider = require("../providers/privilege-provider");
34
34
  var _rendererProvider = require("../providers/renderer-provider");
35
35
  var _roomProvider = require("../providers/room-provider/room-provider");
36
36
  var _sessionProvider = require("../providers/session-provider");
37
+ var _widgetProvider = require("../providers/widget-provider");
37
38
  var _appListData = require("../shared-data/app-list-data");
38
39
  var _chatData = require("../shared-data/chat-data");
39
40
  var _devicePrivilegeData = require("../shared-data/device-privilege-data");
@@ -51,6 +52,7 @@ var _pinData = require("../shared-data/pin-data");
51
52
  var _provider5 = require("../providers/screen-share/provider.browser");
52
53
  var _provider6 = require("../providers/board-share/provider.browser");
53
54
  var _logger = require("../utilities/logger");
55
+ var _widgetData = require("../shared-data/widget-data");
54
56
  var FcrUIBrowserProviderInitializer = exports.FcrUIBrowserProviderInitializer = /*#__PURE__*/function () {
55
57
  function FcrUIBrowserProviderInitializer(args) {
56
58
  (0, _classCallCheck2["default"])(this, FcrUIBrowserProviderInitializer);
@@ -97,6 +99,8 @@ var FcrUIBrowserProviderInitializer = exports.FcrUIBrowserProviderInitializer =
97
99
  objectManager.setObject(_objectManager.FcrUIObjectKeys.P_MONITOR_PROVIDER, monitorProvider);
98
100
  var sharedLayoutDataSource = new _layoutData.FcrUISharedLayoutDataSourceImpl(sharedConfigDataSource);
99
101
  objectManager.setObject(_objectManager.FcrUIObjectKeys.S_SHARED_LAYOUT_DATA_SOURCE, sharedLayoutDataSource);
102
+ var sharedWidgetDataSource = new _widgetData.FcrUISharedWidgetDataSourceImpl();
103
+ objectManager.setObject(_objectManager.FcrUIObjectKeys.S_SHARED_WIDGET_DATA_SOURCE, sharedWidgetDataSource);
100
104
  }
101
105
  }, {
102
106
  key: "onCreatorRelease",
@@ -113,6 +117,7 @@ var FcrUIBrowserProviderInitializer = exports.FcrUIBrowserProviderInitializer =
113
117
  objectManager.deleteObject(_objectManager.FcrUIObjectKeys.P_DIALOG_PROVIDER);
114
118
  objectManager.deleteObject(_objectManager.FcrUIObjectKeys.P_DEVICE_PROVIDER);
115
119
  objectManager.deleteObject(_objectManager.FcrUIObjectKeys.S_SHARED_SETTING_DATA_SOURCE);
120
+ objectManager.deleteObject(_objectManager.FcrUIObjectKeys.S_SHARED_WIDGET_DATA_SOURCE);
116
121
  objectManager.deleteObject(_objectManager.FcrUIObjectKeys.CORE_ENGINE);
117
122
  if (objectManager.size() > 0) {
118
123
  this.logger.error("remaing objects: ".concat(objectManager.keys()));
@@ -133,7 +138,13 @@ var FcrUIBrowserProviderInitializer = exports.FcrUIBrowserProviderInitializer =
133
138
  var dialogProvider = objectManager.getObject(_objectManager.FcrUIObjectKeys.P_DIALOG_PROVIDER);
134
139
  var sharedScreenShareDataSource = new _screenShare.FcrUISharedScreenShareDataSourceImpl();
135
140
  objectManager.setObject(_objectManager.FcrUIObjectKeys.S_SHARED_SCREEN_SHARE_DATA_SOURCE, sharedScreenShareDataSource);
136
- var widgetProvider = objectManager.getObject(_objectManager.FcrUIObjectKeys.P_WIDGET_PROVIDER);
141
+ var sharedWidgetDataSource = objectManager.getObject(_objectManager.FcrUIObjectKeys.S_SHARED_WIDGET_DATA_SOURCE);
142
+ var widgetProvider = new _widgetProvider.FcrUIWidgetProviderImpl({
143
+ sharedWidgetDataSource: sharedWidgetDataSource,
144
+ roomProvider: roomProvider,
145
+ dialogProvider: dialogProvider
146
+ });
147
+ objectManager.setObject(_objectManager.FcrUIObjectKeys.P_WIDGET_PROVIDER, widgetProvider);
137
148
  var mainRoomControl = roomProvider.currentRoomControl;
138
149
  var sharingControl = mainRoomControl.getSharingControl();
139
150
  var streamControl = mainRoomControl.getStreamControl();
@@ -165,8 +176,6 @@ var FcrUIBrowserProviderInitializer = exports.FcrUIBrowserProviderInitializer =
165
176
  objectManager.setObject(_objectManager.FcrUIObjectKeys.P_INTERPRETER_PROVIDER, interpreterProvider);
166
177
  var currentRoomControlProvider = new _roomProvider.FcrUICurrentRoomControlProviderImpl(mainRoomControl);
167
178
  objectManager.setObject(_objectManager.FcrUIObjectKeys.P_CURRENT_ROOM_CONTROL_PROVIDER, currentRoomControlProvider);
168
- var connectionProvider = new _roomProvider.FcrUIConnectionProviderImpl(engine);
169
- objectManager.setObject(_objectManager.FcrUIObjectKeys.P_CONNECTION_PROVIDER, connectionProvider);
170
179
  var sessionProvider = new _sessionProvider.FcrUISessionProviderImpl(engine);
171
180
  objectManager.setObject(_objectManager.FcrUIObjectKeys.P_SESSION_PROVIDER, sessionProvider);
172
181
  var sharedDevicePrivilegeDataSource = new _devicePrivilegeData.FcrUISharedDevicePrivilegeDataSourceImpl();
@@ -225,7 +234,6 @@ var FcrUIBrowserProviderInitializer = exports.FcrUIBrowserProviderInitializer =
225
234
  objectManager.deleteObject(_objectManager.FcrUIObjectKeys.P_PRIVILEGE_PROVIDER);
226
235
  objectManager.deleteObject(_objectManager.FcrUIObjectKeys.P_INTERPRETER_PROVIDER);
227
236
  objectManager.deleteObject(_objectManager.FcrUIObjectKeys.P_CURRENT_ROOM_CONTROL_PROVIDER);
228
- objectManager.deleteObject(_objectManager.FcrUIObjectKeys.P_CONNECTION_PROVIDER);
229
237
  objectManager.deleteObject(_objectManager.FcrUIObjectKeys.P_SESSION_PROVIDER);
230
238
  objectManager.deleteObject(_objectManager.FcrUIObjectKeys.P_DEVICE_STREAM_PROVIDER);
231
239
  objectManager.deleteObject(_objectManager.FcrUIObjectKeys.P_WAITING_ROOM_CONTROL_PROVIDER);
@@ -246,6 +254,7 @@ var FcrUIBrowserProviderInitializer = exports.FcrUIBrowserProviderInitializer =
246
254
  objectManager.deleteObject(_objectManager.FcrUIObjectKeys.S_SHARED_PIN_DATA_SOURCE);
247
255
  objectManager.deleteObject(_objectManager.FcrUIObjectKeys.S_SHARED_DEVICE_PRIVILEGE_DATA_SOURCE);
248
256
  objectManager.deleteObject(_objectManager.FcrUIObjectKeys.S_SHARED_INTERPRETER_DATA_SOURCE);
257
+ objectManager.deleteObject(_objectManager.FcrUIObjectKeys.P_WIDGET_PROVIDER);
249
258
  // 其它如有遗漏可补充
250
259
  }
251
260
  }, {
@@ -35,6 +35,7 @@ var _phoneAudioProvider = require("../providers/phone-audio-provider");
35
35
  var _rendererProvider = require("../providers/renderer-provider");
36
36
  var _roomProvider = require("../providers/room-provider/room-provider");
37
37
  var _sessionProvider = require("../providers/session-provider");
38
+ var _widgetProvider = require("../providers/widget-provider");
38
39
  var _appListData = require("../shared-data/app-list-data");
39
40
  var _chatData = require("../shared-data/chat-data");
40
41
  var _devicePrivilegeData = require("../shared-data/device-privilege-data");
@@ -57,6 +58,7 @@ var _speakerSpotlight = require("../shared-data/speaker-spotlight");
57
58
  var _pinData = require("../shared-data/pin-data");
58
59
  var _logger = require("../utilities/logger");
59
60
  var _provider8 = require("../providers/mouse-detect/provider");
61
+ var _widgetData = require("../shared-data/widget-data");
60
62
  var FcrUIElectronProviderInitializer = exports.FcrUIElectronProviderInitializer = /*#__PURE__*/function () {
61
63
  function FcrUIElectronProviderInitializer(args) {
62
64
  (0, _classCallCheck2["default"])(this, FcrUIElectronProviderInitializer);
@@ -71,12 +73,14 @@ var FcrUIElectronProviderInitializer = exports.FcrUIElectronProviderInitializer
71
73
  value: function onCreatorInitialize(engineConfig) {
72
74
  // initialize all providers and shared data sources
73
75
  var objectManager = this._objectManager;
76
+ var fcrUIMainWindowRenderer = new _secondaryWindow.FcrUIMainWindowRendererImpl();
77
+
78
+ // @ts-ignore
79
+ window.FcrUIMainWindowRenderer = fcrUIMainWindowRenderer;
74
80
  var engine = new _fcrCore.FcrCoreEngine(engineConfig);
75
81
  this._objectManager.setObject(_objectManager.FcrUIObjectKeys.CORE_ENGINE, engine);
76
82
  var renderer = new _renderer.FcrUIRendererWrapper();
77
83
  objectManager.setObject(_objectManager.FcrUIObjectKeys.RENDERER_WRAPPER, renderer);
78
- var mouseDetectProvider = new _provider8.FcrUIMouseDetectProviderImpl(objectManager);
79
- objectManager.setObject(_objectManager.FcrUIObjectKeys.P_MOUSE_DETECT_PROVIDER, mouseDetectProvider);
80
84
  var localStorageProvider = new _localStorageProvider.FcrUILocalStorageProviderImpl();
81
85
  objectManager.setObject(_objectManager.FcrUIObjectKeys.P_LOCAL_STORAGE_PROVIDER, localStorageProvider);
82
86
  var facilityProvider = new _provider5.FcrUIElectronFacilityProviderImpl({
@@ -93,6 +97,8 @@ var FcrUIElectronProviderInitializer = exports.FcrUIElectronProviderInitializer
93
97
  renderer: renderer
94
98
  });
95
99
  objectManager.setObject(_objectManager.FcrUIObjectKeys.P_WINDOW_PROVIDER, windowProvider);
100
+ var mouseDetectProvider = new _provider8.FcrUIMouseDetectProviderImpl(objectManager);
101
+ objectManager.setObject(_objectManager.FcrUIObjectKeys.P_MOUSE_DETECT_PROVIDER, mouseDetectProvider);
96
102
  var eventProvider = new _eventProvider.FcrUIEventProviderImpl();
97
103
  objectManager.setObject(_objectManager.FcrUIObjectKeys.P_EVENT_PROVIDER, eventProvider);
98
104
  var messageProvider = new _provider2.FcrUIMessageProviderImpl();
@@ -100,7 +106,8 @@ var FcrUIElectronProviderInitializer = exports.FcrUIElectronProviderInitializer
100
106
  var sharedConfirmDataSource = new _confirmData.FcrUISharedConfirmDataSourceImpl();
101
107
  this._objectManager.setObject(_objectManager.FcrUIObjectKeys.S_SHARED_CONFIRM_DATA_SOURCE, sharedConfirmDataSource);
102
108
  var dialogProvider = new _provider.FcrUIElectronDialogProviderImpl({
103
- windowProvider: windowProvider
109
+ windowProvider: windowProvider,
110
+ renderer: renderer
104
111
  });
105
112
  objectManager.setObject(_objectManager.FcrUIObjectKeys.P_DIALOG_PROVIDER, dialogProvider);
106
113
  var deviceProvider = new _deviceProvider.FcrUIDeviceProviderImpl(renderer, facilityProvider, messageProvider, engine.getDesktopMediaControl(), sharedSettingDataSource);
@@ -113,6 +120,8 @@ var FcrUIElectronProviderInitializer = exports.FcrUIElectronProviderInitializer
113
120
  objectManager.setObject(_objectManager.FcrUIObjectKeys.P_MONITOR_PROVIDER, monitorProvider);
114
121
  var sharedLayoutDataSource = new _layoutData.FcrUISharedLayoutDataSourceImpl(sharedConfigDataSource);
115
122
  objectManager.setObject(_objectManager.FcrUIObjectKeys.S_SHARED_LAYOUT_DATA_SOURCE, sharedLayoutDataSource);
123
+ var sharedWidgetDataSource = new _widgetData.FcrUISharedWidgetDataSourceImpl();
124
+ objectManager.setObject(_objectManager.FcrUIObjectKeys.S_SHARED_WIDGET_DATA_SOURCE, sharedWidgetDataSource);
116
125
  }
117
126
  }, {
118
127
  key: "onCreatorRelease",
@@ -132,6 +141,7 @@ var FcrUIElectronProviderInitializer = exports.FcrUIElectronProviderInitializer
132
141
  objectManager.deleteObject(_objectManager.FcrUIObjectKeys.P_DIALOG_PROVIDER);
133
142
  objectManager.deleteObject(_objectManager.FcrUIObjectKeys.P_DEVICE_PROVIDER);
134
143
  objectManager.deleteObject(_objectManager.FcrUIObjectKeys.S_SHARED_SETTING_DATA_SOURCE);
144
+ objectManager.deleteObject(_objectManager.FcrUIObjectKeys.S_SHARED_WIDGET_DATA_SOURCE);
135
145
  objectManager.deleteObject(_objectManager.FcrUIObjectKeys.CORE_ENGINE);
136
146
  objectManager.deleteObject(_objectManager.FcrUIObjectKeys.S_SHARED_CONFIRM_DATA_SOURCE);
137
147
  if (objectManager.size() > 0) {
@@ -152,7 +162,13 @@ var FcrUIElectronProviderInitializer = exports.FcrUIElectronProviderInitializer
152
162
  var sharedSettingDataSource = objectManager.getObject(_objectManager.FcrUIObjectKeys.S_SHARED_SETTING_DATA_SOURCE);
153
163
  var messageProvider = objectManager.getObject(_objectManager.FcrUIObjectKeys.P_MESSAGE_PROVIDER);
154
164
  var dialogProvider = objectManager.getObject(_objectManager.FcrUIObjectKeys.P_DIALOG_PROVIDER);
155
- var widgetProvider = objectManager.getObject(_objectManager.FcrUIObjectKeys.P_WIDGET_PROVIDER);
165
+ var sharedWidgetDataSource = objectManager.getObject(_objectManager.FcrUIObjectKeys.S_SHARED_WIDGET_DATA_SOURCE);
166
+ var widgetProvider = new _widgetProvider.FcrUIWidgetProviderImpl({
167
+ sharedWidgetDataSource: sharedWidgetDataSource,
168
+ roomProvider: roomProvider,
169
+ dialogProvider: dialogProvider
170
+ });
171
+ objectManager.setObject(_objectManager.FcrUIObjectKeys.P_WIDGET_PROVIDER, widgetProvider);
156
172
  var windowProvider = objectManager.getObject(_objectManager.FcrUIObjectKeys.P_WINDOW_PROVIDER);
157
173
  var sharedScreenShareDataSource = new _screenShare.FcrUISharedScreenShareDataSourceImpl();
158
174
  objectManager.setObject(_objectManager.FcrUIObjectKeys.S_SHARED_SCREEN_SHARE_DATA_SOURCE, sharedScreenShareDataSource);
@@ -187,8 +203,6 @@ var FcrUIElectronProviderInitializer = exports.FcrUIElectronProviderInitializer
187
203
  objectManager.setObject(_objectManager.FcrUIObjectKeys.P_INTERPRETER_PROVIDER, interpreterProvider);
188
204
  var currentRoomControlProvider = new _roomProvider.FcrUICurrentRoomControlProviderImpl(mainRoomControl);
189
205
  objectManager.setObject(_objectManager.FcrUIObjectKeys.P_CURRENT_ROOM_CONTROL_PROVIDER, currentRoomControlProvider);
190
- var connectionProvider = new _roomProvider.FcrUIConnectionProviderImpl(engine);
191
- objectManager.setObject(_objectManager.FcrUIObjectKeys.P_CONNECTION_PROVIDER, connectionProvider);
192
206
  var sessionProvider = new _sessionProvider.FcrUISessionProviderImpl(engine);
193
207
  objectManager.setObject(_objectManager.FcrUIObjectKeys.P_SESSION_PROVIDER, sessionProvider);
194
208
  var sharedDevicePrivilegeDataSource = new _devicePrivilegeData.FcrUISharedDevicePrivilegeDataSourceImpl();
@@ -215,10 +229,9 @@ var FcrUIElectronProviderInitializer = exports.FcrUIElectronProviderInitializer
215
229
  objectManager.setObject(_objectManager.FcrUIObjectKeys.S_SHARED_MEETING_TIME_DATA_SOURCE, sharedMeetingTimeDataSource);
216
230
  var sharedMemberDataSource = new _memberData.FcrUISharedMemberDataSourceImpl(userControl, streamControl, sharedScreenShareDataSource, eventProvider, mainRoomControl.getSharingControl().getBoardControl());
217
231
  objectManager.setObject(_objectManager.FcrUIObjectKeys.S_SHARED_MEMBER_DATA_SOURCE, sharedMemberDataSource);
218
- var fcrUIMainWindowRenderer = new _secondaryWindow.FcrUIMainWindowRendererImpl();
219
232
 
220
233
  // @ts-ignore
221
- window.FcrUIMainWindowRenderer = fcrUIMainWindowRenderer;
234
+ var fcrUIMainWindowRenderer = window.FcrUIMainWindowRenderer;
222
235
  var whiteboardProvider = new _provider7.FcrUIBoardShareProviderImpl(objectManager, fcrUIMainWindowRenderer);
223
236
  objectManager.setObject(_objectManager.FcrUIObjectKeys.P_BOARD_SHARE_PROVIDER, whiteboardProvider);
224
237
  var sharedSecurityDataSource = new _securityData.FcrUISecurityDataSourceImpl(privilegeProvider, sharedMemberDataSource);
@@ -241,7 +254,6 @@ var FcrUIElectronProviderInitializer = exports.FcrUIElectronProviderInitializer
241
254
  windowProvider: windowProvider,
242
255
  sharingControl: sharingControl,
243
256
  whiteboardProvider: whiteboardProvider,
244
- fcrUIMainWindowRenderer: fcrUIMainWindowRenderer,
245
257
  screenShareProvider: screenShareProvider
246
258
  });
247
259
  objectManager.setObject(_objectManager.FcrUIObjectKeys.P_MULTI_DISPLAY_PROVIDER, multiDisplayProvider);
@@ -262,7 +274,6 @@ var FcrUIElectronProviderInitializer = exports.FcrUIElectronProviderInitializer
262
274
  objectManager.deleteObject(_objectManager.FcrUIObjectKeys.P_PRIVILEGE_PROVIDER);
263
275
  objectManager.deleteObject(_objectManager.FcrUIObjectKeys.P_INTERPRETER_PROVIDER);
264
276
  objectManager.deleteObject(_objectManager.FcrUIObjectKeys.P_CURRENT_ROOM_CONTROL_PROVIDER);
265
- objectManager.deleteObject(_objectManager.FcrUIObjectKeys.P_CONNECTION_PROVIDER);
266
277
  objectManager.deleteObject(_objectManager.FcrUIObjectKeys.P_SESSION_PROVIDER);
267
278
  objectManager.deleteObject(_objectManager.FcrUIObjectKeys.P_DEVICE_STREAM_PROVIDER);
268
279
  objectManager.deleteObject(_objectManager.FcrUIObjectKeys.P_WAITING_ROOM_CONTROL_PROVIDER);
@@ -284,6 +295,7 @@ var FcrUIElectronProviderInitializer = exports.FcrUIElectronProviderInitializer
284
295
  objectManager.deleteObject(_objectManager.FcrUIObjectKeys.S_SHARED_PIN_DATA_SOURCE);
285
296
  objectManager.deleteObject(_objectManager.FcrUIObjectKeys.S_SHARED_DEVICE_PRIVILEGE_DATA_SOURCE);
286
297
  objectManager.deleteObject(_objectManager.FcrUIObjectKeys.S_SHARED_INTERPRETER_DATA_SOURCE);
298
+ objectManager.deleteObject(_objectManager.FcrUIObjectKeys.P_WIDGET_PROVIDER);
287
299
  }
288
300
  }, {
289
301
  key: "onWaitingSceneInitialize",
@@ -48,6 +48,8 @@ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbol
48
48
  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; }
49
49
  var mainWindow;
50
50
  var mainWindowReady = false;
51
+ var userMinimize = false;
52
+ var mainWindowDisplayState = _struct.DisplayState.HIDE;
51
53
  (0, _main.initialize)();
52
54
  var port = (_process$argv$find = process.argv.find(function (arg) {
53
55
  return arg.startsWith('--port=');
@@ -102,10 +104,17 @@ ipcClient.addObserver({
102
104
  mainWindow.moveTop();
103
105
  var platform = _os["default"].platform();
104
106
  if (platform === 'win32') {
105
- mainWindow.setAlwaysOnTop(true);
107
+ (0, _logger.getLogger)().info('windows_index setAlwaysOnTop in bootstrap-sdk');
108
+ mainWindow.setAlwaysOnTop(true, 'pop-up-menu');
106
109
  setTimeout(function () {
107
- mainWindow.setAlwaysOnTop(false);
108
- }, 100);
110
+ (0, _logger.getLogger)().info("windows_index set main window in bootstrap-sdk,current display state: ".concat(mainWindowDisplayState));
111
+ if (mainWindowDisplayState === _struct.DisplayState.SHOW) {
112
+ mainWindow.moveTop();
113
+ mainWindow.show();
114
+ mainWindow.focus();
115
+ }
116
+ }, 300);
117
+ mainWindow.setAlwaysOnTop(false, 'pop-up-menu');
109
118
  }
110
119
  }
111
120
  break;
@@ -252,10 +261,10 @@ _electron.app.addListener('ready', function () {
252
261
  cmd: _type.IPCMessageCMD.ExitedMeeting,
253
262
  data: {
254
263
  roomId: roomId,
255
- reason: _struct.FcrUISceneLaunchEndReason.CRASHED
264
+ reason: _until.crashedErrorCode
256
265
  }
257
266
  });
258
- _eventManager.eventManager.onExitedMeeting(roomId, 'exited-meeting');
267
+ _eventManager.eventManager.onExitedMeeting(roomId, _struct.FcrUISceneLaunchEndReason.CRASHED);
259
268
  });
260
269
  mainWindow.webContents.addListener('did-finish-load', function () {
261
270
  mainWindowReady = true;
@@ -264,8 +273,47 @@ _electron.app.addListener('ready', function () {
264
273
  data: {}
265
274
  });
266
275
  });
276
+ mainWindow.addListener('minimize', function () {
277
+ (0, _logger.getLogger)().info('windows_release main window minimized');
278
+ mainWindowDisplayState = _struct.DisplayState.MINIMIZE;
279
+ userMinimize = true;
280
+ });
281
+ mainWindow.addListener('show', function () {
282
+ (0, _logger.getLogger)().info('windows_release main window show');
283
+ mainWindowDisplayState = _struct.DisplayState.SHOW;
284
+ mainWindow.focus();
285
+ userMinimize = false;
286
+ });
287
+ mainWindow.addListener('always-on-top-changed', function (event, alwaysOnTop) {
288
+ (0, _logger.getLogger)().info("windows_index main window always-on-top-changed: ".concat(alwaysOnTop));
289
+ });
267
290
  mainWindow.addListener('hide', function () {
268
291
  (0, _logger.getLogger)().info("windows_release main window hidden, current launch state: ".concat(_struct.FcrUISceneLaunchState[_eventManager.eventManager.launchState]));
292
+ mainWindowDisplayState = _struct.DisplayState.HIDE;
293
+ if (userMinimize) {
294
+ (0, _logger.getLogger)().info('windows_release main window hidden, but user minimize, ignore this event');
295
+ return;
296
+ }
297
+
298
+ // if (
299
+ // eventManager.launchState === LaunchState.END &&
300
+ // eventManager.endReason === FcrUISceneLaunchEndReason.LAUNCH_SUCCESS
301
+ // ) {
302
+ // getLogger().info(
303
+ // 'windows_release main window hidden, but launch state is END, send error Event',
304
+ // );
305
+
306
+ // ipcClient.sendMessage({
307
+ // cmd: IPCMessageCMD.Error,
308
+ // data: {
309
+ // roomId: eventManager.roomId,
310
+ // errorCode: mainWindowHiddenOnLaunchSuccessErrorCode,
311
+ // message: 'main window hidden on launch success',
312
+ // },
313
+ // });
314
+ // return;
315
+ // }
316
+
269
317
  if (_eventManager.eventManager.launchState !== _struct.FcrUISceneLaunchState.PROCESSING) {
270
318
  return;
271
319
  }
@@ -285,6 +333,7 @@ _electron.app.addListener('ready', function () {
285
333
  _electron.app.exit(_exitCodes.AppExitCode.NORMAL_EXIT);
286
334
  });
287
335
  mainWindow.addListener('close', function (e) {
336
+ mainWindowDisplayState = _struct.DisplayState.HIDE;
288
337
  var closeListenerCount = mainWindow.listenerCount('close');
289
338
  (0, _logger.getLogger)().info("windows_release main window close listener count: ".concat(closeListenerCount, ", isInMeeting: ").concat(_meetingState.isInMeeting));
290
339
  if (_meetingState.isInMeeting === 0) {
@@ -310,6 +359,14 @@ _electron.app.addListener('ready', function () {
310
359
  }, 300);
311
360
  }
312
361
  });
362
+ mainWindow.addListener('unresponsive', function () {
363
+ (0, _logger.getLogger)().warn("main window unresponsive in bootstrap-sdk");
364
+ handleUnresponsive();
365
+ });
366
+ mainWindow.addListener('responsive', function () {
367
+ (0, _logger.getLogger)().warn("main window responsive in bootstrap-sdk");
368
+ handleResponsive();
369
+ });
313
370
  if (_env.isDev) {
314
371
  mainWindow.webContents.openDevTools({
315
372
  mode: 'detach'
@@ -336,4 +393,31 @@ _electron.app.addListener('quit', function (event, exitCode) {
336
393
  (0, _logger.getLogger)().info("app quit event triggered with exit code: ".concat(exitCode));
337
394
  // 清理 EventManager 资源
338
395
  _eventManager.eventManager.dispose();
339
- });
396
+ });
397
+ var HANG_DETECTION_TIMEOUT = 60 * 1000; // 1分钟(毫s秒)
398
+ var hangDetectionTimer = null;
399
+ function handleUnresponsive() {
400
+ (0, _logger.getLogger)().warn('Window became unresponsive, starting hang detection timer');
401
+ clearHangDetectionTimer();
402
+ hangDetectionTimer = setTimeout(function () {
403
+ (0, _logger.getLogger)().error('Window has been unresponsive for 1 minute, forcing application exit');
404
+ _eventManager.eventManager.onExitedMeeting(_eventManager.eventManager.roomId, _struct.FcrUISceneLaunchEndReason.HANG_DETECTION);
405
+ ipcClient.sendMessage({
406
+ cmd: _type.IPCMessageCMD.ExitedMeeting,
407
+ data: {
408
+ roomId: _eventManager.eventManager.roomId,
409
+ reason: _until.hangDetectionErrorCode
410
+ }
411
+ });
412
+ }, HANG_DETECTION_TIMEOUT);
413
+ }
414
+ function handleResponsive() {
415
+ (0, _logger.getLogger)().info('Window became responsive again, clearing hang detection timer');
416
+ clearHangDetectionTimer();
417
+ }
418
+ function clearHangDetectionTimer() {
419
+ if (hangDetectionTimer) {
420
+ clearTimeout(hangDetectionTimer);
421
+ hangDetectionTimer = null;
422
+ }
423
+ }
@@ -19,6 +19,7 @@ export declare const captureScreen: (options?: {
19
19
  hideWindow?: boolean;
20
20
  alwaysHide?: boolean;
21
21
  }) => void;
22
+ export declare const getBaseUrl: () => string;
22
23
  export declare const openRendererWindow: (frameName: string, callback: (dom: HTMLElement, windowId: string, newRendererWindow: Window) => void, windowOptions: BrowserWindowConstructorOptions) => Promise<void>;
23
24
  export declare const checkMediaPermission: (mediaType: "microphone" | "camera" | "sharing") => Promise<any>;
24
25
  export declare const openSystemPreferences: (mediaType: "microphone" | "camera" | "sharing") => void;
@@ -6,7 +6,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
6
6
  Object.defineProperty(exports, "__esModule", {
7
7
  value: true
8
8
  });
9
- exports.showItemInFolder = exports.setUserSettingData = exports.setFragmentOptions = exports.setFragmentBaseUrl = exports.sendEvent = exports.screen = exports.restartApp = exports.removeEventListener = exports.quitApp = exports.openSystemPreferences = exports.openRendererWindow = exports.openLinkInDefaultBrowser = exports.openDirectory = exports.open = exports.loadBuiltinResources = exports.initialize = exports.getUserSettingData = exports.getSystemMemorySize = exports.getSystemCpuInfo = exports.getResourceByFileType = exports.getPrimaryDisplay = exports.getNetworkType = exports.getMediaSourceIdList = exports.getDisplayNearestPoint = exports.getDisplayMatching = exports.getCursorScreenPoint = exports.getCurrentBrowserWindow = exports.getBrowserWindowById = exports.getAllDisplays = exports.fileToBlob = exports.fileToBase64 = exports.createBrowserWindowProxy = exports.close = exports.checkMediaPermission = exports.captureScreen = exports.addEventListener = void 0;
9
+ exports.showItemInFolder = exports.setUserSettingData = exports.setFragmentOptions = exports.setFragmentBaseUrl = exports.sendEvent = exports.screen = exports.restartApp = exports.removeEventListener = exports.quitApp = exports.openSystemPreferences = exports.openRendererWindow = exports.openLinkInDefaultBrowser = exports.openDirectory = exports.open = exports.loadBuiltinResources = exports.initialize = exports.getUserSettingData = exports.getSystemMemorySize = exports.getSystemCpuInfo = exports.getResourceByFileType = exports.getPrimaryDisplay = exports.getNetworkType = exports.getMediaSourceIdList = exports.getDisplayNearestPoint = exports.getDisplayMatching = exports.getCursorScreenPoint = exports.getCurrentBrowserWindow = exports.getBrowserWindowById = exports.getBaseUrl = exports.getAllDisplays = exports.fileToBlob = exports.fileToBase64 = exports.createBrowserWindowProxy = exports.close = exports.checkMediaPermission = exports.captureScreen = exports.addEventListener = void 0;
10
10
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
11
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
12
12
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
@@ -69,6 +69,7 @@ var _promises = _interopRequireDefault(require("fs/promises"));
69
69
  var _jszip = _interopRequireDefault(require("jszip"));
70
70
  var _exitCodes = require("./exit-codes");
71
71
  var _browserWindowProxy = require("./window-proxy/browser-window-proxy");
72
+ var _env = require("./env");
72
73
  // import { windowManager as wm } from 'node-window-manager';
73
74
 
74
75
  var USER_SETTING_DATA_FILE_NAME = 'UserSettingData.json';
@@ -160,6 +161,9 @@ var captureScreen = exports.captureScreen = function captureScreen(options) {
160
161
  // return wm.getWindows();
161
162
  // };
162
163
 
164
+ var getBaseUrl = exports.getBaseUrl = function getBaseUrl() {
165
+ return _env.isDev ? _env.devPageUrl : '.';
166
+ };
163
167
  var openRendererWindow = exports.openRendererWindow = /*#__PURE__*/function () {
164
168
  var _ref2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2(frameName, callback, windowOptions) {
165
169
  var isAlreadyOpened, windowConstructorOptionsString, newRendererWindow, windowId, windowIdStr, htmlTemplate, renderDom, parentWindow, parentHead, parentStyles, parentStyleLinks, stylesLoadedPromises, presetWindoStyle, observer, parentRoot, parentRootStyles, _renderDom;
@@ -6,6 +6,7 @@ export declare enum IPCMessageCMD {
6
6
  WidgetClicked = "widget-clicked",
7
7
  TokenWillExpire = "user-token-will-expire",
8
8
  ExitUiSceneFromMainProcess = "exit-ui-scene-from-main-process",
9
+ Error = "error",
9
10
  LaunchMeeting = "launch-meeting",
10
11
  InitCreator = "init-creator",
11
12
  OpenSetting = "open-setting",
@@ -14,6 +14,7 @@ var IPCMessageCMD = exports.IPCMessageCMD = /*#__PURE__*/function (IPCMessageCMD
14
14
  IPCMessageCMD["WidgetClicked"] = "widget-clicked";
15
15
  IPCMessageCMD["TokenWillExpire"] = "user-token-will-expire";
16
16
  IPCMessageCMD["ExitUiSceneFromMainProcess"] = "exit-ui-scene-from-main-process";
17
+ IPCMessageCMD["Error"] = "error";
17
18
  // handle
18
19
  IPCMessageCMD["LaunchMeeting"] = "launch-meeting";
19
20
  IPCMessageCMD["InitCreator"] = "init-creator";
@@ -15,6 +15,7 @@ var runtime = {
15
15
  openDirectory: _injections.openDirectory,
16
16
  showItemInFolder: _injections.showItemInFolder,
17
17
  quitApp: _injections.quitApp,
18
+ getBaseUrl: _injections.getBaseUrl,
18
19
  getNetworkType: _injections.getNetworkType,
19
20
  setFragmentBaseUrl: _injections.setFragmentBaseUrl,
20
21
  getMediaSourceIdList: _injections.getMediaSourceIdList,
@@ -1 +1,4 @@
1
1
  export declare const getBundleType: () => Promise<"JS_BUNDLE" | "NATIVE_BUNDLE">;
2
+ export declare const onUserTokenWillExpire: () => void;
3
+ export declare const onWidgetClicked: (widgetId: string) => void;
4
+ export declare const onExitUiScene: () => void;
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.getBundleType = void 0;
8
+ exports.onWidgetClicked = exports.onUserTokenWillExpire = exports.onExitUiScene = exports.getBundleType = void 0;
9
9
  require("core-js/modules/es.array.concat.js");
10
10
  require("core-js/modules/es.date.to-json.js");
11
11
  require("core-js/modules/es.date.to-string.js");
@@ -119,6 +119,15 @@ var getIsMeetingLaunched = /*#__PURE__*/function () {
119
119
  var refreshUserToken = function refreshUserToken(token) {
120
120
  _renderer.ipcRenderer.send('refresh-user-token', token);
121
121
  };
122
+ var onUserTokenWillExpire = exports.onUserTokenWillExpire = function onUserTokenWillExpire() {
123
+ _renderer.ipcRenderer.send('user-token-will-expire');
124
+ };
125
+ var onWidgetClicked = exports.onWidgetClicked = function onWidgetClicked(widgetId) {
126
+ _renderer.ipcRenderer.send('widget-clicked', widgetId);
127
+ };
128
+ var onExitUiScene = exports.onExitUiScene = function onExitUiScene() {
129
+ _renderer.ipcRenderer.send('exit-ui-scene');
130
+ };
122
131
  var cppSdkHelper = {
123
132
  getLaunchOptions: getLaunchOptions,
124
133
  getBundleType: getBundleType,
@@ -132,10 +141,35 @@ var cppSdkHelper = {
132
141
  setParameters: setParameters,
133
142
  getIsMeetingLaunched: getIsMeetingLaunched,
134
143
  refreshUserToken: refreshUserToken,
135
- exitedMeeting: exitedMeeting
144
+ exitedMeeting: exitedMeeting,
145
+ onUserTokenWillExpire: onUserTokenWillExpire,
146
+ onWidgetClicked: onWidgetClicked,
147
+ onExitUiScene: onExitUiScene,
148
+ // 需要在 index.html 中设置的回调
149
+ // onCreatorInit
150
+ onCreatorInit: function onCreatorInit() {},
151
+ // onSettingOpen
152
+ onSettingOpen: function onSettingOpen() {},
153
+ // onSettingClose
154
+ onSettingClose: function onSettingClose() {},
155
+ // onSetParameters
156
+ onSetParameters: function onSetParameters() {},
157
+ // onRenewUserToken
158
+ onRenewUserToken: function onRenewUserToken() {},
159
+ // onLaunchMeeting
160
+ onLaunchMeeting: function onLaunchMeeting() {},
161
+ // exitUiScene
162
+ exitUiScene: function exitUiScene() {}
136
163
  };
164
+
137
165
  // @ts-ignore
138
166
  window.cppSdkHelper = cppSdkHelper;
167
+
168
+ /**
169
+ * 监听主进程来的事件
170
+ * 调用渲染进程的方法
171
+ */
172
+
139
173
  _renderer.ipcRenderer.on(_type.IPCMessageCMD.InitCreator, function (_event, value) {
140
174
  if (cppSdkHelper.onCreatorInit) {
141
175
  var data = value;
@@ -188,49 +222,49 @@ _renderer.ipcRenderer.on(_type.IPCMessageCMD.ExitUiScene, function (_event, valu
188
222
  cppSdkHelper.exitUiScene();
189
223
  }
190
224
  });
225
+ console.log('windows_release sdk-helper loaded add listener close-window-before-launch-success');
226
+ _renderer.ipcRenderer.on('close-window-before-launch-success', function () {
227
+ console.log('windows_release Received close-window-before-launch-success event', new Date().toLocaleTimeString());
228
+ if (cppSdkHelper.exitUiScene) {
229
+ cppSdkHelper.exitUiScene();
230
+ }
231
+ });
232
+
233
+ // demo 发出,fcr-ui-scene 监听
191
234
  _renderer.ipcRenderer.on('sdk-ready', function () {
192
235
  if (cppSdkHelper.onSDKReady) {
193
236
  cppSdkHelper.onSDKReady();
194
237
  }
195
238
  });
239
+ // demo 发出,fcr-ui-scene 监听
196
240
  _renderer.ipcRenderer.on('launch-failure', function (_event, roomId, errorCode) {
197
241
  if (cppSdkHelper.onLaunchFailure) {
198
242
  cppSdkHelper.onLaunchFailure(roomId, errorCode);
199
243
  }
200
244
  });
201
- _renderer.ipcRenderer.on('close-window-before-launch-success', function () {
202
- console.log('windows_release Received close-window-before-launch-success event', new Date().toLocaleTimeString());
203
- if (cppSdkHelper.exitUiScene) {
204
- cppSdkHelper.exitUiScene();
205
- }
206
- });
245
+
246
+ // demo 发出,fcr-ui-scene 监听
207
247
  _renderer.ipcRenderer.on('exited-meeting', function (_event, roomId, reason) {
208
248
  if (cppSdkHelper.onExitedMeeting) {
209
249
  cppSdkHelper.onExitedMeeting(roomId, reason);
210
250
  }
211
251
  });
252
+
253
+ // demo 发出,fcr-ui-scene 监听
212
254
  _renderer.ipcRenderer.on('refresh-user-token', function () {
213
255
  if (cppSdkHelper.onRefreshUserToken) {
214
256
  cppSdkHelper.onRefreshUserToken();
215
257
  }
216
258
  });
259
+
260
+ // demo 发出,fcr-ui-scene 监听
217
261
  _renderer.ipcRenderer.on('launch-success', function (_event, roomId) {
218
262
  if (cppSdkHelper.onLaunchSuccess) {
219
263
  cppSdkHelper.onLaunchSuccess(roomId);
220
264
  }
221
265
  });
222
266
 
223
- // 添加其他可能需要的 IPC 监听器
224
- _renderer.ipcRenderer.on('widget-clicked', function (_event, widgetId) {
225
- if (cppSdkHelper.onWidgetClicked) {
226
- cppSdkHelper.onWidgetClicked(widgetId);
227
- }
228
- });
229
- _renderer.ipcRenderer.on('user-token-will-expire', function () {
230
- if (cppSdkHelper.onUserTokenWillExpire) {
231
- cppSdkHelper.onUserTokenWillExpire();
232
- }
233
- });
267
+ // demo 发出,fcr-ui-scene 监听
234
268
  _renderer.ipcRenderer.on('exit-ui-scene', function () {
235
269
  if (cppSdkHelper.onExitUiScene) {
236
270
  cppSdkHelper.onExitUiScene();
@@ -8,5 +8,11 @@ export declare enum FcrUISceneLaunchEndReason {
8
8
  LAUNCH_FAILURE = "launchFailure",
9
9
  CLOSE_WINDOW = "closeWindow",
10
10
  EXITED = "exited",
11
- CRASHED = "crashed"
11
+ CRASHED = "crashed",
12
+ HANG_DETECTION = "hangDetection"
13
+ }
14
+ export declare enum DisplayState {
15
+ SHOW = "show",
16
+ HIDE = "hide",
17
+ MINIMIZE = "minimize"
12
18
  }
@@ -4,7 +4,7 @@ require("core-js/modules/es.object.define-property.js");
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.FcrUISceneLaunchState = exports.FcrUISceneLaunchEndReason = void 0;
7
+ exports.FcrUISceneLaunchState = exports.FcrUISceneLaunchEndReason = exports.DisplayState = void 0;
8
8
  var FcrUISceneLaunchState = exports.FcrUISceneLaunchState = /*#__PURE__*/function (FcrUISceneLaunchState) {
9
9
  FcrUISceneLaunchState[FcrUISceneLaunchState["DEFAULT"] = 0] = "DEFAULT";
10
10
  FcrUISceneLaunchState[FcrUISceneLaunchState["PROCESSING"] = 1] = "PROCESSING";
@@ -17,5 +17,12 @@ var FcrUISceneLaunchEndReason = exports.FcrUISceneLaunchEndReason = /*#__PURE__*
17
17
  FcrUISceneLaunchEndReason["CLOSE_WINDOW"] = "closeWindow";
18
18
  FcrUISceneLaunchEndReason["EXITED"] = "exited";
19
19
  FcrUISceneLaunchEndReason["CRASHED"] = "crashed";
20
+ FcrUISceneLaunchEndReason["HANG_DETECTION"] = "hangDetection";
20
21
  return FcrUISceneLaunchEndReason;
22
+ }({});
23
+ var DisplayState = exports.DisplayState = /*#__PURE__*/function (DisplayState) {
24
+ DisplayState["SHOW"] = "show";
25
+ DisplayState["HIDE"] = "hide";
26
+ DisplayState["MINIMIZE"] = "minimize";
27
+ return DisplayState;
21
28
  }({});
@@ -19,10 +19,16 @@ declare enum DetailErrorCode {
19
19
  processLaunchFailed = 81,
20
20
  mainWindowHidden = 82,
21
21
  closeWindowBeforeLaunchSuccess = 83,
22
- meetingLaunchProcessing = 84
22
+ meetingLaunchProcessing = 84,
23
+ mainWindowHiddenAfterLaunchSuccess = 85,
24
+ crashed = 86,
25
+ hangDetection = 87
23
26
  }
24
27
  export declare const generaErrorCode: (serviceCode: ServiceErrorCode, uiSceneCode: UISceneErrorCode, detailCode: DetailErrorCode) => number;
25
28
  export declare const windowHideErrorCode: number;
26
29
  export declare const closeWindowBeforeLaunchSuccessErrorCode: number;
27
30
  export declare const meetingLaunchProcessingErrorCode: number;
31
+ export declare const mainWindowHiddenOnLaunchSuccessErrorCode: number;
32
+ export declare const crashedErrorCode: number;
33
+ export declare const hangDetectionErrorCode: number;
28
34
  export {};