@tencentcloud/roomkit-web-vue3
Version:
<h1 align="center"> TUIRoomKit</h1> Conference (TUIRoomKit) is a product suitable for multi-person audio and video conversation scenarios such as business meetings, webinars, and online education. By integrating this product, you can add room management,
76 lines (72 loc) • 2.62 kB
text/typescript
import { ChatSDK } from '@tencentcloud/chat';
import { useBasicStore } from '../stores/basic';
import { useRoomStore } from '../stores/room';
import { useChatStore } from '../stores/chat';
import { LifeCycleManager } from './manager/lifeCycleManager';
import { ScheduleConferenceManager } from './manager/scheduleConferenceManager';
import { RoomActionManager } from './manager/roomActionManager';
import { ErrorHandler } from './function/errorHandler';
import { AITask } from './function/aiTask';
import { ConferenceInvitationManager } from './manager/conferenceInvitationManager';
import { DataReportManager } from './manager/dataReportManager';
import { WidgetsManager } from './manager/widgetsManager';
export interface IRoomService {
t: any;
roomEngine: Record<string, any>;
basicStore: ReturnType<typeof useBasicStore>;
roomStore: ReturnType<typeof useRoomStore>;
chatStore: ReturnType<typeof useChatStore>;
lifeCycleManager: LifeCycleManager;
roomActionManager?: RoomActionManager;
scheduleConferenceManager: ScheduleConferenceManager;
conferenceInvitationManager: ConferenceInvitationManager;
dataReportManager: DataReportManager;
widgetsManager: WidgetsManager;
errorHandler: ErrorHandler;
aiTask: AITask;
on: (eventType: EventType, callback: (data?: any) => any) => void;
off: (eventType: EventType, callback: (data?: any) => void) => void;
emit: (eventType: EventType, data?: any) => void;
resetStore: () => void;
}
export interface RoomInitData {
sdkAppId: number;
userId: string;
userSig: string;
userName?: string;
avatarUrl?: string;
showHeaderTool?: boolean;
tim?: ChatSDK;
theme?: {
defaultTheme?: 'dark' | 'light';
isSupportSwitchTheme: boolean;
};
}
export interface RoomParam {
isOpenCamera: boolean;
isOpenMicrophone: boolean;
defaultCameraId?: string;
defaultMicrophoneId?: string;
defaultSpeakerId?: string;
password?: string;
}
export enum EventType {
SERVICE_READY = 'ServiceReady',
ROOM_LOGIN = 'RoomLogin',
ROOM_CONTAINER_RESIZE = 'RoomContainerResize',
ROOM_NOTICE_MESSAGE = 'RoomNoticeMessage',
ROOM_NOTICE_MESSAGE_BOX = 'RoomNoticeMessageBox',
ROOM_START = 'RoomStart',
ROOM_JOIN = 'RoomJoin',
ROOM_LEAVE = 'RoomLeave',
ROOM_DISMISS = 'RoomDestroy',
ROOM_ERROR = 'RoomError',
ROOM_NEED_PASSWORD = 'RoomNeedPassword',
KICKED_OUT = 'KickedOut',
KICKED_OFFLINE = 'KickedOffline',
USER_SIG_EXPIRED = 'UserSigExpired',
USER_LOGOUT = 'UserLogout',
LANGUAGE_CHANGED = 'LanguageChanged',
THEME_CHANGED = 'ThemeChanged',
CONFERENCE_INVITATION_ACCEPTED = 'ConferenceInvitationAccepted',
}