agora-edu-core
Version:
Core APIs for building an online classroom
179 lines (178 loc) • 3.8 kB
TypeScript
import { EduStoreBase } from '../base';
import { Conversation, MessageItem } from './struct';
/**
* `MessagesStore` 类用于处理各种聊天消息及IM信令控制。
*/
/** @en
* The `MessagesStore` class is used for dealing with hat messages and various kinds of chat signal that controls the IM state.
*/
export declare class MessagesStore extends EduStoreBase {
private _disposers;
private _dataStore;
/**
* 是否禁止聊天
*/
/** @en
* Whether the chat is muted or not
*/
get chatMuted(): boolean;
/**
* 历史消息列表
*/
/** @en
* Chat history message list
*/
get roomChatMessages(): MessageItem[];
/**
* 会话列表
*/
/** @en
* Conversation list
*/
get roomChatConversations(): Conversation[];
/**
* 未读消息数量
*/
/** @en
* Number of unread message count
*/
get unreadMessageCount(): number;
/**
*
*/
/** @en
*
*/
get chatConvasationUserUuid(): Map<string, Conversation>;
/**
*
*/
get chatConvasationMessageId(): Map<string, MessageItem>;
/**
*
*/
get roomChatMessagesMessageId(): Map<string, MessageItem>;
/**
*
*/
get newMessageFlag(): boolean;
/**
* 增加一条消息到消息列表
* @param args
*/
/** @en
* Adds a message to the message list
* @param args
*/
addChatMessage(args: MessageItem): void;
/**
*
* @param conversation
*/
/**
*
* @param conversation
*/
addRoomChatConversation(conversation: Conversation): void;
/**
*
* @param args
* @param conversation
*/
/** @en
*
* @param args
* @param conversation
*/
addConversationChatMessage(args: MessageItem, conversation: Conversation): void;
/**
* 获取房间历史的聊天消息
* @param data
* @returns
*/
/** @en
* 获取房间历史的聊天消息
* @param data
* @returns
*/
getHistoryChatMessage(data: {
nextId: string;
sort: number;
}): Promise<any>;
/**
* 根据学生 ID 获取学生的提问消息
* @param data
*/
/** @en
* 根据学生 ID 获取学生的提问消息
* @param data
*/
getConversationHistoryChatMessage(data: {
nextId: string;
sort: number;
studentUuid: string;
}): Promise<void>;
/**
* 获取 提问列表用户信息
* @param data
*/
/** @en
* 获取 提问列表用户信息
* @param data
*/
getConversationList(data: {
nextId: string;
sort: number;
}): Promise<any>;
/**
* 禁止聊天
*/
/** @en
* Mutes chat
*/
muteChat(): Promise<void>;
/**
* 解除禁止聊天
*/
/** @en
* Unmutes chat
*/
unmuteChat(): Promise<void>;
/**
* 重置未读消息数
*/
/** @en
* Resets unread messages count
*/
resetUnreadMessageCount(): void;
/**
* 增加未读消息总数
*/
/** @en
* Increment unread messages count
*/
incrementUnreadMessageCount(): void;
/**
* 发送消息
* @param message
*/
/** @en
* Sends a message
* @param message
*/
sendMessage(message: string): Promise<void>;
/**
* 发送会话消息
* @param message
* @param conversation
*/
/** @en
* Sends message to a conversation
* @param message
* @param conversation
*/
sendMessageToConversation(message: string, conversation: Conversation): Promise<void>;
private _setEventHandler;
onInstall(): void;
onDestroy(): void;
}