fcr-ui-scene 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/fcr-ui-kit/src/components/avatar/helper.d.ts +2 -0
- package/lib/fcr-ui-kit/src/components/avatar/index.d.ts +8 -0
- package/lib/fcr-ui-kit/src/components/button/index.d.ts +82 -0
- package/lib/fcr-ui-kit/src/components/checkbox/index.d.ts +12 -0
- package/lib/fcr-ui-kit/src/components/dialog/class-dialog.d.ts +51 -0
- package/lib/fcr-ui-kit/src/components/dialog/confirm-dialog.d.ts +70 -0
- package/lib/fcr-ui-kit/src/components/dialog/global-dialog.d.ts +11 -0
- package/lib/fcr-ui-kit/src/components/dialog/index.d.ts +68 -0
- package/lib/fcr-ui-kit/src/components/dropdown/index.d.ts +58 -0
- package/lib/fcr-ui-kit/src/components/input/index.d.ts +69 -0
- package/lib/fcr-ui-kit/src/components/input-number/index.d.ts +69 -0
- package/lib/fcr-ui-kit/src/components/pagination/index.d.ts +27 -0
- package/lib/fcr-ui-kit/src/components/popover/index.d.ts +47 -0
- package/lib/fcr-ui-kit/src/components/progress/index.d.ts +11 -0
- package/lib/fcr-ui-kit/src/components/radio/index.d.ts +21 -0
- package/lib/fcr-ui-kit/src/components/slider/index.d.ts +22 -0
- package/lib/fcr-ui-kit/src/components/sound-player/index.d.ts +6 -0
- package/lib/fcr-ui-kit/src/components/svg-img/clickable-icon.d.ts +25 -0
- package/lib/fcr-ui-kit/src/components/svg-img/index.d.ts +15 -0
- package/lib/fcr-ui-kit/src/components/svg-img/mic.d.ts +5 -0
- package/lib/fcr-ui-kit/src/components/svg-img/svg-dict.d.ts +12 -0
- package/lib/fcr-ui-kit/src/components/svg-img/type.d.ts +195 -0
- package/lib/fcr-ui-kit/src/components/svga-player/index.d.ts +15 -0
- package/lib/fcr-ui-kit/src/components/svga-player/svga-types.d.ts +1 -0
- package/lib/fcr-ui-kit/src/components/table/index.d.ts +9 -0
- package/lib/fcr-ui-kit/src/components/tabs/index.d.ts +14 -0
- package/lib/fcr-ui-kit/src/components/textarea/helper.d.ts +2 -0
- package/lib/fcr-ui-kit/src/components/textarea/index.d.ts +100 -0
- package/lib/fcr-ui-kit/src/components/toast/index.d.ts +122 -0
- package/lib/fcr-ui-kit/src/components/tooltip/dialog.d.ts +19 -0
- package/lib/fcr-ui-kit/src/components/tooltip/index.d.ts +89 -0
- package/lib/fcr-ui-kit/src/components/tooltip/info.d.ts +6 -0
- package/lib/fcr-ui-kit/src/components/volume/index.d.ts +8 -0
- package/lib/fcr-ui-kit/src/utils/click-anywhere.d.ts +1 -0
- package/lib/fcr-ui-kit/src/utils/hooks/animations.d.ts +14 -0
- package/lib/fcr-ui-kit/src/utils/hooks/use-click-anywhere.d.ts +2 -0
- package/lib/fcr-ui-kit/src/utils/tailwindcss.d.ts +3 -0
- package/lib/fcr-ui-scene/src/app.d.ts +5 -0
- package/lib/fcr-ui-scene/src/configs/base-theme.d.ts +391 -0
- package/lib/fcr-ui-scene/src/configs/base-ui.d.ts +12 -0
- package/lib/fcr-ui-scene/src/containers/action-bar/chat/index.d.ts +3 -0
- package/lib/fcr-ui-scene/src/containers/action-bar/cloud/index.d.ts +3 -0
- package/lib/fcr-ui-scene/src/containers/action-bar/device/index.d.ts +9 -0
- package/lib/fcr-ui-scene/src/containers/action-bar/index.d.ts +24 -0
- package/lib/fcr-ui-scene/src/containers/action-bar/leave/index.d.ts +4 -0
- package/lib/fcr-ui-scene/src/containers/action-bar/participants/index.d.ts +5 -0
- package/lib/fcr-ui-scene/src/containers/action-bar/raise-hands/index.d.ts +3 -0
- package/lib/fcr-ui-scene/src/containers/action-bar/record/index.d.ts +3 -0
- package/lib/fcr-ui-scene/src/containers/action-bar/screen-share/index.d.ts +3 -0
- package/lib/fcr-ui-scene/src/containers/action-bar/setting/index.d.ts +3 -0
- package/lib/fcr-ui-scene/src/containers/action-bar/toolbox/index.d.ts +3 -0
- package/lib/fcr-ui-scene/src/containers/action-bar/whiteboard/index.d.ts +3 -0
- package/lib/fcr-ui-scene/src/containers/breakout-room/ask-help-list.d.ts +10 -0
- package/lib/fcr-ui-scene/src/containers/breakout-room/broadcast-panel.d.ts +4 -0
- package/lib/fcr-ui-scene/src/containers/breakout-room/create-panel.d.ts +4 -0
- package/lib/fcr-ui-scene/src/containers/breakout-room/group-info-panel.d.ts +2 -0
- package/lib/fcr-ui-scene/src/containers/breakout-room/group-panel.d.ts +5 -0
- package/lib/fcr-ui-scene/src/containers/breakout-room/group-status-panel.d.ts +2 -0
- package/lib/fcr-ui-scene/src/containers/breakout-room/grouping.d.ts +15 -0
- package/lib/fcr-ui-scene/src/containers/breakout-room/index.d.ts +3 -0
- package/lib/fcr-ui-scene/src/containers/breakout-room/search-panel.d.ts +5 -0
- package/lib/fcr-ui-scene/src/containers/breakout-room/wizard.d.ts +6 -0
- package/lib/fcr-ui-scene/src/containers/cloud/dialog-header.d.ts +3 -0
- package/lib/fcr-ui-scene/src/containers/cloud/index.d.ts +6 -0
- package/lib/fcr-ui-scene/src/containers/cloud/personal.d.ts +3 -0
- package/lib/fcr-ui-scene/src/containers/cloud/public.d.ts +4 -0
- package/lib/fcr-ui-scene/src/containers/common/interact-labels.d.ts +6 -0
- package/lib/fcr-ui-scene/src/containers/device-pretest/basic-settings.d.ts +4 -0
- package/lib/fcr-ui-scene/src/containers/device-pretest/beauty-filter.d.ts +2 -0
- package/lib/fcr-ui-scene/src/containers/device-pretest/beauty-slider.d.ts +2 -0
- package/lib/fcr-ui-scene/src/containers/device-pretest/device-select.d.ts +4 -0
- package/lib/fcr-ui-scene/src/containers/device-pretest/index.d.ts +4 -0
- package/lib/fcr-ui-scene/src/containers/device-pretest/mirror-toggle.d.ts +4 -0
- package/lib/fcr-ui-scene/src/containers/device-pretest/video-portal.d.ts +2 -0
- package/lib/fcr-ui-scene/src/containers/device-pretest/virtual-background.d.ts +4 -0
- package/lib/fcr-ui-scene/src/containers/device-settings/audio-settings.d.ts +2 -0
- package/lib/fcr-ui-scene/src/containers/device-settings/dialog-wrapper.d.ts +2 -0
- package/lib/fcr-ui-scene/src/containers/device-settings/index.d.ts +3 -0
- package/lib/fcr-ui-scene/src/containers/device-settings/video-settings.d.ts +2 -0
- package/lib/fcr-ui-scene/src/containers/dialog/class-info.d.ts +3 -0
- package/lib/fcr-ui-scene/src/containers/dialog/confirm.d.ts +3 -0
- package/lib/fcr-ui-scene/src/containers/dialog/index.d.ts +2 -0
- package/lib/fcr-ui-scene/src/containers/layout/cover-view.d.ts +2 -0
- package/lib/fcr-ui-scene/src/containers/layout/gallery-view.d.ts +3 -0
- package/lib/fcr-ui-scene/src/containers/layout/presentation-view.d.ts +3 -0
- package/lib/fcr-ui-scene/src/containers/loading/index.d.ts +3 -0
- package/lib/fcr-ui-scene/src/containers/participants/dialog.d.ts +2 -0
- package/lib/fcr-ui-scene/src/containers/participants/index.d.ts +5 -0
- package/lib/fcr-ui-scene/src/containers/status-bar/class-duration/index.d.ts +3 -0
- package/lib/fcr-ui-scene/src/containers/status-bar/fullscreen/index.d.ts +3 -0
- package/lib/fcr-ui-scene/src/containers/status-bar/index.d.ts +4 -0
- package/lib/fcr-ui-scene/src/containers/status-bar/layout-switch/index.d.ts +22 -0
- package/lib/fcr-ui-scene/src/containers/status-bar/network/index.d.ts +4 -0
- package/lib/fcr-ui-scene/src/containers/status-bar/record-status/index.d.ts +3 -0
- package/lib/fcr-ui-scene/src/containers/status-bar/room-info/index.d.ts +4 -0
- package/lib/fcr-ui-scene/src/containers/status-bar/share/index.d.ts +3 -0
- package/lib/fcr-ui-scene/src/containers/status-bar/widgets/index.d.ts +3 -0
- package/lib/fcr-ui-scene/src/containers/stream-window/context.d.ts +52 -0
- package/lib/fcr-ui-scene/src/containers/stream-window/index.d.ts +3 -0
- package/lib/fcr-ui-scene/src/containers/video-player/index.d.ts +2 -0
- package/lib/fcr-ui-scene/src/containers/video-player/players.d.ts +3 -0
- package/lib/fcr-ui-scene/src/containers/video-player/tools-overlay.d.ts +1 -0
- package/lib/fcr-ui-scene/src/containers/widget/break-out-room/index.d.ts +2 -0
- package/lib/fcr-ui-scene/src/containers/widget/draggable-wrapper/index.d.ts +7 -0
- package/lib/fcr-ui-scene/src/containers/widget/helpers.d.ts +40 -0
- package/lib/fcr-ui-scene/src/containers/widget/hooks.d.ts +21 -0
- package/lib/fcr-ui-scene/src/containers/widget/index.d.ts +7 -0
- package/lib/fcr-ui-scene/src/containers/widget/participants/index.d.ts +2 -0
- package/lib/fcr-ui-scene/src/extension/board.d.ts +73 -0
- package/lib/fcr-ui-scene/src/extension/edu-tool.d.ts +57 -0
- package/lib/fcr-ui-scene/src/extension/events.d.ts +91 -0
- package/lib/fcr-ui-scene/src/extension/type.d.ts +94 -0
- package/lib/fcr-ui-scene/src/index.d.ts +39 -0
- package/lib/fcr-ui-scene/src/preset.d.ts +1 -0
- package/lib/fcr-ui-scene/src/resources/translations/enUs.d.ts +393 -0
- package/lib/fcr-ui-scene/src/resources/translations/zhCn.d.ts +398 -0
- package/lib/fcr-ui-scene/src/scenarios/classroom.d.ts +2 -0
- package/lib/fcr-ui-scene/src/scenarios/layout/index.d.ts +2 -0
- package/lib/fcr-ui-scene/src/type.d.ts +347 -0
- package/lib/fcr-ui-scene/src/uistores/action-bar.d.ts +58 -0
- package/lib/fcr-ui-scene/src/uistores/base.d.ts +58 -0
- package/lib/fcr-ui-scene/src/uistores/breakout.d.ts +225 -0
- package/lib/fcr-ui-scene/src/uistores/cloud/helper.d.ts +26 -0
- package/lib/fcr-ui-scene/src/uistores/cloud/index.d.ts +51 -0
- package/lib/fcr-ui-scene/src/uistores/cloud/struct.d.ts +131 -0
- package/lib/fcr-ui-scene/src/uistores/context.d.ts +7 -0
- package/lib/fcr-ui-scene/src/uistores/device-setting.d.ts +219 -0
- package/lib/fcr-ui-scene/src/uistores/gallery-view.d.ts +16 -0
- package/lib/fcr-ui-scene/src/uistores/getters.d.ts +39 -0
- package/lib/fcr-ui-scene/src/uistores/index.d.ts +47 -0
- package/lib/fcr-ui-scene/src/uistores/layout.d.ts +64 -0
- package/lib/fcr-ui-scene/src/uistores/notification.d.ts +9 -0
- package/lib/fcr-ui-scene/src/uistores/participants.d.ts +48 -0
- package/lib/fcr-ui-scene/src/uistores/presentation-view.d.ts +24 -0
- package/lib/fcr-ui-scene/src/uistores/status-bar.d.ts +47 -0
- package/lib/fcr-ui-scene/src/uistores/stream.d.ts +48 -0
- package/lib/fcr-ui-scene/src/uistores/subscription/abstract.d.ts +45 -0
- package/lib/fcr-ui-scene/src/uistores/subscription/index.d.ts +13 -0
- package/lib/fcr-ui-scene/src/uistores/subscription/main-room.d.ts +14 -0
- package/lib/fcr-ui-scene/src/uistores/subscription/type.d.ts +10 -0
- package/lib/fcr-ui-scene/src/uistores/type.d.ts +86 -0
- package/lib/fcr-ui-scene/src/uistores/widget.d.ts +46 -0
- package/lib/fcr-ui-scene/src/utils/asset.d.ts +1 -0
- package/lib/fcr-ui-scene/src/utils/check.d.ts +7 -0
- package/lib/fcr-ui-scene/src/utils/clamp-bounds.d.ts +14 -0
- package/lib/fcr-ui-scene/src/utils/config-loader.d.ts +7 -0
- package/lib/fcr-ui-scene/src/utils/grid/index.d.ts +9 -0
- package/lib/fcr-ui-scene/src/utils/hooks/use-authorization.d.ts +5 -0
- package/lib/fcr-ui-scene/src/utils/hooks/use-device-switch.d.ts +29 -0
- package/lib/fcr-ui-scene/src/utils/hooks/use-drag-position.d.ts +21 -0
- package/lib/fcr-ui-scene/src/utils/hooks/use-network.d.ts +17 -0
- package/lib/fcr-ui-scene/src/utils/hooks/use-pin-stream.d.ts +4 -0
- package/lib/fcr-ui-scene/src/utils/hooks/use-rnd-position.d.ts +24 -0
- package/lib/fcr-ui-scene/src/utils/hooks/use-store.d.ts +1 -0
- package/lib/fcr-ui-scene/src/utils/hooks/use-video-renderable.d.ts +3 -0
- package/lib/fcr-ui-scene/src/utils/hooks/use-z-index.d.ts +8 -0
- package/lib/fcr-ui-scene/src/utils/index.d.ts +7 -0
- package/lib/fcr-ui-scene/src/utils/launch-options-holder.d.ts +10 -0
- package/lib/fcr-ui-scene/src/utils/rtc-extensions.d.ts +29 -0
- package/lib/fcr-ui-scene/src/utils/short-name.d.ts +1 -0
- package/lib/fcr-ui-scene/src/utils/stream/index.d.ts +3 -0
- package/lib/fcr-ui-scene/src/utils/stream/state-keeper.d.ts +18 -0
- package/lib/fcr-ui-scene/src/utils/stream/struct.d.ts +67 -0
- package/lib/fcr-ui-scene/src/utils/z-index-controller.d.ts +9 -0
- package/lib/fcr-ui-scene/tailwind.config.d.ts +1 -0
- package/lib/log.worker.bundle.worker.js.LICENSE.txt +1 -0
- package/lib/scene.bundle.js +2 -0
- package/lib/scene.bundle.js.LICENSE.txt +334 -0
- package/package.json +95 -0
|
@@ -0,0 +1,347 @@
|
|
|
1
|
+
import { ConversionOption, EduRegion, EduRoleTypeEnum, EduRoomTypeEnum, EduRtcConfig } from 'agora-edu-core';
|
|
2
|
+
import { AGMediaOptions, AgoraLatencyLevel, AGVideoEncoderConfiguration } from 'agora-rte-sdk';
|
|
3
|
+
import { FcrMultiThemeMode } from 'agora-common-libs';
|
|
4
|
+
import { FcrUISceneWidget } from 'agora-common-libs';
|
|
5
|
+
import { IBaseProcessor, IExtension } from 'agora-rte-extension';
|
|
6
|
+
import { CloudDriveResourceConvertProgress } from './uistores/cloud/struct';
|
|
7
|
+
export declare type BoardWindowAnimationOptions = {
|
|
8
|
+
minFPS?: number;
|
|
9
|
+
maxFPS?: number;
|
|
10
|
+
resolution?: number;
|
|
11
|
+
autoResolution?: boolean;
|
|
12
|
+
autoFPS?: boolean;
|
|
13
|
+
maxResolutionLevel?: number;
|
|
14
|
+
forceCanvas?: boolean;
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* 启动参数
|
|
18
|
+
*/
|
|
19
|
+
/** @en
|
|
20
|
+
* Options to launch SDK
|
|
21
|
+
*/
|
|
22
|
+
export declare type LaunchOptions = {
|
|
23
|
+
/**
|
|
24
|
+
* App ID
|
|
25
|
+
*/
|
|
26
|
+
/** @en
|
|
27
|
+
* App ID
|
|
28
|
+
*/
|
|
29
|
+
appId: string;
|
|
30
|
+
/**
|
|
31
|
+
* 教育服务区域
|
|
32
|
+
*/
|
|
33
|
+
/** @en
|
|
34
|
+
* Edu service region
|
|
35
|
+
*/
|
|
36
|
+
region: EduRegion;
|
|
37
|
+
/**
|
|
38
|
+
* 进入教室的令牌
|
|
39
|
+
*/
|
|
40
|
+
/** @en
|
|
41
|
+
* API Token used to join the room
|
|
42
|
+
*/
|
|
43
|
+
token: string;
|
|
44
|
+
/**
|
|
45
|
+
* 界面语言
|
|
46
|
+
*/
|
|
47
|
+
/** @en
|
|
48
|
+
* UI language
|
|
49
|
+
*/
|
|
50
|
+
language: Language;
|
|
51
|
+
/**
|
|
52
|
+
* 用户唯一标识
|
|
53
|
+
*/
|
|
54
|
+
/** @en
|
|
55
|
+
* User identifier
|
|
56
|
+
*/
|
|
57
|
+
userUuid: string;
|
|
58
|
+
/**
|
|
59
|
+
* 用户昵称
|
|
60
|
+
*/
|
|
61
|
+
/** @en
|
|
62
|
+
* User nickname
|
|
63
|
+
*/
|
|
64
|
+
userName: string;
|
|
65
|
+
/**
|
|
66
|
+
* 用户角色
|
|
67
|
+
*/
|
|
68
|
+
/** @en
|
|
69
|
+
* User role
|
|
70
|
+
*/
|
|
71
|
+
roleType: EduRoleTypeEnum;
|
|
72
|
+
/**
|
|
73
|
+
* 房间唯一标识
|
|
74
|
+
*/
|
|
75
|
+
/** @en
|
|
76
|
+
* Room identifier
|
|
77
|
+
*/
|
|
78
|
+
roomUuid: string;
|
|
79
|
+
/**
|
|
80
|
+
* 房间名称
|
|
81
|
+
*/
|
|
82
|
+
/** @en
|
|
83
|
+
* Room name
|
|
84
|
+
*/
|
|
85
|
+
roomName: string;
|
|
86
|
+
/**
|
|
87
|
+
* 房间类型
|
|
88
|
+
*/
|
|
89
|
+
/** @en
|
|
90
|
+
* Room type
|
|
91
|
+
*/
|
|
92
|
+
roomType: EduRoomTypeEnum;
|
|
93
|
+
/**
|
|
94
|
+
* 开始时间
|
|
95
|
+
*/
|
|
96
|
+
/** @en
|
|
97
|
+
* Start timestamp of the room
|
|
98
|
+
*/
|
|
99
|
+
startTime?: number;
|
|
100
|
+
/**
|
|
101
|
+
* 房间时长
|
|
102
|
+
*/
|
|
103
|
+
/** @en
|
|
104
|
+
* Time duration of the room
|
|
105
|
+
*/
|
|
106
|
+
duration: number;
|
|
107
|
+
/**
|
|
108
|
+
* 设备检测是否启用
|
|
109
|
+
*/
|
|
110
|
+
/** @en
|
|
111
|
+
* Wether device pretest is enabled
|
|
112
|
+
*/
|
|
113
|
+
devicePretest: boolean;
|
|
114
|
+
/**
|
|
115
|
+
* 公共课件列表
|
|
116
|
+
*/
|
|
117
|
+
/** @en
|
|
118
|
+
* Public courseware list listing in the cloud drive
|
|
119
|
+
*/
|
|
120
|
+
coursewareList?: CoursewareList;
|
|
121
|
+
/**
|
|
122
|
+
* 用户自定义属性
|
|
123
|
+
*/
|
|
124
|
+
/** @en
|
|
125
|
+
* User flexible properties
|
|
126
|
+
*/
|
|
127
|
+
userFlexProperties?: {
|
|
128
|
+
[key: string]: unknown;
|
|
129
|
+
};
|
|
130
|
+
/**
|
|
131
|
+
* RTC 延迟等级
|
|
132
|
+
*/
|
|
133
|
+
/** @en
|
|
134
|
+
* RTC latency level
|
|
135
|
+
*/
|
|
136
|
+
latencyLevel?: AgoraLatencyLevel;
|
|
137
|
+
/**
|
|
138
|
+
* 录制页面地址
|
|
139
|
+
*/
|
|
140
|
+
/** @en
|
|
141
|
+
* Recording page URL
|
|
142
|
+
*/
|
|
143
|
+
recordUrl?: string;
|
|
144
|
+
/**
|
|
145
|
+
* 录制重试间隔
|
|
146
|
+
*/
|
|
147
|
+
/** @en
|
|
148
|
+
* Time duration to wait before retrying when recording is failed to start
|
|
149
|
+
*/
|
|
150
|
+
recordRetryTimeout?: number;
|
|
151
|
+
/**
|
|
152
|
+
* UI 主题
|
|
153
|
+
*/
|
|
154
|
+
/** @en
|
|
155
|
+
* UI Theme
|
|
156
|
+
*/
|
|
157
|
+
uiMode?: FcrMultiThemeMode;
|
|
158
|
+
/**
|
|
159
|
+
* 分享链接
|
|
160
|
+
*/
|
|
161
|
+
/** @en
|
|
162
|
+
* Room share link
|
|
163
|
+
*/
|
|
164
|
+
shareUrl?: string;
|
|
165
|
+
/**
|
|
166
|
+
* 虚拟背景图片
|
|
167
|
+
*/
|
|
168
|
+
/** @en
|
|
169
|
+
* Virtual background image assets
|
|
170
|
+
*/
|
|
171
|
+
virtualBackgroundImages?: string[];
|
|
172
|
+
/**
|
|
173
|
+
* 虚拟背景视频
|
|
174
|
+
*/
|
|
175
|
+
/** @en
|
|
176
|
+
* Virtual background video assets
|
|
177
|
+
*/
|
|
178
|
+
virtualBackgroundVideos?: string[];
|
|
179
|
+
/**
|
|
180
|
+
* 声网 WebRTC SDK 扩展插件包路径前缀
|
|
181
|
+
*/
|
|
182
|
+
/** @en
|
|
183
|
+
* URL prefix of extension binary assets of Agora WebRTC SDK
|
|
184
|
+
*/
|
|
185
|
+
webrtcExtensionBaseUrl?: string;
|
|
186
|
+
/**
|
|
187
|
+
* 音视频编解码配置
|
|
188
|
+
*/
|
|
189
|
+
/** @en
|
|
190
|
+
* Configurations for video and audio codecs
|
|
191
|
+
*/
|
|
192
|
+
mediaOptions?: LaunchMediaOptions;
|
|
193
|
+
/**
|
|
194
|
+
* 使用插件
|
|
195
|
+
*/
|
|
196
|
+
/** @en
|
|
197
|
+
* Widgets to use with SDK
|
|
198
|
+
*/
|
|
199
|
+
widgets?: Record<string, typeof FcrUISceneWidget>;
|
|
200
|
+
/**
|
|
201
|
+
* 白板录制选项
|
|
202
|
+
*/
|
|
203
|
+
/** @en
|
|
204
|
+
* BoardRecordOptions
|
|
205
|
+
*/
|
|
206
|
+
recordOptions?: BoardWindowAnimationOptions;
|
|
207
|
+
};
|
|
208
|
+
/**
|
|
209
|
+
* 支持的语言
|
|
210
|
+
*/
|
|
211
|
+
/** @en
|
|
212
|
+
* Supported languages
|
|
213
|
+
*/
|
|
214
|
+
export declare type Language = 'en' | 'zh';
|
|
215
|
+
/**
|
|
216
|
+
* 课件页信息
|
|
217
|
+
*/
|
|
218
|
+
/** @en
|
|
219
|
+
* Page info of slides
|
|
220
|
+
*/
|
|
221
|
+
export declare type CoursewarePageInfo = {
|
|
222
|
+
/**
|
|
223
|
+
* 预览图
|
|
224
|
+
*/
|
|
225
|
+
/** @en
|
|
226
|
+
* URL of the preview image of the page showing at nav bar of a slide window
|
|
227
|
+
*/
|
|
228
|
+
preview?: string;
|
|
229
|
+
/**
|
|
230
|
+
* 图片资源链接
|
|
231
|
+
*/
|
|
232
|
+
/** @en
|
|
233
|
+
* URL of the page image
|
|
234
|
+
*/
|
|
235
|
+
src: string;
|
|
236
|
+
/**
|
|
237
|
+
* 图片资源宽度
|
|
238
|
+
*/
|
|
239
|
+
/** @en
|
|
240
|
+
* Width of the page image
|
|
241
|
+
*/
|
|
242
|
+
width: number;
|
|
243
|
+
/**
|
|
244
|
+
* 图片资源高度
|
|
245
|
+
*/
|
|
246
|
+
/** @en
|
|
247
|
+
* Height of the page image
|
|
248
|
+
*/
|
|
249
|
+
height: number;
|
|
250
|
+
};
|
|
251
|
+
/**
|
|
252
|
+
* 课件信息
|
|
253
|
+
*/
|
|
254
|
+
/** @en
|
|
255
|
+
* Courseware slide info
|
|
256
|
+
*/
|
|
257
|
+
export declare type CoursewareItem = {
|
|
258
|
+
/**
|
|
259
|
+
*
|
|
260
|
+
*/
|
|
261
|
+
/**
|
|
262
|
+
*
|
|
263
|
+
*/
|
|
264
|
+
resourceName: string;
|
|
265
|
+
resourceUuid: string;
|
|
266
|
+
ext: string;
|
|
267
|
+
url?: string;
|
|
268
|
+
size: number;
|
|
269
|
+
updateTime: number;
|
|
270
|
+
taskUuid?: string;
|
|
271
|
+
taskProgress?: CloudDriveResourceConvertProgress;
|
|
272
|
+
conversion?: ConversionOption;
|
|
273
|
+
initOpen?: boolean;
|
|
274
|
+
};
|
|
275
|
+
/**
|
|
276
|
+
* 公共课件列表
|
|
277
|
+
*/
|
|
278
|
+
/** @en
|
|
279
|
+
*
|
|
280
|
+
*/
|
|
281
|
+
export declare type CoursewareList = CoursewareItem[];
|
|
282
|
+
/**
|
|
283
|
+
* 设备采集编码配置
|
|
284
|
+
*/
|
|
285
|
+
/** @en
|
|
286
|
+
*
|
|
287
|
+
*/
|
|
288
|
+
export declare type ConvertMediaOptionsConfig = EduRtcConfig & {
|
|
289
|
+
defaultLowStreamCameraEncoderConfigurations?: AGVideoEncoderConfiguration;
|
|
290
|
+
};
|
|
291
|
+
/**
|
|
292
|
+
* 音视频编解码配置
|
|
293
|
+
*/
|
|
294
|
+
/** @en
|
|
295
|
+
*
|
|
296
|
+
*/
|
|
297
|
+
export declare type LaunchMediaOptions = AGMediaOptions & {
|
|
298
|
+
lowStreamCameraEncoderConfiguration?: AGVideoEncoderConfiguration;
|
|
299
|
+
};
|
|
300
|
+
/**
|
|
301
|
+
* WebRTC 扩展初始化器
|
|
302
|
+
*/
|
|
303
|
+
/** @en
|
|
304
|
+
*
|
|
305
|
+
*/
|
|
306
|
+
export declare type ExtensionInitializer = {
|
|
307
|
+
createInstance: () => IExtension<IBaseProcessor>;
|
|
308
|
+
createProcessor: (extension: IExtension<IBaseProcessor>) => Promise<IBaseProcessor>;
|
|
309
|
+
};
|
|
310
|
+
/**
|
|
311
|
+
* 音视频处理器初始化器
|
|
312
|
+
*/
|
|
313
|
+
/** @en
|
|
314
|
+
*
|
|
315
|
+
*/
|
|
316
|
+
export declare type ProcessorInitializer<T extends IBaseProcessor> = {
|
|
317
|
+
name: string;
|
|
318
|
+
createProcessor: () => Promise<T>;
|
|
319
|
+
};
|
|
320
|
+
/**
|
|
321
|
+
* 虚拟背景参数
|
|
322
|
+
*/
|
|
323
|
+
/** @en
|
|
324
|
+
* Virtual background options
|
|
325
|
+
*/
|
|
326
|
+
export declare type VirtualBackgroundOptions = {
|
|
327
|
+
url: string;
|
|
328
|
+
type: 'image' | 'video';
|
|
329
|
+
};
|
|
330
|
+
/**
|
|
331
|
+
* 美颜参数
|
|
332
|
+
*/
|
|
333
|
+
/** @en
|
|
334
|
+
* Beauty filter options
|
|
335
|
+
*/
|
|
336
|
+
export declare type BeautyFilterOptions = {
|
|
337
|
+
smooth: number;
|
|
338
|
+
brightening: number;
|
|
339
|
+
blush: number;
|
|
340
|
+
};
|
|
341
|
+
/**
|
|
342
|
+
* 工具函数
|
|
343
|
+
*/
|
|
344
|
+
/** @en
|
|
345
|
+
*
|
|
346
|
+
*/
|
|
347
|
+
export { isElectron, isWeb, isProduction } from './utils/check';
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { EduUIStoreBase } from './base';
|
|
2
|
+
import { ShareStreamStateKeeper } from '@ui-scene/utils/stream/state-keeper';
|
|
3
|
+
import { ClassroomState, RecordMode } from 'agora-edu-core';
|
|
4
|
+
import { AgoraRteMediaSourceState } from 'agora-rte-sdk';
|
|
5
|
+
export declare class ActionBarUIStore extends EduUIStoreBase {
|
|
6
|
+
private _handsUpTask;
|
|
7
|
+
isHandsUp: boolean;
|
|
8
|
+
raiseHand(): void;
|
|
9
|
+
lowerHand(userUuid?: string): void;
|
|
10
|
+
handsUpMap: Map<string, number>;
|
|
11
|
+
private _handsUpListScanTask;
|
|
12
|
+
addHandsUpStudent(userUuid: string): void;
|
|
13
|
+
removeHandsUpStudent(userUuid: string): void;
|
|
14
|
+
clearHandsUpStudent(): void;
|
|
15
|
+
isHandsUpByUserUuid: (userUuid: string) => boolean;
|
|
16
|
+
startHandsUpMapScan(): void;
|
|
17
|
+
stopHandsUpListScan(): void;
|
|
18
|
+
lowerAllHands(): void;
|
|
19
|
+
get isHost(): boolean;
|
|
20
|
+
get showEndClassButton(): boolean;
|
|
21
|
+
get showToolBox(): boolean;
|
|
22
|
+
get showWhiteBoard(): boolean;
|
|
23
|
+
get showScreenShare(): boolean;
|
|
24
|
+
get showRecord(): boolean;
|
|
25
|
+
get showRaiseHands(): boolean;
|
|
26
|
+
get showCloud(): boolean;
|
|
27
|
+
showLeaveOption: boolean;
|
|
28
|
+
leaveFlag: number;
|
|
29
|
+
shareScreenStateKeeperMap: Map<string, ShareStreamStateKeeper>;
|
|
30
|
+
get isScreenSharing(): boolean;
|
|
31
|
+
get isLocalScreenSharing(): boolean;
|
|
32
|
+
openChatDialog(): void;
|
|
33
|
+
closeChatDialog(): void;
|
|
34
|
+
setPrivateChat(userId: string): void;
|
|
35
|
+
setShowLeaveOption(show: boolean, flag: number): void;
|
|
36
|
+
startRecording(): void;
|
|
37
|
+
stopRecording(): void;
|
|
38
|
+
get recordArgs(): {
|
|
39
|
+
webRecordConfig: {
|
|
40
|
+
rootUrl: string;
|
|
41
|
+
videoBitrate: number;
|
|
42
|
+
};
|
|
43
|
+
mode: RecordMode;
|
|
44
|
+
retryTimeout: number;
|
|
45
|
+
};
|
|
46
|
+
startLocalScreenShare(): void;
|
|
47
|
+
preCheckScreenShareStatus(): void;
|
|
48
|
+
stopLocalScreenShare(): void;
|
|
49
|
+
get screenShareStateAccessor(): {
|
|
50
|
+
trackState: AgoraRteMediaSourceState;
|
|
51
|
+
classroomState: ClassroomState;
|
|
52
|
+
};
|
|
53
|
+
leaveClassroom(): void;
|
|
54
|
+
private _onReceiveChannelMessage;
|
|
55
|
+
private _onReceivePeerMessage;
|
|
56
|
+
onDestroy(): void;
|
|
57
|
+
onInstall(): void;
|
|
58
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { EduClassroomStore } from 'agora-edu-core';
|
|
2
|
+
import { Logger } from 'agora-common-libs';
|
|
3
|
+
import { Getters } from './getters';
|
|
4
|
+
/**
|
|
5
|
+
*
|
|
6
|
+
*/
|
|
7
|
+
/** @en
|
|
8
|
+
*
|
|
9
|
+
*/
|
|
10
|
+
export declare abstract class EduUIStoreBase {
|
|
11
|
+
protected _disposers: (() => void)[];
|
|
12
|
+
/**
|
|
13
|
+
*
|
|
14
|
+
*/
|
|
15
|
+
/** @en
|
|
16
|
+
*
|
|
17
|
+
*/
|
|
18
|
+
protected readonly logger: Logger;
|
|
19
|
+
/**
|
|
20
|
+
*
|
|
21
|
+
*/
|
|
22
|
+
/** @en
|
|
23
|
+
*
|
|
24
|
+
*/
|
|
25
|
+
protected readonly getters: Getters;
|
|
26
|
+
/**
|
|
27
|
+
* 当前 EduClassroomStore 实例
|
|
28
|
+
*/
|
|
29
|
+
/** @en
|
|
30
|
+
*
|
|
31
|
+
*/
|
|
32
|
+
readonly classroomStore: EduClassroomStore;
|
|
33
|
+
/**
|
|
34
|
+
* 构造函数
|
|
35
|
+
* @param store
|
|
36
|
+
* @param shareUIStore
|
|
37
|
+
*/
|
|
38
|
+
/** @en
|
|
39
|
+
* 构造函数
|
|
40
|
+
* @param store
|
|
41
|
+
* @param shareUIStore
|
|
42
|
+
*/
|
|
43
|
+
constructor(store: EduClassroomStore, getters: Getters);
|
|
44
|
+
/**
|
|
45
|
+
* UIStore 初始化
|
|
46
|
+
*/
|
|
47
|
+
/** @en
|
|
48
|
+
*
|
|
49
|
+
*/
|
|
50
|
+
abstract onInstall(): void;
|
|
51
|
+
/**
|
|
52
|
+
* UIStore 销毁
|
|
53
|
+
*/
|
|
54
|
+
/** @en
|
|
55
|
+
*
|
|
56
|
+
*/
|
|
57
|
+
abstract onDestroy(): void;
|
|
58
|
+
}
|
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
import { EduUIStoreBase } from './base';
|
|
2
|
+
import { GroupDetail, GroupState } from 'agora-edu-core';
|
|
3
|
+
export declare class BreakoutUIStore extends EduUIStoreBase {
|
|
4
|
+
/**
|
|
5
|
+
* 每个分组学生最大15人
|
|
6
|
+
*/
|
|
7
|
+
static readonly MAX_USER_COUNT = 15;
|
|
8
|
+
/**
|
|
9
|
+
* 总分组数
|
|
10
|
+
*/
|
|
11
|
+
static readonly MAX_GROUP_COUNT = 20;
|
|
12
|
+
/**
|
|
13
|
+
* 当前分组序号
|
|
14
|
+
*/
|
|
15
|
+
private _groupSeq;
|
|
16
|
+
/**
|
|
17
|
+
* 请求中状态
|
|
18
|
+
*/
|
|
19
|
+
private _requestLock;
|
|
20
|
+
/**
|
|
21
|
+
* 分组邀请所对应的窗口ID
|
|
22
|
+
*/
|
|
23
|
+
private _dialogsMap;
|
|
24
|
+
/**
|
|
25
|
+
* 消息提示
|
|
26
|
+
*/
|
|
27
|
+
private _toasts;
|
|
28
|
+
/**
|
|
29
|
+
* 请求帮助列表
|
|
30
|
+
*/
|
|
31
|
+
private _helpRequestList;
|
|
32
|
+
/**
|
|
33
|
+
* 分组窗口是否打开
|
|
34
|
+
*/
|
|
35
|
+
private _dialogVisible;
|
|
36
|
+
/**
|
|
37
|
+
* 创建步骤:
|
|
38
|
+
* 0 选择自动\手动分组界面
|
|
39
|
+
* 1 分组界面
|
|
40
|
+
*/
|
|
41
|
+
private _wizardState;
|
|
42
|
+
/**
|
|
43
|
+
* 正在加入分组中
|
|
44
|
+
*/
|
|
45
|
+
private _isJoiningSubRoom;
|
|
46
|
+
/**
|
|
47
|
+
* 本地分组暂存信息
|
|
48
|
+
*/
|
|
49
|
+
private _localGroups;
|
|
50
|
+
/**
|
|
51
|
+
* 正在加入分组
|
|
52
|
+
*/
|
|
53
|
+
get isJoiningSubRoom(): boolean;
|
|
54
|
+
/**
|
|
55
|
+
* 请求列表
|
|
56
|
+
*/
|
|
57
|
+
get helpRequestList(): {
|
|
58
|
+
groupName: string;
|
|
59
|
+
groupUuid: string;
|
|
60
|
+
}[];
|
|
61
|
+
/**
|
|
62
|
+
* 分组窗口
|
|
63
|
+
*/
|
|
64
|
+
get breakoutDialogVisible(): boolean;
|
|
65
|
+
/**
|
|
66
|
+
* 当前创建步骤
|
|
67
|
+
*/
|
|
68
|
+
get wizardState(): number;
|
|
69
|
+
/**
|
|
70
|
+
* 提示列表
|
|
71
|
+
*/
|
|
72
|
+
get toasts(): {
|
|
73
|
+
text: string;
|
|
74
|
+
id: string;
|
|
75
|
+
}[];
|
|
76
|
+
/**
|
|
77
|
+
* 分组列表
|
|
78
|
+
*/
|
|
79
|
+
get groups(): {
|
|
80
|
+
id: string;
|
|
81
|
+
text: string;
|
|
82
|
+
sort: number;
|
|
83
|
+
children: {
|
|
84
|
+
id: string;
|
|
85
|
+
text: string;
|
|
86
|
+
}[];
|
|
87
|
+
}[];
|
|
88
|
+
/**
|
|
89
|
+
* 分组详情
|
|
90
|
+
*/
|
|
91
|
+
get groupDetails(): Map<string, GroupDetail>;
|
|
92
|
+
/**
|
|
93
|
+
* 学生列表
|
|
94
|
+
*/
|
|
95
|
+
get students(): {
|
|
96
|
+
userUuid: string;
|
|
97
|
+
userName: string;
|
|
98
|
+
groupUuid: string | undefined;
|
|
99
|
+
}[];
|
|
100
|
+
/**
|
|
101
|
+
* 未分组学生列表
|
|
102
|
+
*/
|
|
103
|
+
get ungroupedCount(): number;
|
|
104
|
+
get numberToBeAssigned(): number;
|
|
105
|
+
get mainRoomUsers(): Map<any, any>;
|
|
106
|
+
get mainRoomStudents(): Map<any, any>;
|
|
107
|
+
get mainRoomTeachers(): Map<any, any>;
|
|
108
|
+
get mainRoomAssistants(): Map<any, any>;
|
|
109
|
+
/**
|
|
110
|
+
* 未分组用户列表
|
|
111
|
+
*/
|
|
112
|
+
get ungroupedList(): {
|
|
113
|
+
id: string;
|
|
114
|
+
text: string;
|
|
115
|
+
}[];
|
|
116
|
+
/**
|
|
117
|
+
* 当前是否开放分组
|
|
118
|
+
*/
|
|
119
|
+
get groupState(): GroupState;
|
|
120
|
+
/**
|
|
121
|
+
* 当前房间
|
|
122
|
+
*/
|
|
123
|
+
get currentSubRoomInfo(): GroupDetail | undefined;
|
|
124
|
+
/**
|
|
125
|
+
* 老师所在房间
|
|
126
|
+
*/
|
|
127
|
+
get teacherGroupUuid(): string | undefined;
|
|
128
|
+
setDialogVisible(visible: boolean): void;
|
|
129
|
+
setWizardState(state: 0 | 1): void;
|
|
130
|
+
/**
|
|
131
|
+
* 获取学生所在组ID
|
|
132
|
+
* @param userUuid
|
|
133
|
+
*/
|
|
134
|
+
getUserGroupUuid(userUuid: string): string | undefined;
|
|
135
|
+
/**
|
|
136
|
+
* 获取学生信息
|
|
137
|
+
* @param userUuid
|
|
138
|
+
*/
|
|
139
|
+
getGroupUserByUuid(userUuid: string): import("agora-edu-core").GroupUser | undefined;
|
|
140
|
+
/**
|
|
141
|
+
* 设置分组用户列表
|
|
142
|
+
* @param groupUuid
|
|
143
|
+
* @param users
|
|
144
|
+
*/
|
|
145
|
+
setGroupUsers(groupUuid: string, users: string[]): void;
|
|
146
|
+
/**
|
|
147
|
+
* 重命名组
|
|
148
|
+
* @param groupUuid 分组ID
|
|
149
|
+
* @param groupName 新分组名
|
|
150
|
+
*/
|
|
151
|
+
renameGroupName(groupUuid: string, groupName: string): void;
|
|
152
|
+
getLastOrder(): number;
|
|
153
|
+
/**
|
|
154
|
+
* 新增组
|
|
155
|
+
*/
|
|
156
|
+
addGroup(): void;
|
|
157
|
+
addToast(message: {
|
|
158
|
+
text: string;
|
|
159
|
+
}): void;
|
|
160
|
+
/**
|
|
161
|
+
* 删除组
|
|
162
|
+
* @param groupUuid 组id
|
|
163
|
+
*/
|
|
164
|
+
removeGroup(groupUuid: string): void;
|
|
165
|
+
/**
|
|
166
|
+
* 移动用户
|
|
167
|
+
* @param fromGroupUuid
|
|
168
|
+
* @param toGroupUuid
|
|
169
|
+
* @param user
|
|
170
|
+
*/
|
|
171
|
+
moveUserToGroup(fromGroupUuid: string, toGroupUuid: string, userUuid: string): void;
|
|
172
|
+
/**
|
|
173
|
+
* 用户组互换
|
|
174
|
+
* @param userUuid1
|
|
175
|
+
* @param userUuid2
|
|
176
|
+
*/
|
|
177
|
+
interchangeGroup(userUuid1: string, userUuid2: string): void;
|
|
178
|
+
startGroup({ copyBoardState }: {
|
|
179
|
+
copyBoardState: boolean;
|
|
180
|
+
}): Promise<void>;
|
|
181
|
+
/**
|
|
182
|
+
* 结束分组
|
|
183
|
+
*/
|
|
184
|
+
stopGroup(): Promise<void>;
|
|
185
|
+
/**
|
|
186
|
+
* 创建分组
|
|
187
|
+
* @param type 1 auto 2 manual MANUAL
|
|
188
|
+
* @param group
|
|
189
|
+
*/
|
|
190
|
+
createGroups(type: 1 | 2, count: number): void;
|
|
191
|
+
/**
|
|
192
|
+
* 获取分组内当前人数
|
|
193
|
+
* @param groupUuid
|
|
194
|
+
* @returns
|
|
195
|
+
*/
|
|
196
|
+
getGroupUserCount(groupUuid: string): number | undefined;
|
|
197
|
+
/**
|
|
198
|
+
* 加入子房间
|
|
199
|
+
* @param groupUuid
|
|
200
|
+
*/
|
|
201
|
+
joinSubRoom(groupUuid: string): Promise<void>;
|
|
202
|
+
/**
|
|
203
|
+
* 发送广播消息
|
|
204
|
+
* @param message
|
|
205
|
+
* @returns
|
|
206
|
+
*/
|
|
207
|
+
broadcastMessage(message: string): void;
|
|
208
|
+
acceptInvite(groupUuid: string): void;
|
|
209
|
+
rejectInvite(groupUuid: string): void;
|
|
210
|
+
leaveSubRoom(): Promise<void>;
|
|
211
|
+
private _isGroupExisted;
|
|
212
|
+
private _generateGroupName;
|
|
213
|
+
private _setConnectionState;
|
|
214
|
+
private _waitUntilLeft;
|
|
215
|
+
private _waitUntilConnected;
|
|
216
|
+
private _waitUntilJoined;
|
|
217
|
+
private _grantWhiteboard;
|
|
218
|
+
private _joinSubRoom;
|
|
219
|
+
private _copyRoomContent;
|
|
220
|
+
private _leaveSubRoom;
|
|
221
|
+
private _changeSubRoom;
|
|
222
|
+
private _handleClassroomEvent;
|
|
223
|
+
onInstall(): void;
|
|
224
|
+
onDestroy(): void;
|
|
225
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { CloudDriveResource, ConversionOption } from 'agora-edu-core';
|
|
2
|
+
import { CloudDriveResourceConvertProgress } from './struct';
|
|
3
|
+
export declare type CourseWareItem = {
|
|
4
|
+
resourceName: string;
|
|
5
|
+
resourceUuid: string;
|
|
6
|
+
ext: string;
|
|
7
|
+
url?: string;
|
|
8
|
+
size: number;
|
|
9
|
+
updateTime: number;
|
|
10
|
+
taskUuid?: string;
|
|
11
|
+
taskProgress?: CloudDriveResourceConvertProgress;
|
|
12
|
+
conversion?: ConversionOption;
|
|
13
|
+
initOpen?: boolean;
|
|
14
|
+
};
|
|
15
|
+
export declare const h5Type = "ah5";
|
|
16
|
+
export declare const linkType = "alf";
|
|
17
|
+
export declare const imageTypes: string[];
|
|
18
|
+
export declare const mediaVideoTypes: string[];
|
|
19
|
+
export declare const mediaAudioTypes: string[];
|
|
20
|
+
export declare const convertableTypes: string[];
|
|
21
|
+
export declare const convertableDynamicTypes: string[];
|
|
22
|
+
export declare const supportedTypes: string[];
|
|
23
|
+
export declare const createCloudResource: (data: CourseWareItem) => CloudDriveResource | never;
|
|
24
|
+
export declare const conversionOption: (ext: string, scale?: number | undefined) => ConversionOption | undefined;
|
|
25
|
+
export declare const extractFileExt: (name: string) => string | undefined;
|
|
26
|
+
export declare const fileExt2ContentType: (fileExt: string) => string;
|