open-im-sdk-for-cocos
Version:
OpenIM SDK for js extend cocos
139 lines (138 loc) • 8.12 kB
TypeScript
import type { MessageItem, WsResponse } from '../types/entity';
import type { FileMsgParams, ImageMsgParams, LoginParams, SoundMsgParams, UploadFileParams, VideoMsgParams } from '../types/params';
import { RequestApi } from '../constant/api';
import { UserApi } from './user';
import { FriendApi } from './friend';
import { GroupApi } from './group';
import { MessageApi } from './message';
import { ConversationApi } from './conversation';
import Emitter from '../utils/emitter';
import { LoginStatus } from '../types/enum';
declare class OpenIMSDK extends Emitter implements UserApi, FriendApi, GroupApi, MessageApi, ConversationApi {
private userID?;
private token?;
private apiAddr?;
private wsManager?;
private requestMap;
constructor();
private sendRequest;
private defaultDataFormatter;
createRequestFunction: <T, R = unknown>(reqFuncName: RequestApi, dataFormatter?: (params: T) => string) => (params: T, operationID?: string) => Promise<WsResponse<R>>;
createRequestFunctionWithoutParams: <T = unknown>(reqFuncName: RequestApi) => (operationID?: string) => Promise<WsResponse<T>>;
private handleMessage;
private handleReconnectSuccess;
login: (params: LoginParams, operationID?: string) => Promise<WsResponse>;
logout: (operationID?: string) => Promise<WsResponse<unknown>>;
getLoginStatus: (operationID?: string) => Promise<WsResponse<LoginStatus>>;
getLoginUserID: (operationID?: string) => Promise<WsResponse<string>>;
private internalUploadFile;
uploadFile: ({ file }: UploadFileParams, operationID?: string) => Promise<WsResponse<{
url: string;
}>>;
createImageMessageByFile: (params: ImageMsgParams & {
file: File;
}, operationID?: string) => Promise<WsResponse<MessageItem>>;
createVideoMessageByFile: (params: VideoMsgParams & {
videoFile: File;
snapshotFile: File;
}, operationID?: string) => Promise<WsResponse<MessageItem>>;
createSoundMessageByFile: (params: SoundMsgParams & {
file: File;
}, operationID?: string) => Promise<WsResponse<MessageItem>>;
createFileMessageByFile: (params: FileMsgParams & {
file: File;
}, operationID?: string) => Promise<WsResponse<MessageItem>>;
getSelfUserInfo: UserApi['getSelfUserInfo'];
setSelfInfo: UserApi['setSelfInfo'];
getUsersInfoWithCache: UserApi['getUsersInfoWithCache'];
subscribeUsersStatus: UserApi['subscribeUsersStatus'];
unsubscribeUsersStatus: UserApi['unsubscribeUsersStatus'];
getSubscribeUsersStatus: UserApi['getSubscribeUsersStatus'];
setAppBackgroundStatus: UserApi['setAppBackgroundStatus'];
networkStatusChanged: UserApi['networkStatusChanged'];
setGlobalRecvMessageOpt: UserApi['setGlobalRecvMessageOpt'];
acceptFriendApplication: FriendApi['acceptFriendApplication'];
addBlack: FriendApi['addBlack'];
addFriend: FriendApi['addFriend'];
checkFriend: FriendApi['checkFriend'];
deleteFriend: FriendApi['deleteFriend'];
getBlackList: FriendApi['getBlackList'];
getFriendApplicationListAsApplicant: FriendApi['getFriendApplicationListAsApplicant'];
getFriendApplicationListAsRecipient: FriendApi['getFriendApplicationListAsRecipient'];
getFriendList: FriendApi['getFriendList'];
getSpecifiedFriendsInfo: FriendApi['getSpecifiedFriendsInfo'];
refuseFriendApplication: FriendApi['refuseFriendApplication'];
removeBlack: FriendApi['removeBlack'];
searchFriends: FriendApi['searchFriends'];
setFriendRemark: FriendApi['setFriendRemark'];
createGroup: GroupApi['createGroup'];
joinGroup: GroupApi['joinGroup'];
inviteUserToGroup: GroupApi['inviteUserToGroup'];
getJoinedGroupList: GroupApi['getJoinedGroupList'];
searchGroups: GroupApi['searchGroups'];
getSpecifiedGroupsInfo: GroupApi['getSpecifiedGroupsInfo'];
setGroupInfo: GroupApi['setGroupInfo'];
getGroupApplicationListAsRecipient: GroupApi['getGroupApplicationListAsRecipient'];
getGroupApplicationListAsApplicant: GroupApi['getGroupApplicationListAsApplicant'];
acceptGroupApplication: GroupApi['acceptGroupApplication'];
refuseGroupApplication: GroupApi['refuseGroupApplication'];
getGroupMemberList: GroupApi['getGroupMemberList'];
getSpecifiedGroupMembersInfo: GroupApi['getSpecifiedGroupMembersInfo'];
searchGroupMembers: GroupApi['searchGroupMembers'];
setGroupMemberInfo: GroupApi['setGroupMemberInfo'];
getGroupMemberOwnerAndAdmin: GroupApi['getGroupMemberOwnerAndAdmin'];
getGroupMemberListByJoinTimeFilter: GroupApi['getGroupMemberListByJoinTimeFilter'];
kickGroupMember: GroupApi['kickGroupMember'];
changeGroupMemberMute: GroupApi['changeGroupMemberMute'];
changeGroupMute: GroupApi['changeGroupMute'];
transferGroupOwner: GroupApi['transferGroupOwner'];
dismissGroup: GroupApi['dismissGroup'];
quitGroup: GroupApi['quitGroup'];
createTextMessage: MessageApi['createTextMessage'];
createTextAtMessage: MessageApi['createTextAtMessage'];
createImageMessageByURL: MessageApi['createImageMessageByURL'];
createSoundMessageByURL: MessageApi['createSoundMessageByURL'];
createVideoMessageByURL: MessageApi['createVideoMessageByURL'];
createFileMessageByURL: MessageApi['createFileMessageByURL'];
createMergerMessage: MessageApi['createMergerMessage'];
createForwardMessage: MessageApi['createForwardMessage'];
createLocationMessage: MessageApi['createLocationMessage'];
createQuoteMessage: MessageApi['createQuoteMessage'];
createCardMessage: MessageApi['createCardMessage'];
createCustomMessage: MessageApi['createCustomMessage'];
createFaceMessage: MessageApi['createFaceMessage'];
sendMessage: MessageApi['sendMessage'];
sendMessageNotOss: MessageApi['sendMessageNotOss'];
typingStatusUpdate: MessageApi['typingStatusUpdate'];
revokeMessage: MessageApi['revokeMessage'];
deleteMessage: MessageApi['deleteMessage'];
deleteMessageFromLocalStorage: MessageApi['deleteMessageFromLocalStorage'];
deleteAllMsgFromLocal: MessageApi['deleteAllMsgFromLocal'];
deleteAllMsgFromLocalAndSvr: MessageApi['deleteAllMsgFromLocalAndSvr'];
searchLocalMessages: MessageApi['searchLocalMessages'];
getAdvancedHistoryMessageList: MessageApi['getAdvancedHistoryMessageList'];
getAdvancedHistoryMessageListReverse: MessageApi['getAdvancedHistoryMessageListReverse'];
findMessageList: MessageApi['findMessageList'];
insertGroupMessageToLocalStorage: MessageApi['insertGroupMessageToLocalStorage'];
insertSingleMessageToLocalStorage: MessageApi['insertSingleMessageToLocalStorage'];
setMessageLocalEx: MessageApi['setMessageLocalEx'];
getAllConversationList: ConversationApi['getAllConversationList'];
getConversationListSplit: ConversationApi['getConversationListSplit'];
getOneConversation: ConversationApi['getOneConversation'];
getMultipleConversation: ConversationApi['getMultipleConversation'];
getConversationIDBySessionType: ConversationApi['getConversationIDBySessionType'];
getTotalUnreadMsgCount: ConversationApi['getTotalUnreadMsgCount'];
markConversationMessageAsRead: ConversationApi['markConversationMessageAsRead'];
setConversationDraft: ConversationApi['setConversationDraft'];
pinConversation: ConversationApi['pinConversation'];
setConversationRecvMessageOpt: ConversationApi['setConversationRecvMessageOpt'];
setConversationPrivateChat: ConversationApi['setConversationPrivateChat'];
setConversationBurnDuration: ConversationApi['setConversationBurnDuration'];
resetConversationGroupAtType: ConversationApi['resetConversationGroupAtType'];
hideConversation: ConversationApi['hideConversation'];
hideAllConversation: ConversationApi['hideAllConversation'];
clearConversationAndDeleteAllMsg: ConversationApi['clearConversationAndDeleteAllMsg'];
deleteConversationAndDeleteAllMsg: ConversationApi['deleteConversationAndDeleteAllMsg'];
}
export default OpenIMSDK;
export type MixinApiService = OpenIMSDK & UserApi & FriendApi & GroupApi & MessageApi & ConversationApi;