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,225 @@
|
|
|
1
|
+
import * as fabric from 'fabric';
|
|
2
|
+
import { LoginResponseData, RTCMasterConfigResponse } from '@/api';
|
|
3
|
+
/**
|
|
4
|
+
* 视频类型枚举
|
|
5
|
+
* 用于区分不同类型的视频流
|
|
6
|
+
*/
|
|
7
|
+
export declare enum VideoType {
|
|
8
|
+
/** 摄像头视频 */
|
|
9
|
+
CAMERA = "video",
|
|
10
|
+
/** 屏幕共享 */
|
|
11
|
+
SCREEN = "screen",
|
|
12
|
+
/** 主画面 */
|
|
13
|
+
MAIN = "main",
|
|
14
|
+
/** 屏幕共享主画面 */
|
|
15
|
+
SCREEN_MAIN = "screenmain",
|
|
16
|
+
/** 自视频 */
|
|
17
|
+
SELF = "self"
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* 用户状态枚举
|
|
21
|
+
* 用于标识用户在等候模式下的状态
|
|
22
|
+
*/
|
|
23
|
+
export declare enum WaitingModeState {
|
|
24
|
+
/** 未开启等候模式 */
|
|
25
|
+
NOT_ENABLED = 0,
|
|
26
|
+
/** 等候中 */
|
|
27
|
+
WAITING = 1,
|
|
28
|
+
/** 已准入 */
|
|
29
|
+
ADMITTED = 2
|
|
30
|
+
}
|
|
31
|
+
export interface CallUser extends LoginResponseData {
|
|
32
|
+
device: string;
|
|
33
|
+
isVideoDisabled?: boolean;
|
|
34
|
+
isAudioDisabled?: boolean;
|
|
35
|
+
isVideoEnabled?: boolean;
|
|
36
|
+
isAudioEnabled?: boolean;
|
|
37
|
+
isScreenEnabled?: boolean;
|
|
38
|
+
joinTime?: number;
|
|
39
|
+
waiting_mode_state: WaitingModeState;
|
|
40
|
+
videoList: [id: string, screenId: string, mainId: string];
|
|
41
|
+
isPublishStream?: boolean;
|
|
42
|
+
isVideoCapture?: boolean;
|
|
43
|
+
isSubscribeAudio?: boolean;
|
|
44
|
+
}
|
|
45
|
+
export declare enum LayoutMode {
|
|
46
|
+
MAIN_PLUS_LIST = "main_plus_list",// 主画布+连麦列表
|
|
47
|
+
GRID = "grid"
|
|
48
|
+
}
|
|
49
|
+
export interface StreamAreaConfig {
|
|
50
|
+
width: number;
|
|
51
|
+
height: number;
|
|
52
|
+
aspectRatio: number;
|
|
53
|
+
}
|
|
54
|
+
export interface LayoutCalculation {
|
|
55
|
+
mainArea: {
|
|
56
|
+
x: number;
|
|
57
|
+
y: number;
|
|
58
|
+
width: number;
|
|
59
|
+
height: number;
|
|
60
|
+
} | null;
|
|
61
|
+
callAreas: Array<{
|
|
62
|
+
x: number;
|
|
63
|
+
y: number;
|
|
64
|
+
width: number;
|
|
65
|
+
height: number;
|
|
66
|
+
userId: string;
|
|
67
|
+
domId?: string;
|
|
68
|
+
nickname?: string;
|
|
69
|
+
device: string;
|
|
70
|
+
isVideoEnabled?: boolean;
|
|
71
|
+
isAudioEnabled?: boolean;
|
|
72
|
+
isScreenEnabled?: boolean;
|
|
73
|
+
}>;
|
|
74
|
+
}
|
|
75
|
+
export type RuleType = '' | 'main' | 'sub';
|
|
76
|
+
interface Scene {
|
|
77
|
+
fabricObject: fabric.Object[];
|
|
78
|
+
documentInfo: any;
|
|
79
|
+
audioStates: Map<any, any>;
|
|
80
|
+
documentIndex: number;
|
|
81
|
+
documentScrollLeft: number;
|
|
82
|
+
}
|
|
83
|
+
interface Scenes {
|
|
84
|
+
[key: string]: Scene;
|
|
85
|
+
}
|
|
86
|
+
export interface CallConfig extends RTCMasterConfigResponse, LoginResponseData {
|
|
87
|
+
rule: RuleType;
|
|
88
|
+
isCall: boolean;
|
|
89
|
+
isAudioEnabled: boolean;
|
|
90
|
+
isScreenEnabled: boolean;
|
|
91
|
+
isVideoEnabled: boolean;
|
|
92
|
+
micConnectPermission: 0 | 1;
|
|
93
|
+
backgroundImg: string;
|
|
94
|
+
media_devices: {
|
|
95
|
+
cameraId: string;
|
|
96
|
+
microphoneId: string;
|
|
97
|
+
mirrorEnabled: boolean;
|
|
98
|
+
} | null;
|
|
99
|
+
}
|
|
100
|
+
export interface CallStoreState {
|
|
101
|
+
getter: () => Partial<CallStoreState>;
|
|
102
|
+
getInitialScenes: () => Scenes;
|
|
103
|
+
fabricObjects: fabric.Object[];
|
|
104
|
+
setFabricObjects: (objects: fabric.Object[] | ((prev: fabric.Object[]) => fabric.Object[])) => void;
|
|
105
|
+
documentInfo: any;
|
|
106
|
+
setDocumentInfo: (info: any) => void;
|
|
107
|
+
currentScene: string;
|
|
108
|
+
setCurrentScene: (scene: string) => void;
|
|
109
|
+
documentScrollLeft: number;
|
|
110
|
+
setDocumentScrollLeft: (value: number) => void;
|
|
111
|
+
documentIndex: number;
|
|
112
|
+
setDocumentIndex: (value: number) => void;
|
|
113
|
+
scenes: Scenes;
|
|
114
|
+
setScenes: (scenes: Scenes | ((prev: Scenes) => Scenes)) => void;
|
|
115
|
+
updateScene: (sceneKey: string, scene: Partial<Scene> | ((prev: Scene) => Partial<Scene>)) => void;
|
|
116
|
+
callConfig: CallConfig;
|
|
117
|
+
callCurrentUser: CallUser | undefined;
|
|
118
|
+
mainCanvasId: string;
|
|
119
|
+
currentMainVideoType: Exclude<VideoType, VideoType.CAMERA>;
|
|
120
|
+
isVoiceChatOpen: boolean;
|
|
121
|
+
isRightSidebarCollapsed: boolean;
|
|
122
|
+
callUsers: CallUser[];
|
|
123
|
+
layoutMode: LayoutMode;
|
|
124
|
+
rtc: any;
|
|
125
|
+
fabricInstance: any;
|
|
126
|
+
compositeCanvasRef: HTMLCanvasElement | null;
|
|
127
|
+
compositeContextRef: CanvasRenderingContext2D | null;
|
|
128
|
+
callAudioStreamsRef: MediaStream[];
|
|
129
|
+
videoList: (CallUser & {
|
|
130
|
+
domId: string;
|
|
131
|
+
})[];
|
|
132
|
+
callUsersCurrentPageRef: number;
|
|
133
|
+
offscreenCanvasRef: HTMLCanvasElement | null;
|
|
134
|
+
offscreenContextRef: CanvasRenderingContext2D | null;
|
|
135
|
+
backgroundImageRef: HTMLImageElement | null;
|
|
136
|
+
lastBackgroundImgUrlRef: string;
|
|
137
|
+
toggleRightSidebar: (collapsed?: boolean) => void;
|
|
138
|
+
removeCallUser: (userId: string) => void;
|
|
139
|
+
kickRoomUser: (userId: string, forbiddenInterval?: number) => Promise<void>;
|
|
140
|
+
updateCallConfig: (updates: Partial<CallConfig>) => void;
|
|
141
|
+
updateCallUser: (userId: string, updates: Partial<CallUser>) => CallUser | undefined;
|
|
142
|
+
activeUsers: CallUser[];
|
|
143
|
+
waitingUsers: CallUser[];
|
|
144
|
+
joinCallUser: (remoteUser?: CallUser) => CallUser | false;
|
|
145
|
+
addRemoteUser: (remoteUser: CallUser) => CallUser | false;
|
|
146
|
+
addLocalUser: () => CallUser | false;
|
|
147
|
+
isUserExists: (rtc_userid: string) => boolean;
|
|
148
|
+
validateCallConfig: () => {
|
|
149
|
+
isValid: boolean;
|
|
150
|
+
errors: string[];
|
|
151
|
+
};
|
|
152
|
+
leave: (liveId?: number, agentId?: number) => void;
|
|
153
|
+
leaveRemoteUser: (userId: string) => void;
|
|
154
|
+
switchLayoutMode: (mode: LayoutMode) => void;
|
|
155
|
+
calculateLayout: () => LayoutCalculation;
|
|
156
|
+
calculateMainPlusListLayout: (width: number, height: number) => LayoutCalculation;
|
|
157
|
+
calculateGridLayout: (width: number, height: number) => LayoutCalculation;
|
|
158
|
+
calculateMainOnlyLayout: (width: number, height: number) => LayoutCalculation;
|
|
159
|
+
initCompositeCanvas: () => HTMLCanvasElement | null;
|
|
160
|
+
renderCompositeFrameSmooth: () => void;
|
|
161
|
+
setMainCanvasId: (mainCanvasId: string) => void;
|
|
162
|
+
setCallUsers: (callUsers: CallUser[]) => void;
|
|
163
|
+
setCallConfig: (callConfig: CallConfig) => void;
|
|
164
|
+
setIsVoiceChatOpen: (isVoiceChatOpen: boolean) => void;
|
|
165
|
+
setCallCurrentUser: (callCurrentUser: CallUser | undefined) => void;
|
|
166
|
+
setCurrentMainVideoType: (currentMainVideoType: Exclude<VideoType, VideoType.CAMERA>) => void;
|
|
167
|
+
getCallConfig: () => CallConfig;
|
|
168
|
+
setRtc: (rtc: any) => void;
|
|
169
|
+
setFabricInstance: (fabricInstance: any) => void;
|
|
170
|
+
setCompositeCanvasRef: (compositeCanvasRef: HTMLCanvasElement | null) => void;
|
|
171
|
+
setCompositeContextRef: (compositeContextRef: CanvasRenderingContext2D | null) => void;
|
|
172
|
+
setCallAudioStreamsRef: (callAudioStreamsRef: MediaStream[]) => void;
|
|
173
|
+
setVideoList: (videoList: (CallUser & {
|
|
174
|
+
domId: string;
|
|
175
|
+
})[]) => void;
|
|
176
|
+
setCallUsersCurrentPageRef: (callUsersCurrentPageRef: number) => void;
|
|
177
|
+
setOffscreenCanvasRef: (offscreenCanvasRef: HTMLCanvasElement | null) => void;
|
|
178
|
+
setOffscreenContextRef: (offscreenContextRef: CanvasRenderingContext2D | null) => void;
|
|
179
|
+
setBackgroundImageRef: (backgroundImageRef: HTMLImageElement | null) => void;
|
|
180
|
+
setLastBackgroundImgUrlRef: (lastBackgroundImgUrlRef: string) => void;
|
|
181
|
+
filterCallUsers: (a: Partial<CallUser>) => CallUser[];
|
|
182
|
+
drawUserVideoContent: (context: CanvasRenderingContext2D, videoElement: HTMLVideoElement, user: any, x: number, y: number, width: number, height: number) => void;
|
|
183
|
+
drawUserInfo: (context: CanvasRenderingContext2D, user: any, x: number, y: number, width: number, height: number) => void;
|
|
184
|
+
drawStatusIndicators: (context: CanvasRenderingContext2D, user: any, x: number, y: number, width: number) => void;
|
|
185
|
+
drawStatusIndicator: (context: CanvasRenderingContext2D, x: number, y: number, width: number, statusY: number, offset: number, type: 'audio' | 'video') => void;
|
|
186
|
+
renderEmptyUserArea: (context: CanvasRenderingContext2D, user: any, x: number, y: number, width: number, height: number) => void;
|
|
187
|
+
canvasRequestRenderAll: () => void;
|
|
188
|
+
findCallUserById: (id: string) => CallUser | undefined;
|
|
189
|
+
changeAudioState: (id: string, isAudio: boolean) => void;
|
|
190
|
+
changeVideoState: (id: string, isVideo: boolean) => void;
|
|
191
|
+
toggleAudio: (isAudio?: boolean) => Promise<{
|
|
192
|
+
success: boolean;
|
|
193
|
+
message: string;
|
|
194
|
+
isEnabled?: boolean;
|
|
195
|
+
error?: any;
|
|
196
|
+
}>;
|
|
197
|
+
toggleVideo: (isVideo?: boolean) => Promise<{
|
|
198
|
+
success: boolean;
|
|
199
|
+
message: string;
|
|
200
|
+
isEnabled?: boolean;
|
|
201
|
+
error?: any;
|
|
202
|
+
}>;
|
|
203
|
+
toggleScreenShare: (isScreen?: boolean) => Promise<{
|
|
204
|
+
success: boolean;
|
|
205
|
+
message: string;
|
|
206
|
+
isEnabled?: boolean;
|
|
207
|
+
error?: any;
|
|
208
|
+
}>;
|
|
209
|
+
callAudioMixing: () => void;
|
|
210
|
+
handleRemoteUserPublishScreen: (userId: string, isPublishing: boolean) => void;
|
|
211
|
+
handleRemoteUserUnpublishScreen: (event: {
|
|
212
|
+
userId: string;
|
|
213
|
+
mediaType: any;
|
|
214
|
+
}) => Promise<void>;
|
|
215
|
+
}
|
|
216
|
+
export declare const useCallStore: import("zustand").UseBoundStore<Omit<import("zustand").StoreApi<CallStoreState>, "subscribe"> & {
|
|
217
|
+
subscribe: {
|
|
218
|
+
(listener: (selectedState: CallStoreState, previousSelectedState: CallStoreState) => void): () => void;
|
|
219
|
+
<U>(selector: (state: CallStoreState) => U, listener: (selectedState: U, previousSelectedState: U) => void, options?: {
|
|
220
|
+
equalityFn?: (a: U, b: U) => boolean;
|
|
221
|
+
fireImmediately?: boolean;
|
|
222
|
+
}): () => void;
|
|
223
|
+
};
|
|
224
|
+
}>;
|
|
225
|
+
export {};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
interface CommentChatUrlState {
|
|
2
|
+
webTransportUrl: string;
|
|
3
|
+
fetChatUrl: (params: any) => Promise<void>;
|
|
4
|
+
}
|
|
5
|
+
declare const useCommentChatUrlStore: import("zustand").UseBoundStore<import("zustand").StoreApi<CommentChatUrlState>>;
|
|
6
|
+
export default useCommentChatUrlStore;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
interface MessageData {
|
|
2
|
+
type: 'comment_delete' | 'chat_forward' | 'activity_config_change' | string;
|
|
3
|
+
data: Record<string, any>;
|
|
4
|
+
}
|
|
5
|
+
interface WebSocketMessage {
|
|
6
|
+
data: string;
|
|
7
|
+
}
|
|
8
|
+
interface CommentSocketState {
|
|
9
|
+
chat_url: string;
|
|
10
|
+
commentItem: Record<string, any>;
|
|
11
|
+
commentDeleteItem: Record<string, any>;
|
|
12
|
+
activityConfigChange: Record<string, any>;
|
|
13
|
+
rtmUrl: string;
|
|
14
|
+
webTransportUrl: string;
|
|
15
|
+
readyState: number;
|
|
16
|
+
latestMessage: WebSocketMessage | undefined;
|
|
17
|
+
sendMessage: ((message: string) => void) | undefined;
|
|
18
|
+
disconnect: (() => void) | undefined;
|
|
19
|
+
fetChatUrl: (id: number) => Promise<void>;
|
|
20
|
+
setCallback: (callback: (message: MessageData['data']) => void) => void;
|
|
21
|
+
}
|
|
22
|
+
declare const useCommentSocketStore: import("zustand").UseBoundStore<import("zustand").StoreApi<CommentSocketState>>;
|
|
23
|
+
export declare function useCommentSocket(): CommentSocketState;
|
|
24
|
+
export declare const getCommentSocketState: () => CommentSocketState;
|
|
25
|
+
export declare const setCommentSocketState: (partial: CommentSocketState | Partial<CommentSocketState> | ((state: CommentSocketState) => CommentSocketState | Partial<CommentSocketState>), replace?: boolean | undefined) => void;
|
|
26
|
+
export default useCommentSocketStore;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
interface CounterState {
|
|
2
|
+
count: number;
|
|
3
|
+
increment: () => void;
|
|
4
|
+
decrement: () => void;
|
|
5
|
+
reset: () => void;
|
|
6
|
+
incrementBy: (amount: number) => void;
|
|
7
|
+
}
|
|
8
|
+
export declare const useCounterStore: import("zustand").UseBoundStore<import("zustand").StoreApi<CounterState>>;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
interface DrawingToolsState {
|
|
2
|
+
selectedTool: number;
|
|
3
|
+
setSelectedTool: (tool: number) => void;
|
|
4
|
+
penSize: number;
|
|
5
|
+
setPenSize: (size: number | ((prev: number) => number)) => void;
|
|
6
|
+
penColor: string;
|
|
7
|
+
setPenColor: (color: string | ((prev: string) => string)) => void;
|
|
8
|
+
penSizeRef: {
|
|
9
|
+
current: number;
|
|
10
|
+
};
|
|
11
|
+
penColorRef: {
|
|
12
|
+
current: string;
|
|
13
|
+
};
|
|
14
|
+
laserPenSize: number;
|
|
15
|
+
setLaserPenSize: (size: number | ((prev: number) => number)) => void;
|
|
16
|
+
laserPenColor: string;
|
|
17
|
+
setLaserPenColor: (color: string | ((prev: string) => string)) => void;
|
|
18
|
+
laserPenSizeRef: {
|
|
19
|
+
current: number;
|
|
20
|
+
};
|
|
21
|
+
laserPenColorRef: {
|
|
22
|
+
current: string;
|
|
23
|
+
};
|
|
24
|
+
shapeSize: number;
|
|
25
|
+
setShapeSize: (size: number | ((prev: number) => number)) => void;
|
|
26
|
+
shapeType: string;
|
|
27
|
+
setShapeType: (type: string | ((prev: string) => string)) => void;
|
|
28
|
+
shapeColor: string;
|
|
29
|
+
setShapeColor: (color: string | ((prev: string) => string)) => void;
|
|
30
|
+
shapeSizeRef: {
|
|
31
|
+
current: number;
|
|
32
|
+
};
|
|
33
|
+
shapeTypeRef: {
|
|
34
|
+
current: string;
|
|
35
|
+
};
|
|
36
|
+
shapeColorRef: {
|
|
37
|
+
current: string;
|
|
38
|
+
};
|
|
39
|
+
textSize: number;
|
|
40
|
+
setTextSize: (size: number | ((prev: number) => number)) => void;
|
|
41
|
+
textColor: string;
|
|
42
|
+
setTextColor: (color: string | ((prev: string) => string)) => void;
|
|
43
|
+
textSizeRef: {
|
|
44
|
+
current: number;
|
|
45
|
+
};
|
|
46
|
+
textColorRef: {
|
|
47
|
+
current: string;
|
|
48
|
+
};
|
|
49
|
+
isPreviewModalVisible: boolean;
|
|
50
|
+
setIsPreviewModalVisible: (visible: boolean) => void;
|
|
51
|
+
downPoint: {
|
|
52
|
+
current: any;
|
|
53
|
+
};
|
|
54
|
+
upPoint: {
|
|
55
|
+
current: any;
|
|
56
|
+
};
|
|
57
|
+
currentShape: {
|
|
58
|
+
current: any;
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
declare const useDrawingToolsStore: import("zustand").UseBoundStore<import("zustand").StoreApi<DrawingToolsState>>;
|
|
62
|
+
export default useDrawingToolsStore;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
interface GuestStateType {
|
|
2
|
+
status: 0 | 1;
|
|
3
|
+
deviceType: 'pc' | 'mobile';
|
|
4
|
+
setDeviceType: (deviceType: 'pc' | 'mobile') => void;
|
|
5
|
+
setStatus: (status: 0 | 1) => void;
|
|
6
|
+
}
|
|
7
|
+
export declare const useGuestStore: import("zustand").UseBoundStore<import("zustand").StoreApi<GuestStateType>>;
|
|
8
|
+
export {};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
interface LiveInfoState {
|
|
2
|
+
data: any;
|
|
3
|
+
loading: boolean;
|
|
4
|
+
error: Error | undefined;
|
|
5
|
+
run: (live_id: string | number) => void;
|
|
6
|
+
cancel: () => void;
|
|
7
|
+
refresh: () => void;
|
|
8
|
+
}
|
|
9
|
+
export declare const useLiveInfoStore: import("zustand").UseBoundStore<import("zustand").StoreApi<LiveInfoState>>;
|
|
10
|
+
export declare function useLiveInfo(): {
|
|
11
|
+
requestResult: import("ahooks/lib/useRequest/src/types").Result<import("@/api/request").ResponseData<any>, [live_id: any]>;
|
|
12
|
+
data: any;
|
|
13
|
+
loading: boolean;
|
|
14
|
+
error: Error | undefined;
|
|
15
|
+
run: (live_id: string | number) => void;
|
|
16
|
+
cancel: () => void;
|
|
17
|
+
refresh: () => void;
|
|
18
|
+
};
|
|
19
|
+
export declare const getLiveInfoState: () => LiveInfoState;
|
|
20
|
+
export declare const setLiveInfoState: (partial: LiveInfoState | Partial<LiveInfoState> | ((state: LiveInfoState) => LiveInfoState | Partial<LiveInfoState>), replace?: boolean | undefined) => void;
|
|
21
|
+
export {};
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
interface LivePushCode {
|
|
2
|
+
[key: string]: any;
|
|
3
|
+
}
|
|
4
|
+
interface LivePushCodeStore {
|
|
5
|
+
livePushCode: LivePushCode | null;
|
|
6
|
+
isLoading: boolean;
|
|
7
|
+
error: string | null;
|
|
8
|
+
fetchLivePush: (live_id: number) => Promise<LivePushCode | undefined>;
|
|
9
|
+
setLivePushCode: (code: LivePushCode) => void;
|
|
10
|
+
clearLivePushCode: () => void;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* 直播推流码状态存储
|
|
14
|
+
* 用于管理直播推流码的获取和状态
|
|
15
|
+
*/
|
|
16
|
+
export declare const useLivePushCodeStore: import("zustand").UseBoundStore<import("zustand").StoreApi<LivePushCodeStore>>;
|
|
17
|
+
/**
|
|
18
|
+
* 获取直播推流码的Hook
|
|
19
|
+
* @returns 直播推流码数据或null
|
|
20
|
+
*/
|
|
21
|
+
export declare const useLivePushCode: () => LivePushCode;
|
|
22
|
+
/**
|
|
23
|
+
* 获取直播推流码加载状态的Hook
|
|
24
|
+
* @returns 加载状态
|
|
25
|
+
*/
|
|
26
|
+
export declare const useLivePushCodeLoading: () => boolean;
|
|
27
|
+
/**
|
|
28
|
+
* 获取直播推流码错误信息的Hook
|
|
29
|
+
* @returns 错误信息或null
|
|
30
|
+
*/
|
|
31
|
+
export declare const useLivePushCodeError: () => string;
|
|
32
|
+
/**
|
|
33
|
+
* 获取直播推流码获取方法的Hook
|
|
34
|
+
* @returns 获取推流码的方法
|
|
35
|
+
*/
|
|
36
|
+
export declare const useFetchLivePushCode: () => (live_id: number) => Promise<LivePushCode | undefined>;
|
|
37
|
+
export {};
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { CallSDKConfig, GuestSDKConfig } from '../types/sdk';
|
|
2
|
+
export declare enum GlobalErrorType {
|
|
3
|
+
/** 接口报错 */
|
|
4
|
+
API_ERROR = "api_error",
|
|
5
|
+
/** Token过期 */
|
|
6
|
+
TOKEN_EXPIRED = "token_expired",
|
|
7
|
+
/** SDK参数校验错误 */
|
|
8
|
+
PARAM_VALIDATION_ERROR = "param_validation_error",
|
|
9
|
+
/** 其他错误 */
|
|
10
|
+
OTHER_ERROR = "other_error"
|
|
11
|
+
}
|
|
12
|
+
export interface GlobalError {
|
|
13
|
+
type: GlobalErrorType;
|
|
14
|
+
code: number;
|
|
15
|
+
message: string;
|
|
16
|
+
details?: any;
|
|
17
|
+
}
|
|
18
|
+
interface SdkStore {
|
|
19
|
+
callConfig: CallSDKConfig | null;
|
|
20
|
+
setCallConfig: (config: CallSDKConfig) => void;
|
|
21
|
+
getLiveId: () => number | undefined;
|
|
22
|
+
updateCallConfig: (partialConfig: Partial<CallSDKConfig>) => void;
|
|
23
|
+
guestConfig: GuestSDKConfig | null;
|
|
24
|
+
setGuestConfig: (config: GuestSDKConfig) => void;
|
|
25
|
+
globalError: GlobalError | null;
|
|
26
|
+
setGlobalError: (error: GlobalError | null) => void;
|
|
27
|
+
clearGlobalError: () => void;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* SDK配置状态存储
|
|
31
|
+
* 用于管理SDK的全局配置,包括直播ID等关键信息
|
|
32
|
+
*/
|
|
33
|
+
export declare const useSdkStore: import("zustand").UseBoundStore<import("zustand").StoreApi<SdkStore>>;
|
|
34
|
+
/**
|
|
35
|
+
* 获取SDK配置的Hook
|
|
36
|
+
* @returns SDK配置对象或null
|
|
37
|
+
*/
|
|
38
|
+
export declare const useSdkConfig: () => CallSDKConfig;
|
|
39
|
+
/**
|
|
40
|
+
* 获取直播ID的Hook
|
|
41
|
+
* @returns 直播ID字符串或undefined
|
|
42
|
+
*/
|
|
43
|
+
export declare const useLiveId: () => number;
|
|
44
|
+
export {};
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
export interface LiveConfig {
|
|
2
|
+
/** 直播ID */
|
|
3
|
+
id: number;
|
|
4
|
+
/** 直播标题 */
|
|
5
|
+
title: string;
|
|
6
|
+
}
|
|
7
|
+
export interface ComponentsConfig {
|
|
8
|
+
/** 是否启用聊天功能 */
|
|
9
|
+
chat: {
|
|
10
|
+
enabled: boolean;
|
|
11
|
+
};
|
|
12
|
+
/** 是否启用团队功能 */
|
|
13
|
+
team: {
|
|
14
|
+
enabled: boolean;
|
|
15
|
+
};
|
|
16
|
+
/** 是否启用连麦功能 */
|
|
17
|
+
call: {
|
|
18
|
+
enabled: boolean;
|
|
19
|
+
inviteLink: string;
|
|
20
|
+
agent_id: number;
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
export interface CallSDKConfig {
|
|
24
|
+
/** 挂载元素 */
|
|
25
|
+
el: HTMLElement | string;
|
|
26
|
+
/** 直播配置 */
|
|
27
|
+
live: LiveConfig;
|
|
28
|
+
/** 签名信息 */
|
|
29
|
+
sign: string;
|
|
30
|
+
/** 组件配置 */
|
|
31
|
+
components: ComponentsConfig;
|
|
32
|
+
}
|
|
33
|
+
export interface GuestSDKConfig {
|
|
34
|
+
/** 挂载元素 */
|
|
35
|
+
el: HTMLElement | string;
|
|
36
|
+
/** 直播ID */
|
|
37
|
+
liveId: number;
|
|
38
|
+
/** 访问令牌 */
|
|
39
|
+
sign: string;
|
|
40
|
+
/** 客服ID */
|
|
41
|
+
agentId: number;
|
|
42
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export declare const generateGID: (expire?: number) => string;
|
|
2
|
+
export declare function toFixed(value: number, maxFractionDigits?: number): string;
|
|
3
|
+
export declare function withResolvers<T, E = any>(): {
|
|
4
|
+
promise: Promise<T>;
|
|
5
|
+
resolve: (value: T | PromiseLike<T>) => void;
|
|
6
|
+
reject: (reason?: E) => void;
|
|
7
|
+
};
|
|
8
|
+
export declare function excludeNull<T extends Object>(obj: T): T;
|
|
9
|
+
export declare function formatDuration(duration: number, limitMinutes?: boolean): string;
|
|
10
|
+
export declare function formatReqData(data: object | object[]): any;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 环境变量工具函数
|
|
3
|
+
* 用于安全地访问环境变量,并提供默认值
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* 获取环境变量
|
|
7
|
+
* @param key 环境变量键名
|
|
8
|
+
* @param defaultValue 默认值
|
|
9
|
+
* @returns 环境变量值或默认值
|
|
10
|
+
*/
|
|
11
|
+
export declare const getEnv: <T = string>(key: string, defaultValue: T) => T;
|
|
12
|
+
/**
|
|
13
|
+
* 应用配置
|
|
14
|
+
* 统一管理应用的配置参数,从环境变量中获取
|
|
15
|
+
*/
|
|
16
|
+
export declare const appConfig: {
|
|
17
|
+
api: {
|
|
18
|
+
baseUrl: string;
|
|
19
|
+
};
|
|
20
|
+
app: {
|
|
21
|
+
name: string;
|
|
22
|
+
version: string;
|
|
23
|
+
env: string;
|
|
24
|
+
};
|
|
25
|
+
debug: boolean;
|
|
26
|
+
};
|
|
27
|
+
/**
|
|
28
|
+
* 日志工具,根据环境变量控制日志输出
|
|
29
|
+
*/
|
|
30
|
+
export declare const logger: {
|
|
31
|
+
log: (...args: any[]) => void;
|
|
32
|
+
error: (...args: any[]) => void;
|
|
33
|
+
warn: (...args: any[]) => void;
|
|
34
|
+
info: (...args: any[]) => void;
|
|
35
|
+
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare function canvasToBlob(canvas: HTMLCanvasElement | OffscreenCanvas): Promise<Blob>;
|
|
2
|
+
export declare function scaleImage({ max, ratio, blob, }: {
|
|
3
|
+
max?: number;
|
|
4
|
+
ratio?: number;
|
|
5
|
+
blob: Blob;
|
|
6
|
+
}): Promise<Blob> | {
|
|
7
|
+
new (blobParts?: BlobPart[], options?: BlobPropertyBag): Blob;
|
|
8
|
+
prototype: Blob;
|
|
9
|
+
};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export declare const isMobile: boolean;
|
|
2
|
+
/**
|
|
3
|
+
* 检测麦克风设备权限
|
|
4
|
+
* @returns {Promise<boolean>} 返回一个Promise,解析为布尔值,表示是否有麦克风权限
|
|
5
|
+
*/
|
|
6
|
+
export declare const checkMicrophonePermission: () => Promise<boolean>;
|
|
7
|
+
/**
|
|
8
|
+
* 检测摄像头设备权限
|
|
9
|
+
* @returns {Promise<boolean>} 返回一个Promise,解析为布尔值,表示是否有摄像头权限
|
|
10
|
+
*/
|
|
11
|
+
export declare const checkCameraPermission: () => Promise<boolean>;
|
|
12
|
+
/**
|
|
13
|
+
* 检测麦克风和摄像头设备权限
|
|
14
|
+
* @returns {Promise<{microphone: boolean, camera: boolean}>} 返回一个Promise,解析为包含麦克风和摄像头权限状态的对象
|
|
15
|
+
*/
|
|
16
|
+
export declare const checkMediaPermissions: () => Promise<{
|
|
17
|
+
microphone: boolean;
|
|
18
|
+
camera: boolean;
|
|
19
|
+
}>;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 环境变量配置文件
|
|
3
|
+
* 统一管理所有环境变量,提供类型安全的访问方式
|
|
4
|
+
*/
|
|
5
|
+
export interface EnvConfig {
|
|
6
|
+
env: string;
|
|
7
|
+
amapKey: string;
|
|
8
|
+
amapCode: string;
|
|
9
|
+
queenSdkKey: string;
|
|
10
|
+
liveProxyUrl: string;
|
|
11
|
+
tvProxyUrl: string;
|
|
12
|
+
callProxyUrl: string;
|
|
13
|
+
wxAppId: string;
|
|
14
|
+
}
|
|
15
|
+
declare const _default: {
|
|
16
|
+
env: any;
|
|
17
|
+
amapKey: any;
|
|
18
|
+
amapCode: any;
|
|
19
|
+
queenSdkKey: any;
|
|
20
|
+
liveProxyUrl: any;
|
|
21
|
+
tvProxyUrl: any;
|
|
22
|
+
callProxyUrl: any;
|
|
23
|
+
wxAppId: any;
|
|
24
|
+
};
|
|
25
|
+
export default _default;
|