fcr-ui-scene 3.8.1-alpha → 3.8.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.
- package/lib/base.js +2 -2
- package/lib/creator/provider-initializer.browser.js +8 -7
- package/lib/creator/provider-initializer.electron.js +8 -8
- package/lib/electron/asar-validation.d.ts +12 -0
- package/lib/electron/asar-validation.js +115 -0
- package/lib/electron/bootstrap-sdk.js +20 -12
- package/lib/electron/default-options.js +2 -1
- package/lib/electron/env.d.ts +1 -0
- package/lib/electron/env.js +6 -4
- package/lib/electron/exit-codes.js +11 -11
- package/lib/electron/hang-detection/manager.js +4 -4
- package/lib/electron/ipc-protocol.js +12 -12
- package/lib/electron/process-manager/event-manager.js +30 -30
- package/lib/electron/process-manager/index.js +88 -88
- package/lib/electron/process-manager/state-manager.js +57 -57
- package/lib/electron/process-manager/types.js +16 -16
- package/lib/electron/sdk-helper.js +3 -3
- package/lib/electron/window-proxy/browser-window-proxy.js +13 -13
- package/lib/electron/window-proxy/main-process-handler.js +14 -14
- package/lib/fragments/annotation/style.css +9 -9
- package/lib/fragments/annotation/toolbar/components/item/style.css +45 -45
- package/lib/fragments/annotation/toolbar/components/panel/style.css +24 -24
- package/lib/fragments/annotation/toolbar/components/tips/style.css +19 -19
- package/lib/fragments/annotation/toolbar/style.css +55 -55
- package/lib/fragments/whiteboard/cursor.css +77 -77
- package/lib/fragments/whiteboard/style.css +4 -4
- package/lib/global.css +62 -62
- package/lib/global.d.ts +27 -27
- package/lib/index.js +9 -1
- package/lib/modules/action-bar/components/chat/index.css +88 -88
- package/lib/modules/action-bar/components/more/index.css +114 -114
- package/lib/modules/action-bar/components/notification-bar/components/interpreter/index.css +58 -58
- package/lib/modules/action-bar/components/notification-bar/components/virtual-image/index.css +56 -56
- package/lib/modules/action-bar/components/notification-bar/index.css +74 -74
- package/lib/modules/action-bar/components/participants/index.css +21 -21
- package/lib/modules/action-bar/components/record/index.css +39 -39
- package/lib/modules/action-bar/components/trigger-output-language/index.css +86 -86
- package/lib/modules/action-bar/components/trigger-subscribe-language/guide-tooltip/index.css +22 -22
- package/lib/modules/action-bar/index.css +358 -358
- package/lib/modules/action-bar/main-scene/store.base.d.ts +3 -2
- package/lib/modules/action-bar/main-scene/store.base.js +29 -57
- package/lib/modules/action-bar/main-scene/view.js +3 -3
- package/lib/modules/audio-stream/index.js +3 -3
- package/lib/modules/caption/draggable-container/index.css +10 -10
- package/lib/modules/caption/view.css +158 -158
- package/lib/modules/chat/components/chat-bar/index.css +89 -89
- package/lib/modules/chat/components/chat-select/index.css +185 -185
- package/lib/modules/chat/index.css +124 -124
- package/lib/modules/components/apps/app-item/index.css +49 -49
- package/lib/modules/components/apps/index.css +9 -9
- package/lib/modules/components/caption-menu/index.css +58 -58
- package/lib/modules/components/caption-menu/steps/index.css +73 -73
- package/lib/modules/components/control-bar/components/loading/index.css +76 -76
- package/lib/modules/components/control-bar/components/progress/style.css +51 -51
- package/lib/modules/components/control-bar/components/switch-theme/index.css +101 -101
- package/lib/modules/components/control-bar/index.css +99 -99
- package/lib/modules/components/device-control/index.css +177 -177
- package/lib/modules/components/leave-meeting/components/index.css +151 -151
- package/lib/modules/components/leave-meeting/style.css +9 -9
- package/lib/modules/components/member-window/components/member-actions/store.js +22 -22
- package/lib/modules/components/member-window/index.css +502 -502
- package/lib/modules/components/security-menu/index.css +42 -42
- package/lib/modules/components/tab-frame/index.css +40 -40
- package/lib/modules/components/toolbar/components/item/style.css +94 -94
- package/lib/modules/components/toolbar/components/panel/style.css +86 -86
- package/lib/modules/components/toolbar/style.css +85 -85
- package/lib/modules/connection-gateway/components/computer/index.css +12 -12
- package/lib/modules/connection-gateway/components/phone/components/callinfo/index.css +36 -36
- package/lib/modules/connection-gateway/components/phone/components/calling/index.css +72 -72
- package/lib/modules/connection-gateway/components/phone/components/remeber/index.css +10 -10
- package/lib/modules/connection-gateway/components/phone/components/useing/index.css +46 -46
- package/lib/modules/connection-gateway/components/phone/index.css +49 -49
- package/lib/modules/connection-gateway/index.css +6 -6
- package/lib/modules/control-bar/components/meeting-details/index.css +133 -133
- package/lib/modules/control-bar/components/more-actions/index.css +103 -103
- package/lib/modules/control-bar/components/share-audio/index.css +90 -90
- package/lib/modules/control-bar/components/share-state-nav/index.css +79 -79
- package/lib/modules/control-bar/index.css +340 -340
- package/lib/modules/control-bar/index.js +4 -4
- package/lib/modules/device-pretest/index.css +123 -123
- package/lib/modules/dialog/components/confirm/index.css +24 -24
- package/lib/modules/dialog/components/dialog-container/index.css +112 -112
- package/lib/modules/dialog/dialogs/confirm/index.css +24 -24
- package/lib/modules/dialog/dialogs/connection-gateway/tabs.d.ts +1 -0
- package/lib/modules/dialog/dialogs/connection-gateway/tabs.js +27 -14
- package/lib/modules/dialog/dialogs/device-setting/index.css +26 -26
- package/lib/modules/dialog/dialogs/interpreter/index.css +30 -30
- package/lib/modules/dialog/dialogs/mute-all/index.css +20 -20
- package/lib/modules/dialog/dialogs/system-preference/index.css +52 -52
- package/lib/modules/dialog/dialogs/widget/index.js +4 -4
- package/lib/modules/dialog/index.css +56 -56
- package/lib/modules/event-toast/index.css +25 -25
- package/lib/modules/interpreter/action/add-btn/index.css +4 -4
- package/lib/modules/interpreter/action/delete-btn/index.css +14 -14
- package/lib/modules/interpreter/action/switch-btn/index.css +3 -3
- package/lib/modules/interpreter/dialog-content/index.css +33 -33
- package/lib/modules/interpreter/footer/index.css +11 -11
- package/lib/modules/interpreter/index.css +4 -4
- package/lib/modules/interpreter/interpreter-list/index.css +8 -8
- package/lib/modules/interpreter/interpreter-list/interpreter-item/components/pick-language/index.css +46 -46
- package/lib/modules/interpreter/interpreter-list/interpreter-item/components/pick-user/index.css +46 -46
- package/lib/modules/interpreter/interpreter-list/interpreter-item/index.css +32 -32
- package/lib/modules/interpreter/loading-wrapper/index.css +53 -53
- package/lib/modules/invite/components/pstn-invite.js +1 -1
- package/lib/modules/invite/components/voip-invite.css +26 -26
- package/lib/modules/invite/index.css +331 -331
- package/lib/modules/layout/components/CommonVideoRenderer.js +4 -4
- package/lib/modules/layout/components/index.css +653 -653
- package/lib/modules/layout/index.css +59 -59
- package/lib/modules/layout/store.base.js +5 -5
- package/lib/modules/layout/type.js +5 -5
- package/lib/modules/notification/index.css +77 -77
- package/lib/modules/notification/interpreter-status/index.css +76 -76
- package/lib/modules/participant/components/confirm-input/index.css +4 -4
- package/lib/modules/participant/components/participants/components/footer/components/drop-menu/index.css +83 -83
- package/lib/modules/participant/components/participants/components/render-user/components/attendee/index.css +87 -87
- package/lib/modules/participant/index.css +102 -102
- package/lib/modules/participant/store.base.js +175 -175
- package/lib/modules/pc-audio-connect/index.css +12 -12
- package/lib/modules/pc-audio-connect/main-scene/index.d.ts +2 -1
- package/lib/modules/pc-audio-connect/main-scene/index.js +5 -4
- package/lib/modules/pc-audio-connect/main-scene/store.d.ts +3 -0
- package/lib/modules/pc-audio-connect/main-scene/store.js +44 -7
- package/lib/modules/phone-audio-connect/components/callinfo/index.css +36 -36
- package/lib/modules/phone-audio-connect/components/calling/index.css +72 -72
- package/lib/modules/phone-audio-connect/components/remeber/index.css +10 -10
- package/lib/modules/phone-audio-connect/components/useing/index.css +46 -46
- package/lib/modules/phone-audio-connect/index.css +56 -56
- package/lib/modules/secondary-window/store.js +7 -7
- package/lib/modules/setting/audio-settings/index.css +195 -195
- package/lib/modules/setting/audio-whiteList/audio-device-adaptation.js +14 -14
- package/lib/modules/setting/audio-whiteList/audio-whiteList-manager.js +6 -6
- package/lib/modules/setting/caption_and_transcribing/index.css +88 -88
- package/lib/modules/setting/general-settings/index.css +41 -41
- package/lib/modules/setting/index.css +112 -112
- package/lib/modules/setting/minutes-settings/index.css +65 -65
- package/lib/modules/setting/state/index.css +207 -207
- package/lib/modules/setting/storage-settings/index.css +91 -91
- package/lib/modules/setting/translate-settings/index.css +47 -47
- package/lib/modules/setting/video-settings/index.css +357 -357
- package/lib/modules/share-screen/components/control-bar/index.css +75 -75
- package/lib/modules/share-screen/components/selection/index.css +73 -73
- package/lib/modules/share-screen/components/share-state-bar/index.css +76 -76
- package/lib/modules/share-screen/index.js +10 -10
- package/lib/modules/share-screen/store.base.js +2 -2
- package/lib/modules/state-bar/assets/fcr_grid_big.svg +3 -3
- package/lib/modules/state-bar/assets/fcr_listontop_big.svg +3 -3
- package/lib/modules/state-bar/index.css +706 -706
- package/lib/modules/state-bar/main-scene/store.base.js +2 -2
- package/lib/modules/state-bar/meeting-detail.css +137 -137
- package/lib/modules/state-bar/meeting-network-state.css +150 -150
- package/lib/modules/state-bar/waiting-scene/store.base.js +2 -2
- package/lib/modules/subtitles-history/components/settings/index.css +5 -5
- package/lib/modules/subtitles-history/index.css +129 -129
- package/lib/modules/video-window/components/members/index.css +51 -51
- package/lib/modules/video-window/components/speaking/index.css +86 -86
- package/lib/modules/video-window/components/topControl/index.css +35 -35
- package/lib/modules/video-window/index.css +21 -21
- package/lib/modules/video-window/popover-watcher.js +3 -3
- package/lib/modules/video-window/store.js +10 -10
- package/lib/modules/waiting-room-layout/index.css +96 -96
- package/lib/modules/whiteboard/components/control-bar/index.css +52 -52
- package/lib/modules/whiteboard/components/loading/index.css +76 -76
- package/lib/modules/whiteboard/components/multi-window/index.css +63 -63
- package/lib/modules/whiteboard/components/pagination/index.css +228 -228
- package/lib/modules/whiteboard/components/progress/style.css +51 -51
- package/lib/modules/whiteboard/components/switch-theme/index.css +99 -99
- package/lib/modules/whiteboard/components/toolbar/style.css +591 -591
- package/lib/modules/whiteboard/style.css +140 -140
- package/lib/modules/widget/index.css +9 -9
- package/lib/modules/widget/index.d.ts +1 -0
- package/lib/modules/widget/index.js +16 -1
- package/lib/modules/widget/store.base.d.ts +1 -0
- package/lib/modules/widget/store.base.js +12 -0
- package/lib/modules/widget/store.electron.js +5 -0
- package/lib/modules/widget/web-widget.d.ts +6 -1
- package/lib/modules/widget/web-widget.js +66 -22
- package/lib/object-manager.js +8 -8
- package/lib/plugins/module-dev-plugin.js +11 -11
- package/lib/providers/ability-provider.js +17 -17
- package/lib/providers/app-list-provider.d.ts +1 -1
- package/lib/providers/app-list-provider.js +9 -7
- package/lib/providers/board-share/bar-control/base.d.ts +1 -1
- package/lib/providers/board-share/bar-control/browser.d.ts +1 -1
- package/lib/providers/board-share/bar-control/electron.d.ts +1 -1
- package/lib/providers/board-share/struct.js +6 -6
- package/lib/providers/device-stream-provider.d.ts +1 -1
- package/lib/providers/dialog/provider.base.js +2 -2
- package/lib/providers/dialog/type.js +3 -3
- package/lib/providers/multi-display-provider.js +4 -4
- package/lib/providers/privilege-provider.js +7 -7
- package/lib/providers/screen-share/provider.base.js +23 -23
- package/lib/providers/screen-share/stream-state-sync.js +18 -18
- package/lib/providers/screen-share/struct.js +24 -24
- package/lib/providers/widget-provider.d.ts +13 -2
- package/lib/providers/widget-provider.js +60 -9
- package/lib/providers/window/main-window.js +2 -2
- package/lib/providers/window/provider.js +5 -5
- package/lib/providers/window/renderer-window.js +2 -2
- package/lib/scenes/main-scene.js +1 -0
- package/lib/schema.js +26 -26
- package/lib/shared-data/app-list-data.d.ts +0 -3
- package/lib/shared-data/app-list-data.js +3 -30
- package/lib/shared-data/meeting-time.js +8 -8
- package/lib/shared-data/setting.js +3 -3
- package/lib/shared-data/video-window.d.ts +1 -1
- package/lib/shared-data/video-window.js +1 -1
- package/lib/shared-data/widget-data.d.ts +0 -1
- package/lib/type.d.ts +1 -0
- package/lib/type.js +23 -21
- package/lib/ui-scene-switch.js +2 -2
- package/lib/utilities/constant.js +6 -6
- package/lib/utilities/renderer.js +8 -8
- package/lib/utilities/shared-storage.js +2 -2
- package/lib/utilities/tools.js +14 -14
- package/package.json +82 -77
- package/public/assets/fcr_chat_reddot.svg +5 -5
- package/public/assets/fcr_grid_big.svg +3 -3
- package/public/assets/fcr_leave2.svg +58 -58
- package/public/assets/fcr_listontop_big.svg +3 -3
- package/public/assets/step-gradient.svg +10 -10
- package/public/fragment.html +10 -10
- package/public/index.html +107 -183
- package/public/index.vite.html +109 -0
- package/public/js/init.js +75 -0
- package/public/{meeting-manager.js → js/meeting-manager.js} +405 -405
package/public/index.html
CHANGED
|
@@ -1,183 +1,107 @@
|
|
|
1
|
-
<!doctype html>
|
|
2
|
-
<html lang="en">
|
|
3
|
-
<head>
|
|
4
|
-
<meta charset="UTF-8" />
|
|
5
|
-
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
6
|
-
<title></title>
|
|
7
|
-
<style>
|
|
8
|
-
#fcr-launch-failure-comp {
|
|
9
|
-
width: 100vw;
|
|
10
|
-
height: 100vh;
|
|
11
|
-
background-color: rgba(144, 144, 144, 0.6);
|
|
12
|
-
position: fixed;
|
|
13
|
-
top: 0px;
|
|
14
|
-
left: 0px;
|
|
15
|
-
display: flex;
|
|
16
|
-
justify-content: center;
|
|
17
|
-
align-items: center;
|
|
18
|
-
z-index: 9999;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
.fcr-launch-failure-comp-modal {
|
|
22
|
-
width: 280px;
|
|
23
|
-
background-color: rgba(255, 255, 255, 0.85);
|
|
24
|
-
border-radius: 24px;
|
|
25
|
-
display: flex;
|
|
26
|
-
box-shadow: 0px 0px 15px 0px rgba(151, 151, 151, 0.25);
|
|
27
|
-
border: 1px solid #e3e7efff;
|
|
28
|
-
display: flex;
|
|
29
|
-
flex-direction: column;
|
|
30
|
-
padding: 0px 24px 24px 24px;
|
|
31
|
-
box-sizing: content-box;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
.fcr-launch-failure-comp-banner {
|
|
35
|
-
margin: 0 auto;
|
|
36
|
-
width: 280px;
|
|
37
|
-
align-self: flex-start;
|
|
38
|
-
position: absolute;
|
|
39
|
-
top: -12px;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
.fcr-launch-failure-comp-info {
|
|
43
|
-
text-align: center;
|
|
44
|
-
margin-top: 24px;
|
|
45
|
-
margin-bottom: 20px;
|
|
46
|
-
color: rgba(55, 60, 66, 1);
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
.fcr-launch-failure-comp-h {
|
|
50
|
-
font-weight: 600;
|
|
51
|
-
margin-bottom: 12px;
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
.fcr-launch-failure-comp-desc {
|
|
55
|
-
font-weight: 400;
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
.fcr-confirm-btn {
|
|
59
|
-
width: 100%;
|
|
60
|
-
height: 36px;
|
|
61
|
-
background-color: rgba(66, 98, 255, 1);
|
|
62
|
-
color: #ffffff;
|
|
63
|
-
text-align: center;
|
|
64
|
-
line-height: 36px;
|
|
65
|
-
border-radius: 6px;
|
|
66
|
-
margin: 0 auto;
|
|
67
|
-
cursor: pointer;
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
.fcr-launch-failure-comp-banner-box {
|
|
71
|
-
position: relative;
|
|
72
|
-
width: 100%;
|
|
73
|
-
height: 180px;
|
|
74
|
-
margin: 0 auto;
|
|
75
|
-
}
|
|
76
|
-
</style>
|
|
77
|
-
</head>
|
|
78
|
-
|
|
79
|
-
<body style="background: rgb(251, 252, 255)">
|
|
80
|
-
<div
|
|
81
|
-
style="display: flex; align-items: center; justify-content: center; height: 100vh"
|
|
82
|
-
id="launch-loading">
|
|
83
|
-
<img src="assets/loading.gif" alt="loading" width="128" height="128" />
|
|
84
|
-
</div>
|
|
85
|
-
<div id="root"></div>
|
|
86
|
-
<div id="fcr-launch-failure-comp" style="display: none">
|
|
87
|
-
<div class="fcr-launch-failure-comp-modal">
|
|
88
|
-
<div class="fcr-launch-failure-comp-banner-box">
|
|
89
|
-
<img class="fcr-launch-failure-comp-banner" src="assets/leave-meeting.png" />
|
|
90
|
-
</div>
|
|
91
|
-
<div class="fcr-launch-failure-comp-info">
|
|
92
|
-
<!-- <div class="fcr-launch-failure-comp-h">
|
|
93
|
-
<span id="fcr-launch-failure-comp-title"></span>
|
|
94
|
-
</div> -->
|
|
95
|
-
<div id="fcr-launch-failure-error-info" class="fcr-launch-failure-comp-desc">
|
|
96
|
-
Error: code=100050051, message=domain:RTE-CLIENT,info: failed to detect AP
|
|
97
|
-
</div>
|
|
98
|
-
</div>
|
|
99
|
-
<div id="fcr-launch-failure-confirm-btn" class="fcr-confirm-btn">
|
|
100
|
-
<span id="fcr-launch-failure-btn-text">I know</span>
|
|
101
|
-
</div>
|
|
102
|
-
</div>
|
|
103
|
-
</div>
|
|
104
|
-
</body>
|
|
105
|
-
<script>
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
fmt_pc_room_not_exist_error: 'The room does not exist or the password is wrong',
|
|
109
|
-
fmt_lock_error: 'The host has locked the meeting and no one else can join',
|
|
110
|
-
fmt_end_error: 'The meeting has ended',
|
|
111
|
-
fmt_host_leave_error: 'The moderator is not in the meeting',
|
|
112
|
-
};
|
|
113
|
-
|
|
114
|
-
window.zhLangResource = {
|
|
115
|
-
fmt_statusbar_label_unknown: '未知错误',
|
|
116
|
-
fmt_pc_room_not_exist_error: '房间不存在或密码错误',
|
|
117
|
-
fmt_lock_error: '主持人锁定了会议,其他人不可入会',
|
|
118
|
-
fmt_end_error: '会议已结束',
|
|
119
|
-
fmt_host_leave_error: '主持人不在会议中',
|
|
120
|
-
};
|
|
121
|
-
|
|
122
|
-
function replacePlaceholders(str, obj) {
|
|
123
|
-
// 使用正则表达式匹配所有的占位符
|
|
124
|
-
return str.replace(/{([^}]+)}/g, (match, key) => {
|
|
125
|
-
// 检查对象中是否存在该键
|
|
126
|
-
if (obj.hasOwnProperty(key.trim())) {
|
|
127
|
-
// 如果存在,返回对应的值
|
|
128
|
-
return obj[key.trim()];
|
|
129
|
-
}
|
|
130
|
-
// 如果不存在,返回原始的占位符
|
|
131
|
-
return match;
|
|
132
|
-
});
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
function renderMeetingName(meetingName) {
|
|
136
|
-
if (meetingName.length <= 20) return meetingName;
|
|
137
|
-
return meetingName.slice(0, 20) + '...';
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
window._transI18n = (key, replaceKeys) => {
|
|
141
|
-
const currentLang = window.$$agora_language === 'zh' ? 'zh' : 'en';
|
|
142
|
-
const langResource = window[`${currentLang}LangResource`];
|
|
143
|
-
let res = langResource[key];
|
|
144
|
-
if (res) {
|
|
145
|
-
res = replacePlaceholders(res, replaceKeys);
|
|
146
|
-
}
|
|
147
|
-
return res;
|
|
148
|
-
};
|
|
149
|
-
|
|
150
|
-
const setLoading = (visible) => {
|
|
151
|
-
const dom = document.querySelector('#launch-loading');
|
|
152
|
-
if (dom) {
|
|
153
|
-
if (visible) {
|
|
154
|
-
dom.style.display = 'flex';
|
|
155
|
-
} else {
|
|
156
|
-
dom.style.display = 'none';
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
};
|
|
160
|
-
|
|
161
|
-
const setFullScreenFailureComp = (visible, errorMsg) => {
|
|
162
|
-
setLoading(false);
|
|
163
|
-
const dom = document.querySelector('#fcr-launch-failure-comp');
|
|
164
|
-
const titleDom = document.querySelector('#fcr-launch-failure-comp-title');
|
|
165
|
-
const btnTextDom = document.querySelector('#fcr-launch-failure-btn-text');
|
|
166
|
-
if (dom) {
|
|
167
|
-
if (visible) {
|
|
168
|
-
dom.style.display = 'flex';
|
|
169
|
-
// titleDom.innerText = window.$$agora_language === 'zh' ? '锁定会议' : 'Meeting Locked';
|
|
170
|
-
btnTextDom.innerText = window.$$agora_language === 'zh' ? '我已知悉' : 'I know';
|
|
171
|
-
if (errorMsg) {
|
|
172
|
-
const msgDom = document.querySelector('#fcr-launch-failure-error-info');
|
|
173
|
-
msgDom.innerText = errorMsg;
|
|
174
|
-
}
|
|
175
|
-
} else {
|
|
176
|
-
dom.style.display = 'none';
|
|
177
|
-
}
|
|
178
|
-
}
|
|
179
|
-
};
|
|
180
|
-
</script>
|
|
181
|
-
|
|
182
|
-
<script src="meeting-manager.js"></script>
|
|
183
|
-
</html>
|
|
1
|
+
<!doctype html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8" />
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
6
|
+
<title></title>
|
|
7
|
+
<style>
|
|
8
|
+
#fcr-launch-failure-comp {
|
|
9
|
+
width: 100vw;
|
|
10
|
+
height: 100vh;
|
|
11
|
+
background-color: rgba(144, 144, 144, 0.6);
|
|
12
|
+
position: fixed;
|
|
13
|
+
top: 0px;
|
|
14
|
+
left: 0px;
|
|
15
|
+
display: flex;
|
|
16
|
+
justify-content: center;
|
|
17
|
+
align-items: center;
|
|
18
|
+
z-index: 9999;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.fcr-launch-failure-comp-modal {
|
|
22
|
+
width: 280px;
|
|
23
|
+
background-color: rgba(255, 255, 255, 0.85);
|
|
24
|
+
border-radius: 24px;
|
|
25
|
+
display: flex;
|
|
26
|
+
box-shadow: 0px 0px 15px 0px rgba(151, 151, 151, 0.25);
|
|
27
|
+
border: 1px solid #e3e7efff;
|
|
28
|
+
display: flex;
|
|
29
|
+
flex-direction: column;
|
|
30
|
+
padding: 0px 24px 24px 24px;
|
|
31
|
+
box-sizing: content-box;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
.fcr-launch-failure-comp-banner {
|
|
35
|
+
margin: 0 auto;
|
|
36
|
+
width: 280px;
|
|
37
|
+
align-self: flex-start;
|
|
38
|
+
position: absolute;
|
|
39
|
+
top: -12px;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
.fcr-launch-failure-comp-info {
|
|
43
|
+
text-align: center;
|
|
44
|
+
margin-top: 24px;
|
|
45
|
+
margin-bottom: 20px;
|
|
46
|
+
color: rgba(55, 60, 66, 1);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
.fcr-launch-failure-comp-h {
|
|
50
|
+
font-weight: 600;
|
|
51
|
+
margin-bottom: 12px;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
.fcr-launch-failure-comp-desc {
|
|
55
|
+
font-weight: 400;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
.fcr-confirm-btn {
|
|
59
|
+
width: 100%;
|
|
60
|
+
height: 36px;
|
|
61
|
+
background-color: rgba(66, 98, 255, 1);
|
|
62
|
+
color: #ffffff;
|
|
63
|
+
text-align: center;
|
|
64
|
+
line-height: 36px;
|
|
65
|
+
border-radius: 6px;
|
|
66
|
+
margin: 0 auto;
|
|
67
|
+
cursor: pointer;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
.fcr-launch-failure-comp-banner-box {
|
|
71
|
+
position: relative;
|
|
72
|
+
width: 100%;
|
|
73
|
+
height: 180px;
|
|
74
|
+
margin: 0 auto;
|
|
75
|
+
}
|
|
76
|
+
</style>
|
|
77
|
+
</head>
|
|
78
|
+
|
|
79
|
+
<body style="background: rgb(251, 252, 255)">
|
|
80
|
+
<div
|
|
81
|
+
style="display: flex; align-items: center; justify-content: center; height: 100vh"
|
|
82
|
+
id="launch-loading">
|
|
83
|
+
<img src="assets/loading.gif" alt="loading" width="128" height="128" />
|
|
84
|
+
</div>
|
|
85
|
+
<div id="root"></div>
|
|
86
|
+
<div id="fcr-launch-failure-comp" style="display: none">
|
|
87
|
+
<div class="fcr-launch-failure-comp-modal">
|
|
88
|
+
<div class="fcr-launch-failure-comp-banner-box">
|
|
89
|
+
<img class="fcr-launch-failure-comp-banner" src="assets/leave-meeting.png" />
|
|
90
|
+
</div>
|
|
91
|
+
<div class="fcr-launch-failure-comp-info">
|
|
92
|
+
<!-- <div class="fcr-launch-failure-comp-h">
|
|
93
|
+
<span id="fcr-launch-failure-comp-title"></span>
|
|
94
|
+
</div> -->
|
|
95
|
+
<div id="fcr-launch-failure-error-info" class="fcr-launch-failure-comp-desc">
|
|
96
|
+
Error: code=100050051, message=domain:RTE-CLIENT,info: failed to detect AP
|
|
97
|
+
</div>
|
|
98
|
+
</div>
|
|
99
|
+
<div id="fcr-launch-failure-confirm-btn" class="fcr-confirm-btn">
|
|
100
|
+
<span id="fcr-launch-failure-btn-text">I know</span>
|
|
101
|
+
</div>
|
|
102
|
+
</div>
|
|
103
|
+
</div>
|
|
104
|
+
</body>
|
|
105
|
+
<script src="js/init.js"></script>
|
|
106
|
+
<script src="js/meeting-manager.js"></script>
|
|
107
|
+
</html>
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
<!doctype html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
|
|
4
|
+
<head>
|
|
5
|
+
<meta charset="UTF-8" />
|
|
6
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
7
|
+
<title></title>
|
|
8
|
+
<style>
|
|
9
|
+
#fcr-launch-failure-comp {
|
|
10
|
+
width: 100vw;
|
|
11
|
+
height: 100vh;
|
|
12
|
+
background-color: rgba(144, 144, 144, 0.6);
|
|
13
|
+
position: fixed;
|
|
14
|
+
top: 0px;
|
|
15
|
+
left: 0px;
|
|
16
|
+
display: flex;
|
|
17
|
+
justify-content: center;
|
|
18
|
+
align-items: center;
|
|
19
|
+
z-index: 9999;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
.fcr-launch-failure-comp-modal {
|
|
23
|
+
width: 280px;
|
|
24
|
+
background-color: rgba(255, 255, 255, 0.85);
|
|
25
|
+
border-radius: 24px;
|
|
26
|
+
display: flex;
|
|
27
|
+
box-shadow: 0px 0px 15px 0px rgba(151, 151, 151, 0.25);
|
|
28
|
+
border: 1px solid #e3e7efff;
|
|
29
|
+
display: flex;
|
|
30
|
+
flex-direction: column;
|
|
31
|
+
padding: 0px 24px 24px 24px;
|
|
32
|
+
box-sizing: content-box;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
.fcr-launch-failure-comp-banner {
|
|
36
|
+
margin: 0 auto;
|
|
37
|
+
width: 280px;
|
|
38
|
+
align-self: flex-start;
|
|
39
|
+
position: absolute;
|
|
40
|
+
top: -12px;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
.fcr-launch-failure-comp-info {
|
|
44
|
+
text-align: center;
|
|
45
|
+
margin-top: 24px;
|
|
46
|
+
margin-bottom: 20px;
|
|
47
|
+
color: rgba(55, 60, 66, 1);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
.fcr-launch-failure-comp-h {
|
|
51
|
+
font-weight: 600;
|
|
52
|
+
margin-bottom: 12px;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
.fcr-launch-failure-comp-desc {
|
|
56
|
+
font-weight: 400;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
.fcr-confirm-btn {
|
|
60
|
+
width: 100%;
|
|
61
|
+
height: 36px;
|
|
62
|
+
background-color: rgba(66, 98, 255, 1);
|
|
63
|
+
color: #ffffff;
|
|
64
|
+
text-align: center;
|
|
65
|
+
line-height: 36px;
|
|
66
|
+
border-radius: 6px;
|
|
67
|
+
margin: 0 auto;
|
|
68
|
+
cursor: pointer;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
.fcr-launch-failure-comp-banner-box {
|
|
72
|
+
position: relative;
|
|
73
|
+
width: 100%;
|
|
74
|
+
height: 180px;
|
|
75
|
+
margin: 0 auto;
|
|
76
|
+
}
|
|
77
|
+
</style>
|
|
78
|
+
</head>
|
|
79
|
+
|
|
80
|
+
<body style="background: rgb(251, 252, 255)">
|
|
81
|
+
<div style="display: flex; align-items: center; justify-content: center; height: 100vh" id="launch-loading">
|
|
82
|
+
<img src="assets/loading.gif" alt="loading" width="128" height="128" />
|
|
83
|
+
</div>
|
|
84
|
+
<div id="root"></div>
|
|
85
|
+
<div id="fcr-launch-failure-comp" style="display: none">
|
|
86
|
+
<div class="fcr-launch-failure-comp-modal">
|
|
87
|
+
<div class="fcr-launch-failure-comp-banner-box">
|
|
88
|
+
<img class="fcr-launch-failure-comp-banner" src="assets/leave-meeting.png" />
|
|
89
|
+
</div>
|
|
90
|
+
<div class="fcr-launch-failure-comp-info">
|
|
91
|
+
<!-- <div class="fcr-launch-failure-comp-h">
|
|
92
|
+
<span id="fcr-launch-failure-comp-title"></span>
|
|
93
|
+
</div> -->
|
|
94
|
+
<div id="fcr-launch-failure-error-info" class="fcr-launch-failure-comp-desc">
|
|
95
|
+
Error: code=100050051, message=domain:RTE-CLIENT,info: failed to detect AP
|
|
96
|
+
</div>
|
|
97
|
+
</div>
|
|
98
|
+
<div id="fcr-launch-failure-confirm-btn" class="fcr-confirm-btn">
|
|
99
|
+
<span id="fcr-launch-failure-btn-text">I know</span>
|
|
100
|
+
</div>
|
|
101
|
+
</div>
|
|
102
|
+
</div>
|
|
103
|
+
</body>
|
|
104
|
+
<script type="module">
|
|
105
|
+
import '/src/index.tsx';
|
|
106
|
+
import '/public/js/init.js';
|
|
107
|
+
import '/public/js/meeting-manager.js';
|
|
108
|
+
</script>
|
|
109
|
+
</html>
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
|
|
2
|
+
window.enLangResource = {
|
|
3
|
+
fmt_statusbar_label_unknown: 'unknown error',
|
|
4
|
+
fmt_pc_room_not_exist_error: 'The room does not exist or the password is wrong',
|
|
5
|
+
fmt_lock_error: 'The host has locked the meeting and no one else can join',
|
|
6
|
+
fmt_end_error: 'The meeting has ended',
|
|
7
|
+
fmt_host_leave_error: 'The moderator is not in the meeting',
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
window.zhLangResource = {
|
|
11
|
+
fmt_statusbar_label_unknown: '未知错误',
|
|
12
|
+
fmt_pc_room_not_exist_error: '房间不存在或密码错误',
|
|
13
|
+
fmt_lock_error: '主持人锁定了会议,其他人不可入会',
|
|
14
|
+
fmt_end_error: '会议已结束',
|
|
15
|
+
fmt_host_leave_error: '主持人不在会议中',
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
function replacePlaceholders(str, obj) {
|
|
19
|
+
// 使用正则表达式匹配所有的占位符
|
|
20
|
+
return str.replace(/{([^}]+)}/g, (match, key) => {
|
|
21
|
+
// 检查对象中是否存在该键
|
|
22
|
+
if (obj.hasOwnProperty(key.trim())) {
|
|
23
|
+
// 如果存在,返回对应的值
|
|
24
|
+
return obj[key.trim()];
|
|
25
|
+
}
|
|
26
|
+
// 如果不存在,返回原始的占位符
|
|
27
|
+
return match;
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
function renderMeetingName(meetingName) {
|
|
32
|
+
if (meetingName.length <= 20) return meetingName;
|
|
33
|
+
return meetingName.slice(0, 20) + '...';
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
window._transI18n = (key, replaceKeys) => {
|
|
37
|
+
const currentLang = window.$$agora_language === 'zh' ? 'zh' : 'en';
|
|
38
|
+
const langResource = window[`${currentLang}LangResource`];
|
|
39
|
+
let res = langResource[key];
|
|
40
|
+
if (res) {
|
|
41
|
+
res = replacePlaceholders(res, replaceKeys);
|
|
42
|
+
}
|
|
43
|
+
return res;
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
const setLoading = (visible) => {
|
|
47
|
+
const dom = document.querySelector('#launch-loading');
|
|
48
|
+
if (dom) {
|
|
49
|
+
if (visible) {
|
|
50
|
+
dom.style.display = 'flex';
|
|
51
|
+
} else {
|
|
52
|
+
dom.style.display = 'none';
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
const setFullScreenFailureComp = (visible, errorMsg) => {
|
|
58
|
+
setLoading(false);
|
|
59
|
+
const dom = document.querySelector('#fcr-launch-failure-comp');
|
|
60
|
+
const titleDom = document.querySelector('#fcr-launch-failure-comp-title');
|
|
61
|
+
const btnTextDom = document.querySelector('#fcr-launch-failure-btn-text');
|
|
62
|
+
if (dom) {
|
|
63
|
+
if (visible) {
|
|
64
|
+
dom.style.display = 'flex';
|
|
65
|
+
// titleDom.innerText = window.$$agora_language === 'zh' ? '锁定会议' : 'Meeting Locked';
|
|
66
|
+
btnTextDom.innerText = window.$$agora_language === 'zh' ? '我已知悉' : 'I know';
|
|
67
|
+
if (errorMsg) {
|
|
68
|
+
const msgDom = document.querySelector('#fcr-launch-failure-error-info');
|
|
69
|
+
msgDom.innerText = errorMsg;
|
|
70
|
+
}
|
|
71
|
+
} else {
|
|
72
|
+
dom.style.display = 'none';
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
};
|