import type { ChatSDK } from 'tim-js-sdk'; export interface MessageItemType { ID: string; from: string; to: string; conversationID: string; isRevoked: boolean; payload: { text?: string; imageFormat?: number; imageInfoArray?: Array<{ height: number; imageUrl: string; size: number; width: number; url: string; }>; url?: string; snapshotUrl?: string; thumbHeight?: number; thumbWidth?: number; videoUrl?: string; fileName?: string; fileUrl?: string; fileSize?: number; uuid?: string; }; type: 'TIMTextElem' | 'TIMGroupTipElem' | 'TIMImageElem' | 'TIMFileElem' | 'TIMVideoFileElem' | 'TIMSoundElem'; time: number; } export interface MessageType { isCompleted: boolean; messageList: MessageItemType[]; nextReqMessageID: string; } export interface MemberType { uid: number; name: string; avatar: string; type: 'parent' | 'teacher'; } export interface ChatContextType { im?: ChatSDK; conversations: Array<{ /** 可能没有,比如系统消息或者单聊消息 */ groupProfile?: { name: string; avatar: string; groupID: string; groupCustomField: Array<{ key: string; value: string; }>; }; userProfile?: { avatar: string; userID: string; nick: string; }; lastMessage?: { lastTime: number; messageForShow: string; }; /** 群聊 GROUP+groupId、私聊 C2C+userId */ conversationID: string; unreadCount: number; type: 'GROUP' | '@TIM#SYSTEM' | 'C2C'; }>; memberList: Record; messageList: Record; }