call-live-sdk1 0.0.11 → 0.0.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/dist/assets/style.CQrOViFp.css +1 -0
  2. package/dist/assets/style.css +1 -1
  3. package/dist/call-live-sdk.es.js +31900 -32069
  4. package/dist/call-live-sdk.umd.js +1 -1
  5. package/dist/components/CallGridLayout.d.ts +1 -1
  6. package/dist/components/CallSingleColumnLayout.d.ts +1 -1
  7. package/dist/components/CallUserVideo.d.ts +1 -1
  8. package/dist/components/DrawingTools/LayoutSwitcher.d.ts +1 -1
  9. package/dist/components/ErrorPage/ErrorPage.d.ts +1 -1
  10. package/dist/components/GlobalErrorBoundary.d.ts +1 -1
  11. package/dist/components/RightSidebar/components/CallComponent/features/meeting/components/MeetingUserList.d.ts +1 -1
  12. package/dist/components/RightSidebar/components/CallComponent/features/meeting/hooks/useCallConfig.d.ts +1 -1
  13. package/dist/components/RightSidebar/components/CallComponent/features/meeting/hooks/useOnlineUsers.d.ts +2 -2
  14. package/dist/components/RightSidebar/components/CallComponent/shared/ui/CallUser.d.ts +1 -1
  15. package/dist/components/RightSidebar/components/CallComponent/types/index.d.ts +1 -1
  16. package/dist/components/RtcJoomRoom/types.d.ts +1 -1
  17. package/dist/components/RtcJoomRoom/useRoomMessageHandler.d.ts +3 -3
  18. package/dist/pages/MobileLive/components/UserVideoContainer.d.ts +1 -1
  19. package/dist/pages/MobileLive/components/VideoSwipeContainer.d.ts +1 -1
  20. package/dist/stats-prod.html +1 -1
  21. package/dist/stores/activitytype.d.ts +2 -15
  22. package/dist/stores/call.d.ts +1 -5
  23. package/dist/stores/callStore.d.ts +1 -219
  24. package/dist/stores/commentChatUrl.d.ts +1 -4
  25. package/dist/stores/commentRtmpStats.d.ts +1 -4
  26. package/dist/stores/commentSocket.d.ts +1 -20
  27. package/dist/stores/counterStore.d.ts +1 -8
  28. package/dist/stores/currentUser.d.ts +1 -5
  29. package/dist/stores/drawingToolsStore.d.ts +1 -34
  30. package/dist/stores/guest.d.ts +1 -7
  31. package/dist/stores/liveInfo.d.ts +1 -9
  32. package/dist/stores/livepushcode.d.ts +2 -13
  33. package/dist/stores/sdkStore.d.ts +2 -47
  34. package/dist/types/stores/activitytype.d.ts +13 -0
  35. package/dist/types/stores/call.d.ts +4 -0
  36. package/dist/types/stores/callStore.d.ts +327 -0
  37. package/dist/types/stores/commentChatUrl.d.ts +4 -0
  38. package/dist/types/stores/commentRtmpStats.d.ts +4 -0
  39. package/dist/types/stores/commentSocket.d.ts +20 -0
  40. package/dist/types/stores/counterStore.d.ts +7 -0
  41. package/dist/types/stores/currentUser.d.ts +4 -0
  42. package/dist/types/stores/drawingToolsStore.d.ts +34 -0
  43. package/dist/types/stores/guest.d.ts +6 -0
  44. package/dist/types/stores/liveInfo.d.ts +8 -0
  45. package/dist/types/stores/livepushcode.d.ts +11 -0
  46. package/dist/types/stores/sdkStore.d.ts +34 -0
  47. package/dist/utils/utiles.d.ts +5 -0
  48. package/package.json +2 -1
  49. package/dist/assets/style.DcMyBSL2.css +0 -1
  50. package/dist/hooks/useVideoElementDetector.d.ts +0 -37
@@ -0,0 +1,327 @@
1
+ import { IRTCEngine } from '@volcengine/rtc';
2
+ import * as fabric from 'fabric';
3
+ import { LoginResponseData, RTCMasterConfigResponse } from '@/api';
4
+ /**
5
+ * 视频类型枚举
6
+ * 用于区分不同类型的视频流
7
+ */
8
+ export declare enum VideoType {
9
+ /** 摄像头视频 */
10
+ CAMERA = "video",
11
+ /** 屏幕共享 */
12
+ SCREEN = "screen",
13
+ /** 主画面 */
14
+ MAIN = "main",
15
+ /** 屏幕共享主画面 */
16
+ SCREEN_MAIN = "screenmain",
17
+ /** 自视频 */
18
+ SELF = "self"
19
+ }
20
+ /**
21
+ * 用户状态枚举
22
+ * 用于标识用户在等候模式下的状态
23
+ */
24
+ export declare enum WaitingModeState {
25
+ /** 未开启等候模式 */
26
+ NOT_ENABLED = 0,
27
+ /** 等候中 */
28
+ WAITING = 1,
29
+ /** 已准入 */
30
+ ADMITTED = 2
31
+ }
32
+ export interface CallUser extends LoginResponseData {
33
+ device: string;
34
+ isVideoDisabled?: boolean;
35
+ isAudioDisabled?: boolean;
36
+ isVideoEnabled?: boolean;
37
+ isAudioEnabled?: boolean;
38
+ isScreenEnabled?: boolean;
39
+ joinTime?: number;
40
+ waiting_mode_state: WaitingModeState;
41
+ videoList: [id: string, screenId: string, mainId: string];
42
+ isPublishStream?: boolean;
43
+ isMirror?: boolean;
44
+ isVideoCapture?: boolean;
45
+ isSubscribeAudio?: boolean;
46
+ }
47
+ export interface MediaDevices {
48
+ audioInputs: Array<{
49
+ deviceId: string;
50
+ kind: 'audioinput';
51
+ label?: string;
52
+ }>;
53
+ videoInputs: Array<{
54
+ deviceId: string;
55
+ kind: 'videoinput';
56
+ label?: string;
57
+ }>;
58
+ }
59
+ export interface DeviceSettings {
60
+ cameraId?: string;
61
+ microphoneId?: string;
62
+ mirrorEnabled?: boolean;
63
+ beautySettings?: any;
64
+ }
65
+ export interface CreateLocalStreamOptions {
66
+ video?: boolean;
67
+ audio?: boolean;
68
+ renderMode?: number;
69
+ }
70
+ export interface DevicesStatus {
71
+ video: number;
72
+ audio: number;
73
+ }
74
+ export interface CreateLocalStreamCallbackResult {
75
+ code: number;
76
+ msg: string;
77
+ devicesStatus: DevicesStatus;
78
+ }
79
+ export interface SetMediaDevicesResult {
80
+ success: boolean;
81
+ message: string;
82
+ error?: Error;
83
+ }
84
+ export interface PullWTNStreamOptions {
85
+ onConnectionStateChange?: (state: {
86
+ connectionState: string;
87
+ iceConnectionState: string;
88
+ domId: string;
89
+ }) => void;
90
+ }
91
+ export interface WTNStreamStatus {
92
+ found: boolean;
93
+ message?: string;
94
+ ready: boolean;
95
+ hasConnection?: boolean;
96
+ hasStream?: boolean;
97
+ readyState?: number;
98
+ canPlay?: boolean;
99
+ }
100
+ export interface RTC {
101
+ engine: IRTCEngine;
102
+ beautyExtension: any;
103
+ devicesSettings: DeviceSettings;
104
+ wtnConnections?: Record<string, RTCPeerConnection>;
105
+ SDKVERSION: string;
106
+ registerBeautyExtension: () => Promise<void>;
107
+ bindEngineEvents: () => void;
108
+ startAudioCapture: () => Promise<void>;
109
+ stopAudioCapture: () => Promise<void>;
110
+ removeEventListener: () => void;
111
+ join: (token: string, roomId: string, uid: string, extraInfo: string, autoOption?: any) => Promise<any>;
112
+ canvasJoin: (token: string, roomId: string, uid: string, extraInfo: string) => Promise<any>;
113
+ leave: () => Promise<void>;
114
+ checkPermission: () => Promise<any>;
115
+ getDevices: () => Promise<MediaDevices>;
116
+ setMediaDevices: (settings: DeviceSettings) => Promise<SetMediaDevicesResult>;
117
+ publishStream: () => Promise<void>;
118
+ unpublishStream: () => Promise<void>;
119
+ unsubscribeStream: (userId: string) => Promise<void>;
120
+ createLocalStream: (userId: string, callback: (result: CreateLocalStreamCallbackResult) => void, options?: CreateLocalStreamOptions) => Promise<void>;
121
+ createLocalCanvasStream: (userId: string, videoTrack: MediaStreamTrack | null, audioTrack: MediaStreamTrack | null, callback: (result: CreateLocalStreamCallbackResult) => void) => Promise<void>;
122
+ changeAudioState: (isMicOn: boolean) => Promise<boolean>;
123
+ changeVideoState: (isVideoOn: boolean) => Promise<boolean>;
124
+ changeScreenState: (isScreenOn: boolean, userId: string) => Promise<void>;
125
+ setRemoteScreenCapture: (userId: string, renderDom: string | null) => Promise<void>;
126
+ stopScreenCapture: () => Promise<void>;
127
+ startLocalScreenCapture: (userId: string, domId: string) => Promise<void>;
128
+ createWTNStreamURL: (appId: string, streamId: string, domain?: string) => string;
129
+ pullWTNStream: (url: string, domId: string, options?: PullWTNStreamOptions) => Promise<RTCPeerConnection>;
130
+ stopWTNStream: (domId: string) => void;
131
+ getWTNConnectionState: (domId: string) => string | null;
132
+ setWTNStreamVolume: (domId: string, volume: number) => boolean;
133
+ muteWTNStream: (domId: string, mute: boolean) => boolean;
134
+ checkWTNStreamStatus: (domId: string) => WTNStreamStatus;
135
+ reconnectWTNStream: (url: string, domId: string, options?: PullWTNStreamOptions) => Promise<RTCPeerConnection>;
136
+ stopAllWTNStreams: () => void;
137
+ }
138
+ export declare enum LayoutMode {
139
+ MAIN_PLUS_LIST = "main_plus_list",// 主画布+连麦列表
140
+ GRID = "grid"
141
+ }
142
+ export interface StreamAreaConfig {
143
+ width: number;
144
+ height: number;
145
+ aspectRatio: number;
146
+ }
147
+ export interface LayoutCalculation {
148
+ mainArea: {
149
+ x: number;
150
+ y: number;
151
+ width: number;
152
+ height: number;
153
+ } | null;
154
+ callAreas: Array<{
155
+ x: number;
156
+ y: number;
157
+ width: number;
158
+ height: number;
159
+ userId: string;
160
+ domId?: string;
161
+ nickname?: string;
162
+ device: string;
163
+ isVideoEnabled?: boolean;
164
+ isAudioEnabled?: boolean;
165
+ isScreenEnabled?: boolean;
166
+ }>;
167
+ }
168
+ export type RuleType = '' | 'main' | 'sub';
169
+ export interface Scene {
170
+ fabricObject: fabric.Object[];
171
+ documentInfo: any;
172
+ audioStates: Map<any, any>;
173
+ documentIndex: number;
174
+ documentScrollLeft: number;
175
+ }
176
+ export interface Scenes {
177
+ [key: string]: Scene;
178
+ }
179
+ export interface CallConfig extends RTCMasterConfigResponse, LoginResponseData {
180
+ rule: RuleType;
181
+ isCall: boolean;
182
+ isAudioEnabled: boolean;
183
+ isScreenEnabled: boolean;
184
+ isVideoEnabled: boolean;
185
+ micConnectPermission: 0 | 1;
186
+ backgroundImg: string;
187
+ media_devices: {
188
+ cameraId?: string;
189
+ microphoneId?: string;
190
+ mirrorEnabled: boolean;
191
+ } | null;
192
+ }
193
+ export interface CallStoreState {
194
+ getter: () => Partial<CallStoreState>;
195
+ getInitialScenes: () => Scenes;
196
+ fabricObjects: fabric.Object[];
197
+ setFabricObjects: (objects: fabric.Object[] | ((prev: fabric.Object[]) => fabric.Object[])) => void;
198
+ documentInfo: any;
199
+ setDocumentInfo: (info: any) => void;
200
+ currentScene: string;
201
+ setCurrentScene: (scene: string) => void;
202
+ documentScrollLeft: number;
203
+ setDocumentScrollLeft: (value: number) => void;
204
+ documentIndex: number;
205
+ setDocumentIndex: (value: number) => void;
206
+ scenes: Scenes;
207
+ setScenes: (scenes: Scenes | ((prev: Scenes) => Scenes)) => void;
208
+ updateScene: (sceneKey: string, scene: Partial<Scene> | ((prev: Scene) => Partial<Scene>)) => void;
209
+ callConfig: CallConfig;
210
+ callCurrentUser: CallUser | undefined;
211
+ mainCanvasId: string;
212
+ currentMainVideoType: Exclude<VideoType, VideoType.CAMERA>;
213
+ isVoiceChatOpen: boolean;
214
+ isRightSidebarCollapsed: boolean;
215
+ callUsers: CallUser[];
216
+ layoutMode: LayoutMode;
217
+ rtc: RTC;
218
+ fabricInstance: any;
219
+ compositeCanvasRef: HTMLCanvasElement | null;
220
+ compositeContextRef: CanvasRenderingContext2D | null;
221
+ callAudioStreamsRef: MediaStream[];
222
+ videoList: (CallUser & {
223
+ domId: string;
224
+ })[];
225
+ callUsersCurrentPageRef: number;
226
+ offscreenCanvasRef: HTMLCanvasElement | null;
227
+ offscreenContextRef: CanvasRenderingContext2D | null;
228
+ backgroundImageRef: HTMLImageElement | null;
229
+ lastBackgroundImgUrlRef: string;
230
+ toggleRightSidebar: (collapsed?: boolean) => void;
231
+ removeCallUser: (userId: string) => void;
232
+ kickRoomUser: (userId: string, forbiddenInterval?: number) => Promise<void>;
233
+ updateCallConfig: (updates: Partial<CallConfig>) => void;
234
+ updateCallUser: (userId: string, updates: Partial<CallUser>) => CallUser | undefined;
235
+ activeUsers: CallUser[];
236
+ waitingUsers: CallUser[];
237
+ joinCallUser: (remoteUser?: CallUser) => CallUser | false;
238
+ addRemoteUser: (remoteUser: CallUser) => CallUser | false;
239
+ addLocalUser: () => CallUser | false;
240
+ isUserExists: (rtc_userid: string) => boolean;
241
+ validateCallConfig: () => {
242
+ isValid: boolean;
243
+ errors: string[];
244
+ };
245
+ leave: (liveId?: number, agentId?: number) => void;
246
+ leaveRemoteUser: (userId: string) => void;
247
+ switchLayoutMode: (mode: LayoutMode) => void;
248
+ calculateLayout: () => LayoutCalculation;
249
+ calculateMainPlusListLayout: (width: number, height: number) => LayoutCalculation;
250
+ calculateGridLayout: (width: number, height: number) => LayoutCalculation;
251
+ calculateMainOnlyLayout: (width: number, height: number) => LayoutCalculation;
252
+ initCompositeCanvas: () => HTMLCanvasElement | null;
253
+ renderCompositeFrameSmooth: () => void;
254
+ setMainCanvasId: (mainCanvasId: string) => void;
255
+ setCallUsers: (callUsers: CallUser[]) => void;
256
+ setCallConfig: (callConfig: CallConfig) => void;
257
+ setIsVoiceChatOpen: (isVoiceChatOpen: boolean) => void;
258
+ setCallCurrentUser: (callCurrentUser: CallUser | undefined) => void;
259
+ setCurrentMainVideoType: (currentMainVideoType: Exclude<VideoType, VideoType.CAMERA>) => void;
260
+ getCallConfig: () => CallConfig;
261
+ setRtc: (rtc: any) => void;
262
+ setFabricInstance: (fabricInstance: any) => void;
263
+ setCompositeCanvasRef: (compositeCanvasRef: HTMLCanvasElement | null) => void;
264
+ setCompositeContextRef: (compositeContextRef: CanvasRenderingContext2D | null) => void;
265
+ setCallAudioStreamsRef: (callAudioStreamsRef: MediaStream[]) => void;
266
+ setVideoList: (videoList: (CallUser & {
267
+ domId: string;
268
+ })[]) => void;
269
+ setCallUsersCurrentPageRef: (callUsersCurrentPageRef: number) => void;
270
+ setOffscreenCanvasRef: (offscreenCanvasRef: HTMLCanvasElement | null) => void;
271
+ setOffscreenContextRef: (offscreenContextRef: CanvasRenderingContext2D | null) => void;
272
+ setBackgroundImageRef: (backgroundImageRef: HTMLImageElement | null) => void;
273
+ setLastBackgroundImgUrlRef: (lastBackgroundImgUrlRef: string) => void;
274
+ filterCallUsers: (a: Partial<CallUser>) => CallUser[];
275
+ drawUserVideoContent: (context: CanvasRenderingContext2D, videoElement: HTMLVideoElement, user: any, x: number, y: number, width: number, height: number) => void;
276
+ drawUserInfo: (context: CanvasRenderingContext2D, user: any, x: number, y: number, width: number, height: number) => void;
277
+ drawStatusIndicators: (context: CanvasRenderingContext2D, user: any, x: number, y: number, width: number) => void;
278
+ drawStatusIndicator: (context: CanvasRenderingContext2D, x: number, y: number, width: number, statusY: number, offset: number, type: 'audio' | 'video') => void;
279
+ renderEmptyUserArea: (context: CanvasRenderingContext2D, user: any, x: number, y: number, width: number, height: number) => void;
280
+ canvasRequestRenderAll: () => void;
281
+ findCallUserById: (id: string) => CallUser | undefined;
282
+ changeAudioState: (id: string, isAudio: boolean) => void;
283
+ changeVideoState: (id: string, isVideo: boolean) => void;
284
+ /**
285
+ * 切换用户音频状态
286
+ * @param isAudio - 是否开启音频(默认:取反当前状态)
287
+ * @param isBanned - 是否被封禁(默认:false)
288
+ */
289
+ toggleAudio: (isAudio?: boolean, isBanned?: boolean) => Promise<{
290
+ success: boolean;
291
+ message: string;
292
+ isEnabled?: boolean;
293
+ error?: any;
294
+ }>;
295
+ /**
296
+ * 切换用户视频状态
297
+ * @param isVideo - 是否开启视频(默认:取反当前状态)
298
+ * @param isBanned - 是否被封禁(默认:false)
299
+ */
300
+ toggleVideo: (isVideo?: boolean, isBanned?: boolean) => Promise<{
301
+ success: boolean;
302
+ message: string;
303
+ isEnabled?: boolean;
304
+ error?: any;
305
+ }>;
306
+ toggleScreenShare: (isScreen?: boolean) => Promise<{
307
+ success: boolean;
308
+ message: string;
309
+ isEnabled?: boolean;
310
+ error?: any;
311
+ }>;
312
+ toggleMirror: (isMirror?: boolean) => Promise<{
313
+ success: boolean;
314
+ message: string;
315
+ isEnabled?: boolean;
316
+ error?: any;
317
+ }>;
318
+ callAudioMixing: () => void;
319
+ handleRemoteUserPublishScreen: (event: {
320
+ userId: string;
321
+ mediaType: any;
322
+ }) => void;
323
+ handleRemoteUserUnpublishScreen: (event: {
324
+ userId: string;
325
+ mediaType: any;
326
+ }) => Promise<void>;
327
+ }
@@ -0,0 +1,4 @@
1
+ export interface CommentChatUrlState {
2
+ webTransportUrl: string;
3
+ fetChatUrl: (params: any) => Promise<void>;
4
+ }
@@ -0,0 +1,4 @@
1
+ export interface CommentRtmpStatsState {
2
+ rtmpStats: any;
3
+ setRtmpStats: (stats: any) => void;
4
+ }
@@ -0,0 +1,20 @@
1
+ export interface MessageData {
2
+ type: 'comment_delete' | 'chat_forward' | 'activity_config_change' | string;
3
+ data: Record<string, any>;
4
+ }
5
+ export interface WebSocketMessage {
6
+ data: string;
7
+ }
8
+ export 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
+ }
@@ -0,0 +1,7 @@
1
+ export interface CounterState {
2
+ count: number;
3
+ increment: () => void;
4
+ decrement: () => void;
5
+ reset: () => void;
6
+ incrementBy: (amount: number) => void;
7
+ }
@@ -0,0 +1,4 @@
1
+ export interface CurrentUserState {
2
+ currentUser: any | null;
3
+ setCurrentUser: (user: any | null) => void;
4
+ }
@@ -0,0 +1,34 @@
1
+ export 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
+ laserPenSize: number;
9
+ setLaserPenSize: (size: number | ((prev: number) => number)) => void;
10
+ laserPenColor: string;
11
+ setLaserPenColor: (color: string | ((prev: string) => string)) => void;
12
+ shapeSize: number;
13
+ setShapeSize: (size: number | ((prev: number) => number)) => void;
14
+ shapeType: string;
15
+ setShapeType: (type: string | ((prev: string) => string)) => void;
16
+ shapeColor: string;
17
+ setShapeColor: (color: string | ((prev: string) => string)) => void;
18
+ textSize: number;
19
+ setTextSize: (size: number | ((prev: number) => number)) => void;
20
+ textColor: string;
21
+ setTextColor: (color: string | ((prev: string) => string)) => void;
22
+ isPreviewModalVisible: boolean;
23
+ setIsPreviewModalVisible: (visible: boolean) => void;
24
+ downPoint: {
25
+ current: any;
26
+ };
27
+ upPoint: {
28
+ current: any;
29
+ };
30
+ currentShape: {
31
+ current: any;
32
+ };
33
+ getter: () => any;
34
+ }
@@ -0,0 +1,6 @@
1
+ export interface GuestStateType {
2
+ status: 0 | 1;
3
+ deviceType: 'pc' | 'mobile';
4
+ setDeviceType: (deviceType: 'pc' | 'mobile') => void;
5
+ setStatus: (status: 0 | 1) => void;
6
+ }
@@ -0,0 +1,8 @@
1
+ export 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
+ }
@@ -0,0 +1,11 @@
1
+ export interface LivePushCode {
2
+ [key: string]: any;
3
+ }
4
+ export 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
+ }
@@ -0,0 +1,34 @@
1
+ export declare enum ErrorSeverity {
2
+ SEVERE = "severe",
3
+ WARNING = "warning"
4
+ }
5
+ export declare enum GlobalErrorType {
6
+ API_ERROR = "api_error",
7
+ TOKEN_EXPIRED = "token_expired",
8
+ PARAM_VALIDATION_ERROR = "param_validation_error",
9
+ OTHER_ERROR = "other_error"
10
+ }
11
+ export interface GlobalError {
12
+ type: GlobalErrorType;
13
+ code: number;
14
+ message: string;
15
+ details?: any;
16
+ severity: ErrorSeverity;
17
+ }
18
+ export interface SdkStore {
19
+ styleConfig: {
20
+ minHeight: number;
21
+ minWidth: number;
22
+ };
23
+ callConfig: import('../sdk').CallSDKConfig | null;
24
+ setCallConfig: (config: import('../sdk').CallSDKConfig) => void;
25
+ getLiveId: () => number | undefined;
26
+ getApiDomain: () => string;
27
+ getAgentId: () => number | undefined;
28
+ updateCallConfig: (partialConfig: Partial<import('../sdk').CallSDKConfig>) => void;
29
+ guestConfig: import('../sdk').GuestSDKConfig | null;
30
+ setGuestConfig: (config: import('../sdk').GuestSDKConfig) => void;
31
+ globalError: GlobalError | null;
32
+ setGlobalError: (error: GlobalError | null) => void;
33
+ clearGlobalError: () => void;
34
+ }
@@ -1,3 +1,8 @@
1
+ /**
2
+ * 检测设备是否为移动设备(手机或平板)
3
+ * 考虑了现代设备和浏览器的 UserAgent 变化,特别是 iOS 13+ 的 iPad
4
+ * @returns {boolean} 是否为移动设备
5
+ */
1
6
  export declare const isMobile: boolean;
2
7
  /**
3
8
  * 检测麦克风设备权限
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "call-live-sdk1",
3
- "version": "0.0.11",
3
+ "version": "0.0.14",
4
4
  "type": "module",
5
5
  "main": "./dist/call-live-sdk.umd.js",
6
6
  "module": "./dist/call-live-sdk.es.js",
@@ -53,6 +53,7 @@
53
53
  "terser": "5.44.1",
54
54
  "typescript": "5.3.3",
55
55
  "unocss": "0.58.0",
56
+ "vconsole": "^3.15.1",
56
57
  "vite": "5.0.0",
57
58
  "vite-plugin-imp": "2.4.0"
58
59
  },