call-live-sdk 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/dist/api/index.d.ts +438 -0
- package/dist/api/request.d.ts +39 -0
- package/dist/assets/style.css +1 -0
- package/dist/call-live-sdk.es.js +263460 -0
- package/dist/call-live-sdk.umd.js +1 -0
- package/dist/chunks/Empty-BDMct_Gn.js +4 -0
- package/dist/chunks/queen-MdxXL6oM.js +4172 -0
- package/dist/chunks/queen-full-CQOoyRsi.js +4288 -0
- package/dist/chunks/queen-lite-B9oBZ9sm.js +4226 -0
- package/dist/chunks/queen-pro-RFAnqVlR.js +4139 -0
- package/dist/chunks/queen-simd-full-ra8nUvBN.js +4288 -0
- package/dist/chunks/queen-simd-lite-CXQWc1UV.js +4224 -0
- package/dist/chunks/queen-simd-pro-DVcT-lDD.js +4137 -0
- package/dist/chunks/queen-simd-uc5TO6ZA.js +4170 -0
- package/dist/com_feiyao_official.auth +0 -0
- package/dist/components/AudienceList.d.ts +5 -0
- package/dist/components/BrowserNotSupported.d.ts +12 -0
- package/dist/components/Call/index.d.ts +3 -0
- package/dist/components/CallGridLayout.d.ts +29 -0
- package/dist/components/CallSingleColumnLayout.d.ts +21 -0
- package/dist/components/CallUserList.d.ts +13 -0
- package/dist/components/CallUserVideo.d.ts +33 -0
- package/dist/components/CanvasCamera.d.ts +5 -0
- package/dist/components/CanvasUploadAudio.d.ts +2 -0
- package/dist/components/CanvasUploadVideo.d.ts +3 -0
- package/dist/components/CanvasVideoSlot.d.ts +14 -0
- package/dist/components/ConfigsInfo.d.ts +2 -0
- package/dist/components/ControlBottom.d.ts +2 -0
- package/dist/components/CountDown.d.ts +4 -0
- package/dist/components/Counter/index.d.ts +6 -0
- package/dist/components/DocumentControler.d.ts +3 -0
- package/dist/components/DrawingTools/ColorPicker.d.ts +9 -0
- package/dist/components/DrawingTools/DrawingToolbar.d.ts +27 -0
- package/dist/components/DrawingTools/LayoutSwitcher.d.ts +9 -0
- package/dist/components/DrawingTools/PreviewModal.d.ts +7 -0
- package/dist/components/DrawingTools/ShapeTypePicker.d.ts +9 -0
- package/dist/components/DrawingTools/SizePicker.d.ts +9 -0
- package/dist/components/DrawingTools/TextSizePicker.d.ts +9 -0
- package/dist/components/DrawingTools/ToolOption.d.ts +11 -0
- package/dist/components/DrawingTools/index.d.ts +8 -0
- package/dist/components/ElementList.d.ts +11 -0
- package/dist/components/Emoji.d.ts +2 -0
- package/dist/components/EnvExample.d.ts +7 -0
- package/dist/components/ErrorPage/ErrorPage.d.ts +8 -0
- package/dist/components/GlobalErrorBoundary.d.ts +60 -0
- package/dist/components/Guest/Guest.d.ts +3 -0
- package/dist/components/Guest/index.d.ts +2 -0
- package/dist/components/Head.d.ts +12 -0
- package/dist/components/LeaveRoom.d.ts +18 -0
- package/dist/components/LeftSidebar.d.ts +14 -0
- package/dist/components/LiveDetection.d.ts +3 -0
- package/dist/components/LivePlayer/LivePlayer.d.ts +2 -0
- package/dist/components/LivePlayer/index.d.ts +2 -0
- package/dist/components/LivePushStats.d.ts +2 -0
- package/dist/components/LiveWaitingRoom/LiveWaitingRoom.d.ts +10 -0
- package/dist/components/LiveWaitingRoom/index.d.ts +2 -0
- package/dist/components/MediaSettings/AudioVisualizer.d.ts +16 -0
- package/dist/components/MediaSettings/MediaSettings.d.ts +3 -0
- package/dist/components/MediaSettings/index.d.ts +2 -0
- package/dist/components/MetaItem.d.ts +3 -0
- package/dist/components/PaginatedList/index.d.ts +2 -0
- package/dist/components/RightSidebar/RightSidebar.d.ts +4 -0
- package/dist/components/RightSidebar/components/CallComponent/CallComponent.d.ts +7 -0
- package/dist/components/RightSidebar/components/CallComponent/features/invite/components/InviteGuestModal.d.ts +22 -0
- package/dist/components/RightSidebar/components/CallComponent/features/meeting/components/CallBottomActions.d.ts +15 -0
- package/dist/components/RightSidebar/components/CallComponent/features/meeting/components/CallControls.d.ts +15 -0
- package/dist/components/RightSidebar/components/CallComponent/features/meeting/components/MeetingUserList.d.ts +14 -0
- package/dist/components/RightSidebar/components/CallComponent/features/meeting/hooks/useCallConfig.d.ts +18 -0
- package/dist/components/RightSidebar/components/CallComponent/features/meeting/hooks/useOnlineUsers.d.ts +9 -0
- package/dist/components/RightSidebar/components/CallComponent/features/meeting/hooks/useUserActions.d.ts +6 -0
- package/dist/components/RightSidebar/components/CallComponent/features/waiting/components/WaitingUserList.d.ts +11 -0
- package/dist/components/RightSidebar/components/CallComponent/index.d.ts +3 -0
- package/dist/components/RightSidebar/components/CallComponent/shared/ui/CallUser.d.ts +14 -0
- package/dist/components/RightSidebar/components/CallComponent/shared/ui/ErrorBoundary.d.ts +22 -0
- package/dist/components/RightSidebar/components/CallComponent/shared/ui/LoadingSpinner.d.ts +19 -0
- package/dist/components/RightSidebar/components/CallComponent/types/index.d.ts +55 -0
- package/dist/components/RightSidebar/components/ChatComponent.d.ts +2 -0
- package/dist/components/RightSidebar/components/Prohibition.d.ts +2 -0
- package/dist/components/RightSidebar/components/TeamComponent.d.ts +2 -0
- package/dist/components/RightSidebar/index.d.ts +2 -0
- package/dist/components/RtcJoomRoom/RtcJoomRoom.d.ts +4 -0
- package/dist/components/RtcJoomRoom/components/InviteConfirmModal.d.ts +28 -0
- package/dist/components/RtcJoomRoom/hooks/useInviteConfirm.d.ts +40 -0
- package/dist/components/RtcJoomRoom/index.d.ts +12 -0
- package/dist/components/RtcJoomRoom/types.d.ts +333 -0
- package/dist/components/RtcJoomRoom/useMessageReceiver.d.ts +38 -0
- package/dist/components/RtcJoomRoom/useMessageSender.d.ts +28 -0
- package/dist/components/RtcJoomRoom/useRoomMessageHandler.d.ts +205 -0
- package/dist/components/ScenePanel.d.ts +14 -0
- package/dist/components/SourcePanel.d.ts +12 -0
- package/dist/components/UploadDocumentFrom/EasyCrop.d.ts +7 -0
- package/dist/components/UploadDocumentFrom/constants.d.ts +7 -0
- package/dist/components/UploadDocumentFrom/exports.d.ts +5 -0
- package/dist/components/UploadDocumentFrom/hooks/useLibrary.d.ts +41 -0
- package/dist/components/UploadDocumentFrom/index.d.ts +8 -0
- package/dist/components/UploadImageFrom/EasyCrop.d.ts +7 -0
- package/dist/components/UploadImageFrom/constants.d.ts +7 -0
- package/dist/components/UploadImageFrom/hooks/useImageLibrary.d.ts +39 -0
- package/dist/components/UploadImageFrom/index.d.ts +41 -0
- package/dist/components/UploadImageFrom/types.d.ts +39 -0
- package/dist/components/UploadImageFromV1/EasyCrop.d.ts +7 -0
- package/dist/components/UploadImageFromV1/constants.d.ts +7 -0
- package/dist/components/UploadImageFromV1/index.d.ts +3 -0
- package/dist/components/UploadImageFromV1/types.d.ts +39 -0
- package/dist/components/UserInfo.d.ts +7 -0
- package/dist/components/autoPlayModal/index.d.ts +12 -0
- package/dist/hooks/useCallUserPagination.d.ts +58 -0
- package/dist/hooks/useJoinRoomCanvas.d.ts +20 -0
- package/dist/hooks/useVideoElementDetector.d.ts +37 -0
- package/dist/index.d.ts +6 -0
- package/dist/main.d.ts +1 -0
- package/dist/noProcess.png +0 -0
- package/dist/pages/CallHome/CallHome.d.ts +4 -0
- package/dist/pages/CallHome/index.d.ts +2 -0
- package/dist/pages/Login/Login.d.ts +13 -0
- package/dist/pages/Login/index.d.ts +2 -0
- package/dist/pages/MobileLive/MobileLive.d.ts +13 -0
- package/dist/pages/MobileLive/components/DeviceSelectionModal.d.ts +31 -0
- package/dist/pages/MobileLive/components/DeviceSettingsModal.d.ts +42 -0
- package/dist/pages/MobileLive/components/MeetingListModal.d.ts +16 -0
- package/dist/pages/MobileLive/components/MobileControlBar.d.ts +29 -0
- package/dist/pages/MobileLive/components/MobileHeader.d.ts +34 -0
- package/dist/pages/MobileLive/components/PageIndicator.d.ts +29 -0
- package/dist/pages/MobileLive/components/UserVideoContainer.d.ts +31 -0
- package/dist/pages/MobileLive/components/VideoSwipeContainer.d.ts +33 -0
- package/dist/pages/MobileLive/hooks/useWakeLock.d.ts +52 -0
- package/dist/pages/MobileLive/index.d.ts +2 -0
- package/dist/pages/MobileLive/unocssUtils.d.ts +1 -0
- package/dist/pages/VoiceChatLive/VoiceChat.d.ts +4 -0
- package/dist/pages/VoiceChatLive/index.d.ts +2 -0
- package/dist/sdk/index.d.ts +40 -0
- package/dist/stores/activitytype.d.ts +48 -0
- package/dist/stores/call.d.ts +6 -0
- package/dist/stores/callStore.d.ts +225 -0
- package/dist/stores/commentChatUrl.d.ts +6 -0
- package/dist/stores/commentRtmpStats.d.ts +6 -0
- package/dist/stores/commentSocket.d.ts +26 -0
- package/dist/stores/counterStore.d.ts +9 -0
- package/dist/stores/currentUser.d.ts +6 -0
- package/dist/stores/drawingToolsStore.d.ts +62 -0
- package/dist/stores/guest.d.ts +8 -0
- package/dist/stores/liveInfo.d.ts +21 -0
- package/dist/stores/livepushcode.d.ts +37 -0
- package/dist/stores/sdkStore.d.ts +44 -0
- package/dist/types/sdk.d.ts +42 -0
- package/dist/utils/common.d.ts +10 -0
- package/dist/utils/env.d.ts +35 -0
- package/dist/utils/eventbus.d.ts +2 -0
- package/dist/utils/resource.d.ts +9 -0
- package/dist/utils/utiles.d.ts +19 -0
- package/dist/utils/variable.d.ts +25 -0
- package/package.json +81 -0
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import './Login.less';
|
|
3
|
+
/**
|
|
4
|
+
* 网页直播登录组件
|
|
5
|
+
*
|
|
6
|
+
* 该组件负责处理用户登录验证和RTC配置获取,
|
|
7
|
+
* 根据直播间状态自动导航到相应的直播页面
|
|
8
|
+
*
|
|
9
|
+
* @component
|
|
10
|
+
* @returns {JSX.Element} 登录表单组件
|
|
11
|
+
*/
|
|
12
|
+
declare const WebLiveLogin: React.FC;
|
|
13
|
+
export default WebLiveLogin;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import './MobileLive.css';
|
|
3
|
+
interface MobileLiveProps {
|
|
4
|
+
className?: string;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* 移动端直播组件
|
|
8
|
+
* 支持宫格模式和主画面+列表模式的布局切换
|
|
9
|
+
* 包含性能优化和响应式设计
|
|
10
|
+
* 集成防息屏功能,确保直播过程中屏幕保持常亮
|
|
11
|
+
*/
|
|
12
|
+
declare const MobileLive: React.FC<MobileLiveProps>;
|
|
13
|
+
export default MobileLive;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* 设备选择弹窗Props接口
|
|
4
|
+
*/
|
|
5
|
+
interface DeviceSelectionModalProps {
|
|
6
|
+
/** 是否显示弹窗 */
|
|
7
|
+
visible: boolean;
|
|
8
|
+
/** 关闭弹窗回调 */
|
|
9
|
+
onClose: () => void;
|
|
10
|
+
/** 设备选择完成回调 */
|
|
11
|
+
onOk?: (audioDeviceId: string, videoDeviceId: string) => void;
|
|
12
|
+
/** 当前选中的音频设备ID */
|
|
13
|
+
currentAudioDeviceId?: string;
|
|
14
|
+
/** 当前选中的视频设备ID */
|
|
15
|
+
currentVideoDeviceId?: string;
|
|
16
|
+
/** 自定义样式类名 */
|
|
17
|
+
className?: string;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* 设备选择弹窗组件
|
|
21
|
+
* 用于选择麦克风和摄像头设备
|
|
22
|
+
*
|
|
23
|
+
* @features
|
|
24
|
+
* - 枚举可用的音视频设备
|
|
25
|
+
* - 支持设备选择和切换
|
|
26
|
+
* - 实时预览选中设备
|
|
27
|
+
* - 设备权限检测
|
|
28
|
+
* - 响应式设计适配移动端
|
|
29
|
+
*/
|
|
30
|
+
declare const DeviceSelectionModal: React.FC<DeviceSelectionModalProps>;
|
|
31
|
+
export default DeviceSelectionModal;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* 设备权限状态枚举
|
|
4
|
+
*/
|
|
5
|
+
type PermissionState = 'granted' | 'denied' | 'prompt' | 'checking' | 'error';
|
|
6
|
+
/**
|
|
7
|
+
* 设备权限信息接口
|
|
8
|
+
*/
|
|
9
|
+
interface DevicePermission {
|
|
10
|
+
/** 权限状态 */
|
|
11
|
+
state: PermissionState;
|
|
12
|
+
/** 错误信息 */
|
|
13
|
+
error?: string;
|
|
14
|
+
/** 是否支持该设备类型 */
|
|
15
|
+
supported: boolean;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* 设备权限检测弹窗Props接口
|
|
19
|
+
*/
|
|
20
|
+
interface DevicePermissionModalProps {
|
|
21
|
+
/** 是否显示弹窗 */
|
|
22
|
+
visible: boolean;
|
|
23
|
+
/** 关闭弹窗回调 */
|
|
24
|
+
onClose: () => void;
|
|
25
|
+
/** 权限检测完成回调 */
|
|
26
|
+
onPermissionResult?: (camera: DevicePermission, microphone: DevicePermission) => void;
|
|
27
|
+
/** 自定义样式类名 */
|
|
28
|
+
className?: string;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* 设备权限检测弹窗组件
|
|
32
|
+
* 检测和显示麦克风、摄像头的权限状态
|
|
33
|
+
*
|
|
34
|
+
* @features
|
|
35
|
+
* - 摄像头权限检测
|
|
36
|
+
* - 麦克风权限检测
|
|
37
|
+
* - 权限状态实时显示
|
|
38
|
+
* - 重新检测功能
|
|
39
|
+
* - 权限引导提示
|
|
40
|
+
*/
|
|
41
|
+
declare const DevicePermissionModal: React.FC<DevicePermissionModalProps>;
|
|
42
|
+
export default DevicePermissionModal;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* 会议列表弹窗组件Props接口
|
|
4
|
+
*/
|
|
5
|
+
interface MeetingListModalProps {
|
|
6
|
+
/** 弹窗显示状态 */
|
|
7
|
+
visible: boolean;
|
|
8
|
+
/** 关闭弹窗回调 */
|
|
9
|
+
onClose: () => void;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* 会议列表弹窗组件
|
|
13
|
+
* 显示会议中的用户列表,支持用户名称编辑
|
|
14
|
+
*/
|
|
15
|
+
declare const MeetingListModal: React.FC<MeetingListModalProps>;
|
|
16
|
+
export default MeetingListModal;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* 移动端控制栏组件Props接口
|
|
4
|
+
*/
|
|
5
|
+
interface MobileControlBarProps {
|
|
6
|
+
/** 切换屏幕共享回调 */
|
|
7
|
+
onToggleScreenShare: () => void;
|
|
8
|
+
/** 打开设备设置回调 */
|
|
9
|
+
onOpenSettings?: () => void;
|
|
10
|
+
/** 是否使用后置摄像头 */
|
|
11
|
+
isBackCamera: boolean;
|
|
12
|
+
/** 设置摄像头状态的回调函数 */
|
|
13
|
+
setIsBackCamera: React.Dispatch<React.SetStateAction<boolean>>;
|
|
14
|
+
/** 自定义样式类名 */
|
|
15
|
+
className?: string;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* 移动端控制栏组件
|
|
19
|
+
* 提供音视频控制、屏幕共享、设备设置等功能
|
|
20
|
+
*
|
|
21
|
+
* @features
|
|
22
|
+
* - 音频开关控制
|
|
23
|
+
* - 视频开关控制
|
|
24
|
+
* - 屏幕共享控制
|
|
25
|
+
* - 会议成员列表
|
|
26
|
+
* - 设备设置入口
|
|
27
|
+
*/
|
|
28
|
+
declare const MobileControlBar: React.FC<MobileControlBarProps>;
|
|
29
|
+
export default MobileControlBar;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* 移动端头部组件Props接口
|
|
4
|
+
*/
|
|
5
|
+
interface MobileHeaderProps {
|
|
6
|
+
/** 房间ID */
|
|
7
|
+
roomId?: string;
|
|
8
|
+
/** 在线用户数量 */
|
|
9
|
+
userCount?: number;
|
|
10
|
+
/** 通话时长(秒) */
|
|
11
|
+
duration?: number;
|
|
12
|
+
/** 网络状态 */
|
|
13
|
+
networkStatus?: 'good' | 'fair' | 'poor' | 'disconnected';
|
|
14
|
+
/** 更多操作回调 */
|
|
15
|
+
onMore?: () => void;
|
|
16
|
+
/** 自定义样式类名 */
|
|
17
|
+
className?: string;
|
|
18
|
+
/** 直播间名称 */
|
|
19
|
+
title?: string;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* 移动端头部组件
|
|
23
|
+
* 显示房间信息、通话状态、网络状态等
|
|
24
|
+
*
|
|
25
|
+
* @features
|
|
26
|
+
* - 房间ID显示
|
|
27
|
+
* - 在线用户数量
|
|
28
|
+
* - 通话时长计时
|
|
29
|
+
* - 网络状态指示
|
|
30
|
+
* - 返回按钮
|
|
31
|
+
* - 更多操作入口
|
|
32
|
+
*/
|
|
33
|
+
declare const MobileHeader: React.FC<MobileHeaderProps>;
|
|
34
|
+
export default MobileHeader;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* 页面指示器组件Props接口
|
|
4
|
+
*/
|
|
5
|
+
interface PageIndicatorProps {
|
|
6
|
+
/** 当前页面索引 */
|
|
7
|
+
currentPage: number;
|
|
8
|
+
/** 总页数 */
|
|
9
|
+
totalPages: number;
|
|
10
|
+
/** 页面切换回调函数 */
|
|
11
|
+
onPageChange?: (pageIndex: number) => void;
|
|
12
|
+
/** 容器类名 */
|
|
13
|
+
className?: string;
|
|
14
|
+
/** 是否禁用点击功能 */
|
|
15
|
+
disabled?: boolean;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* 页面指示器组件
|
|
19
|
+
* 显示当前页面状态的圆点指示器,支持点击切换页面
|
|
20
|
+
*
|
|
21
|
+
* @features
|
|
22
|
+
* - 可视化显示当前页面位置
|
|
23
|
+
* - 支持点击指示点切换页面
|
|
24
|
+
* - 触摸友好的交互设计
|
|
25
|
+
* - 流畅的动画过渡效果
|
|
26
|
+
* - 响应式设计适配移动端
|
|
27
|
+
*/
|
|
28
|
+
declare const PageIndicator: React.FC<PageIndicatorProps>;
|
|
29
|
+
export default PageIndicator;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { CallUser } from '@/stores/callStore';
|
|
3
|
+
/**
|
|
4
|
+
* 用户视频容器组件的属性接口
|
|
5
|
+
*/
|
|
6
|
+
interface UserVideoContainerProps {
|
|
7
|
+
/** 用户信息对象 */
|
|
8
|
+
user: CallUser;
|
|
9
|
+
/** 是否被选中状态 */
|
|
10
|
+
isSelected?: boolean;
|
|
11
|
+
/** 点击事件回调 */
|
|
12
|
+
onClick?: (type: string) => void;
|
|
13
|
+
/** 自定义CSS类名 */
|
|
14
|
+
className?: string;
|
|
15
|
+
/** 视频ID - 用于标识视频元素 */
|
|
16
|
+
videoId?: string;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* 用户视频容器组件
|
|
20
|
+
* 负责展示单个用户的视频画面、状态指示器和用户信息
|
|
21
|
+
*
|
|
22
|
+
* @features
|
|
23
|
+
* - 视频画面展示/头像占位
|
|
24
|
+
* - 音视频状态指示器
|
|
25
|
+
* - 屏幕共享状态显示
|
|
26
|
+
* - 说话状态动画
|
|
27
|
+
* - 选中状态高亮
|
|
28
|
+
* - 定时检测视频元素并自动设置远程视频播放器
|
|
29
|
+
*/
|
|
30
|
+
declare const UserVideoContainer: React.FC<UserVideoContainerProps>;
|
|
31
|
+
export default UserVideoContainer;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { CallUser } from '@/stores/callStore';
|
|
3
|
+
interface VideoSwipeContainerProps {
|
|
4
|
+
/** 所有用户列表 */
|
|
5
|
+
allUsers: CallUser[];
|
|
6
|
+
/** 当前用户信息 */
|
|
7
|
+
currentUser: CallUser;
|
|
8
|
+
/** 主画布ID - 对应callStore中的mainCanvasId */
|
|
9
|
+
mainCanvasId: string;
|
|
10
|
+
/** 视频选择回调 */
|
|
11
|
+
onVideoSelect: (videoId: string) => void;
|
|
12
|
+
/** 自定义样式类名 */
|
|
13
|
+
className?: string;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* 视频滑动容器组件
|
|
17
|
+
* 支持两页滑动:第一页为主视频+小窗,第二页为网格布局
|
|
18
|
+
*
|
|
19
|
+
* @description
|
|
20
|
+
* - 第一页:显示主画布用户的视频作为主视频,右上角小窗显示当前用户
|
|
21
|
+
* - 第二页:网格布局显示所有用户视频
|
|
22
|
+
* - 支持触摸滑动切换页面
|
|
23
|
+
* - 主画布用户由callStore的mainCanvasId决定,与画布状态同步
|
|
24
|
+
*
|
|
25
|
+
* @features
|
|
26
|
+
* - 触摸滑动交互
|
|
27
|
+
* - 响应式网格布局
|
|
28
|
+
* - 视频选择切换
|
|
29
|
+
* - 页面指示器
|
|
30
|
+
* - 性能优化(useMemo缓存)
|
|
31
|
+
*/
|
|
32
|
+
declare const VideoSwipeContainer: React.FC<VideoSwipeContainerProps>;
|
|
33
|
+
export default VideoSwipeContainer;
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Wake Lock状态枚举
|
|
3
|
+
*/
|
|
4
|
+
export declare enum WakeLockStatus {
|
|
5
|
+
/** 未激活 */
|
|
6
|
+
INACTIVE = "inactive",
|
|
7
|
+
/** 激活中 */
|
|
8
|
+
ACTIVE = "active",
|
|
9
|
+
/** 不支持 */
|
|
10
|
+
NOT_SUPPORTED = "not_supported",
|
|
11
|
+
/** 权限被拒绝 */
|
|
12
|
+
PERMISSION_DENIED = "permission_denied",
|
|
13
|
+
/** 错误状态 */
|
|
14
|
+
ERROR = "error"
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Wake Lock Hook返回值接口
|
|
18
|
+
*/
|
|
19
|
+
interface UseWakeLockReturn {
|
|
20
|
+
/** 当前Wake Lock状态 */
|
|
21
|
+
status: WakeLockStatus;
|
|
22
|
+
/** 是否支持Wake Lock API */
|
|
23
|
+
isSupported: boolean;
|
|
24
|
+
/** 错误信息 */
|
|
25
|
+
error: string | null;
|
|
26
|
+
/** 手动请求Wake Lock */
|
|
27
|
+
requestWakeLock: () => Promise<void>;
|
|
28
|
+
/** 手动释放Wake Lock */
|
|
29
|
+
releaseWakeLock: () => Promise<void>;
|
|
30
|
+
/** 重新请求Wake Lock(用于页面重新获得焦点时) */
|
|
31
|
+
reacquireWakeLock: () => Promise<void>;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* 防止手机自动息屏的自定义Hook
|
|
35
|
+
*
|
|
36
|
+
* 功能特性:
|
|
37
|
+
* - 使用Screen Wake Lock API防止屏幕自动关闭
|
|
38
|
+
* - 兼容Android和iOS主流浏览器
|
|
39
|
+
* - 自动处理页面可见性变化
|
|
40
|
+
* - 完整的错误处理和状态管理
|
|
41
|
+
* - 支持手动控制Wake Lock的激活和释放
|
|
42
|
+
*
|
|
43
|
+
* 使用场景:
|
|
44
|
+
* - 视频通话应用
|
|
45
|
+
* - 直播应用
|
|
46
|
+
* - 长时间展示内容的应用
|
|
47
|
+
*
|
|
48
|
+
* @param autoRequest 是否在Hook初始化时自动请求Wake Lock,默认为true
|
|
49
|
+
* @returns Wake Lock相关的状态和控制方法
|
|
50
|
+
*/
|
|
51
|
+
export declare const useWakeLock: (autoRequest?: boolean) => UseWakeLockReturn;
|
|
52
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const mobileLiveStyles = "\n /* \u9875\u9762\u5207\u6362\u52A8\u753B */\n .page-left-enter {\n transform: translateX(-100%);\n }\n\n .page-left-enter-active {\n transform: translateX(0);\n transition: transform 300ms ease-in-out;\n }\n\n .page-left-exit {\n transform: translateX(0);\n }\n\n .page-left-exit-active {\n transform: translateX(-100%);\n transition: transform 300ms ease-in-out;\n }\n\n .page-right-enter {\n transform: translateX(100%);\n }\n\n .page-right-enter-active {\n transform: translateX(0);\n transition: transform 300ms ease-in-out;\n }\n\n .page-right-exit {\n transform: translateX(0);\n }\n\n .page-right-exit-active {\n transform: translateX(100%);\n transition: transform 300ms ease-in-out;\n }\n\n /* \u63A7\u5236\u680F\u52A8\u753B */\n .controls-enter {\n opacity: 0;\n transform: translateY(20px);\n }\n\n .controls-enter-active {\n opacity: 1;\n transform: translateY(0);\n transition:\n opacity 300ms ease-in-out,\n transform 300ms ease-in-out;\n }\n\n .controls-exit {\n opacity: 1;\n transform: translateY(0);\n }\n\n .controls-exit-active {\n opacity: 0;\n transform: translateY(20px);\n transition:\n opacity 300ms ease-in-out,\n transform 300ms ease-in-out;\n }\n\n /* \u5E03\u5C40\u83DC\u5355\u52A8\u753B */\n .layout-menu-enter {\n opacity: 0;\n transform: translateY(10px) scale(0.95);\n }\n\n .layout-menu-enter-active {\n opacity: 1;\n transform: translateY(0) scale(1);\n transition:\n opacity 200ms ease-in-out,\n transform 200ms ease-in-out;\n }\n\n .layout-menu-exit {\n opacity: 1;\n transform: translateY(0) scale(1);\n }\n\n .layout-menu-exit-active {\n opacity: 0;\n transform: translateY(10px) scale(0.95);\n transition:\n opacity 200ms ease-in-out,\n transform 200ms ease-in-out;\n }\n\n /* \u5E03\u5C40\u5207\u6362\u52A8\u753B */\n .layout-enter {\n opacity: 0;\n transform: scale(0.95);\n }\n\n .layout-enter-active {\n opacity: 1;\n transform: scale(1);\n transition:\n opacity 300ms ease-in-out,\n transform 300ms ease-in-out;\n }\n\n .layout-exit {\n opacity: 1;\n transform: scale(1);\n }\n\n .layout-exit-active {\n opacity: 0;\n transform: scale(0.95);\n transition:\n opacity 300ms ease-in-out,\n transform 300ms ease-in-out;\n }\n\n /* \u8BBE\u5907\u62BD\u5C49 */\n .mobile-drawer {\n position: fixed;\n bottom: 0;\n left: 0;\n right: 0;\n background-color: #2d3748;\n border-top-left-radius: 20px;\n border-top-right-radius: 20px;\n padding: 20px;\n z-index: 1001;\n max-height: 80vh;\n overflow-y: auto;\n box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.3);\n }\n\n /* \u8BBE\u5907\u8BBE\u7F6E\u62BD\u5C49\u52A8\u753B */\n .mobile-drawer-enter {\n opacity: 0;\n transform: translateY(100%);\n }\n\n .mobile-drawer-enter-active {\n opacity: 1;\n transform: translateY(0);\n transition:\n opacity 300ms ease-in-out,\n transform 300ms ease-in-out;\n }\n\n .mobile-drawer-exit {\n opacity: 1;\n transform: translateY(0);\n }\n\n .mobile-drawer-exit-active {\n opacity: 0;\n transform: translateY(100%);\n transition:\n opacity 300ms ease-in-out,\n transform 300ms ease-in-out;\n }\n\n /* \u97F3\u91CF\u6307\u793A\u5668 */\n .volume-indicator {\n position: absolute;\n top: 2px;\n left: 2px;\n width: 1px;\n height: 5px;\n background-color: rgba(255, 255, 255, 0.3);\n border-radius: 2px;\n overflow: hidden;\n }\n\n .volume-indicator .volume-bar {\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n background-color: #10b981;\n height: var(--volume, 0%);\n transition: height 0.1s ease;\n }\n";
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { CallSDKConfig, GuestSDKConfig } from '../types/sdk';
|
|
2
|
+
declare class CallLiveSdk {
|
|
3
|
+
private config;
|
|
4
|
+
private root;
|
|
5
|
+
constructor(config: CallSDKConfig);
|
|
6
|
+
/**
|
|
7
|
+
* 初始化SDK
|
|
8
|
+
*/
|
|
9
|
+
init(): void;
|
|
10
|
+
/**
|
|
11
|
+
* 渲染SDK内容
|
|
12
|
+
*/
|
|
13
|
+
private render;
|
|
14
|
+
/**
|
|
15
|
+
* 更新配置
|
|
16
|
+
*/
|
|
17
|
+
updateConfig(config: Partial<CallSDKConfig>): void;
|
|
18
|
+
/**
|
|
19
|
+
* 获取当前配置
|
|
20
|
+
*/
|
|
21
|
+
getConfig(): CallSDKConfig;
|
|
22
|
+
/**
|
|
23
|
+
* 销毁SDK
|
|
24
|
+
*/
|
|
25
|
+
destroy(): void;
|
|
26
|
+
}
|
|
27
|
+
declare class GuestCallSdk {
|
|
28
|
+
private config;
|
|
29
|
+
private root;
|
|
30
|
+
constructor(config: GuestSDKConfig);
|
|
31
|
+
/**
|
|
32
|
+
* 初始化SDK
|
|
33
|
+
*/
|
|
34
|
+
init(): void;
|
|
35
|
+
/**
|
|
36
|
+
* 渲染SDK内容
|
|
37
|
+
*/
|
|
38
|
+
private render;
|
|
39
|
+
}
|
|
40
|
+
export { CallLiveSdk, GuestCallSdk };
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
interface ActivityTypeData {
|
|
2
|
+
active_type: number;
|
|
3
|
+
[key: string]: any;
|
|
4
|
+
}
|
|
5
|
+
interface ActivityTypeStore {
|
|
6
|
+
activityType: ActivityTypeData;
|
|
7
|
+
isLoading: boolean;
|
|
8
|
+
error: string | null;
|
|
9
|
+
fetchActivityType: (live_id: number) => Promise<ActivityTypeData | undefined>;
|
|
10
|
+
setActivityType: (type: ActivityTypeData) => void;
|
|
11
|
+
getActiveType: () => number;
|
|
12
|
+
clearActivityType: () => void;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* 直播活动类型状态存储
|
|
16
|
+
* 用于管理直播活动类型的获取和状态
|
|
17
|
+
*/
|
|
18
|
+
export declare const useActivityTypeStore: import("zustand").UseBoundStore<import("zustand").StoreApi<ActivityTypeStore>>;
|
|
19
|
+
/**
|
|
20
|
+
* 获取活动类型数据的Hook
|
|
21
|
+
* @returns 活动类型数据
|
|
22
|
+
*/
|
|
23
|
+
export declare const useActivityType: () => ActivityTypeData;
|
|
24
|
+
/**
|
|
25
|
+
* 获取活动类型值的Hook
|
|
26
|
+
* @returns 活动类型值
|
|
27
|
+
*/
|
|
28
|
+
export declare const useActiveTypeValue: () => number;
|
|
29
|
+
/**
|
|
30
|
+
* 获取活动类型加载状态的Hook
|
|
31
|
+
* @returns 加载状态
|
|
32
|
+
*/
|
|
33
|
+
export declare const useActivityTypeLoading: () => boolean;
|
|
34
|
+
/**
|
|
35
|
+
* 获取活动类型错误的Hook
|
|
36
|
+
* @returns 错误信息或null
|
|
37
|
+
*/
|
|
38
|
+
export declare const useActivityTypeError: () => string;
|
|
39
|
+
/**
|
|
40
|
+
* 获取活动类型操作方法的Hook
|
|
41
|
+
* @returns 包含fetchActivityType等方法的对象
|
|
42
|
+
*/
|
|
43
|
+
export declare const useActivityTypeActions: () => {
|
|
44
|
+
fetchActivityType: (live_id: number) => Promise<ActivityTypeData | undefined>;
|
|
45
|
+
setActivityType: (type: ActivityTypeData) => void;
|
|
46
|
+
clearActivityType: () => void;
|
|
47
|
+
};
|
|
48
|
+
export {};
|