agora-edu-core
Version:
Core APIs for building an online classroom
117 lines (116 loc) • 2.23 kB
TypeScript
import { EduRoleTypeEnum } from '../../../..';
/**
* 用户信息
*/
/** @en
* User info
*/
interface UserInfo {
userUuid: string;
userName: string;
role: EduRoleTypeEnum;
}
/**
* 消息扩展信息
*/
/** @en
* Extra info of a chat message
*/
export interface MessageExt {
range: number;
userName: string;
userUuid: string;
}
/**
* 历史消息
*/
/** @en
* History message
*/
export interface IHistoryChatMessage {
message: string;
sendTime: number;
sequences: string;
fromUser: UserInfo;
messageId: string;
ext?: MessageExt;
}
/**
* 历史消息
*/
/** @en
* History message
*/
export declare class HistoryChatMessage {
message: string;
sendTime: number;
sequences: string;
fromUser: UserInfo;
messageId: string;
ext?: MessageExt;
constructor(data: IHistoryChatMessage);
}
/**
* 聊天消息对象
*/
/** @en
* Message object
*/
export declare class MessageItem {
id: string;
ts: number;
messageId: string;
content: string;
role: EduRoleTypeEnum;
isOwn?: boolean;
userName: string;
unread?: boolean;
isBroadcast: boolean;
constructor(data: {
id: string;
ts: number;
messageId: string;
content: string;
role: EduRoleTypeEnum;
isOwn?: boolean;
userName: string;
unread?: boolean;
isBroadcast: boolean;
});
toMessage(): {
id: string;
uid: string;
userName: string;
role: string;
timestamp: number;
content: string;
isOwn: boolean | undefined;
unread: boolean | undefined;
isBroadcast: boolean;
};
}
/**
* 会话对象
*/
/** @en
* Conversation object
*/
export declare class Conversation {
userUuid: string;
userName: string;
role?: EduRoleTypeEnum;
lastMessageTs?: number;
unreadMessageCount: number;
messages: MessageItem[];
timestamp?: number;
constructor(data: {
userUuid: string;
userName: string;
role?: EduRoleTypeEnum;
lastMessageTs?: number;
unreadMessageCount: number;
messages: MessageItem[];
timestamp?: number;
});
}
export {};