qn-im-sdk
Version:
QnzsIM SDK
173 lines (172 loc) • 13.5 kB
TypeScript
import Emitter from "../event";
import { InitConfig, WsResponse, AtMsgParams, ImageMsgParams, SoundMsgParams, VideoMsgParams, FileMsgParams, MergerMsgParams, LocationMsgParams, CustomMsgParams, QuoteMsgParams, SendMsgParams, GetHistoryMsgParams, InsertSingleMsgParams, TypingUpdateParams, MarkC2CParams, GetOneCveParams, SetDraftParams, PinCveParams, AddFriendParams, InviteGroupParams, GetGroupMemberParams, CreateGroupParams, JoinGroupParams, TransferGroupParams, AccessGroupParams, SplitParams, AccessFriendParams, GroupInfoParams, RemarkFriendParams, PartialUserItem, isRecvParams, SearchLocalParams, InsertGroupMsgParams, FaceMessageParams, RtcInvite, RtcActionParams, GroupMsgReadParams, ChangeGroupMuteParams, ChangeGroupMemberMuteParams, setPrvParams, MarkNotiParams, FileMsgFullParams, SouondMsgFullParams, VideoMsgFullParams, MemberNameParams, AdvancedMsgParams, GetSubDepParams, SearchInOrzParams, SetGroupRoleParams, SetGroupVerificationParams, SearchFriendParams, OptType, SearchGroupParams, GetGroupMemberByTimeParams, SearchGroupMemberParams, AdvancedQuoteMsgParams, SetMemberAuthParams, GetAdvancedHistoryMsgParams, FindMessageParams } from "../types";
export default class QnzsIMSDK extends Emitter {
private ws;
private uid;
private token;
private platform;
private wsUrl;
private lock;
private logoutFlag;
private ws2promise;
private onceFlag;
private timer;
private lastTime;
private heartbeatCount;
private heartbeatStartTime;
private platformID;
private isBatch;
private worker;
constructor();
private emitUploadLimitMessage;
/**
* 检查文件上传权限
* @param operationID 操作ID(可选)
* @returns Promise<WsResponse>
*/
checkUploadPermission: (operationID?: string) => Promise<WsResponse>;
/**
* 释放上传配额(上传失败时调用)
* @param uploadToken 上传令牌
*/
releaseUploadQuota: (uploadToken: string) => void;
/**
*
* @description init and login QnzsIMSDK
* @param uid userID
* @param token token
* @param url service url
* @param platformID platformID
* @param operationID? unique operation ID
* @returns
*/
login(config: InitConfig): Promise<WsResponse>;
private iLogin;
logout(operationID?: string): Promise<WsResponse>;
getLoginStatus: (operationID?: string) => Promise<WsResponse>;
getLoginUser: (operationID?: string) => Promise<WsResponse>;
getSelfUserInfo: (operationID?: string) => Promise<WsResponse>;
getUsersInfo: (data: string[], operationID?: string) => Promise<WsResponse>;
setSelfInfo: (data: PartialUserItem, operationID?: string) => Promise<WsResponse>;
createTextMessage: (data: string, operationID?: string) => Promise<WsResponse>;
createTextAtMessage: (data: AtMsgParams, operationID?: string) => Promise<WsResponse>;
createAdvancedTextMessage: (data: AdvancedMsgParams, operationID?: string) => Promise<WsResponse>;
createImageMessage: (data: ImageMsgParams, operationID?: string) => Promise<WsResponse>;
createSoundMessage: (data: SoundMsgParams, operationID?: string) => Promise<WsResponse>;
createVideoMessage: (data: VideoMsgParams, operationID?: string) => Promise<WsResponse>;
createFileMessage: (data: FileMsgParams, operationID?: string) => Promise<WsResponse>;
createFileMessageFromFullPath: (data: FileMsgFullParams, operationID?: string) => Promise<WsResponse>;
createImageMessageFromFullPath: (data: string, operationID?: string) => Promise<WsResponse>;
createSoundMessageFromFullPath: (data: SouondMsgFullParams, operationID?: string) => Promise<WsResponse>;
createVideoMessageFromFullPath: (data: VideoMsgFullParams, operationID?: string) => Promise<WsResponse>;
createMergerMessage: (data: MergerMsgParams, operationID?: string) => Promise<WsResponse>;
createForwardMessage: (data: string, operationID?: string) => Promise<WsResponse>;
createFaceMessage: (data: FaceMessageParams, operationID?: string) => Promise<WsResponse>;
createLocationMessage: (data: LocationMsgParams, operationID?: string) => Promise<WsResponse>;
createCustomMessage: (data: CustomMsgParams, operationID?: string) => Promise<WsResponse>;
createQuoteMessage: (data: QuoteMsgParams, operationID?: string) => Promise<WsResponse>;
createAdvancedQuoteMessage: (data: AdvancedQuoteMsgParams, operationID?: string) => Promise<WsResponse>;
createCardMessage: (data: string, operationID?: string) => Promise<WsResponse>;
sendMessage: (data: SendMsgParams, operationID?: string) => Promise<WsResponse>;
sendMessageNotOss: (data: SendMsgParams, operationID?: string) => Promise<WsResponse>;
getHistoryMessageList: (data: GetHistoryMsgParams, operationID?: string) => Promise<WsResponse>;
getAdvancedHistoryMessageList: (data: GetAdvancedHistoryMsgParams, operationID?: string) => Promise<WsResponse>;
getHistoryMessageListReverse: (data: GetHistoryMsgParams, operationID?: string) => Promise<WsResponse>;
revokeMessage: (data: string, operationID?: string) => Promise<WsResponse>;
setOneConversationPrivateChat: (data: setPrvParams, operationID?: string) => Promise<WsResponse>;
deleteMessageFromLocalStorage: (data: string, operationID?: string) => Promise<WsResponse>;
deleteMessageFromLocalAndSvr: (data: string, operationID?: string) => Promise<WsResponse>;
deleteConversationFromLocalAndSvr: (data: string, operationID?: string) => Promise<WsResponse>;
deleteAllConversationFromLocal: (operationID?: string) => Promise<WsResponse>;
deleteAllMsgFromLocal: (operationID?: string) => Promise<WsResponse>;
deleteAllMsgFromLocalAndSvr: (operationID?: string) => Promise<WsResponse>;
markGroupMessageHasRead: (data: string, operationID?: string) => Promise<WsResponse>;
markGroupMessageAsRead: (data: GroupMsgReadParams, operationID?: string) => Promise<WsResponse>;
insertSingleMessageToLocalStorage: (data: InsertSingleMsgParams, operationID?: string) => Promise<WsResponse>;
insertGroupMessageToLocalStorage: (data: InsertGroupMsgParams, operationID?: string) => Promise<WsResponse>;
typingStatusUpdate: (data: TypingUpdateParams, operationID?: string) => Promise<WsResponse>;
markC2CMessageAsRead: (data: MarkC2CParams, operationID?: string) => Promise<WsResponse>;
markNotifyMessageHasRead: (conversationID: string, operationID?: string) => void;
markMessageAsReadByConID: (data: MarkNotiParams, operationID?: string) => Promise<WsResponse>;
clearC2CHistoryMessage: (data: string, operationID?: string) => Promise<WsResponse>;
clearC2CHistoryMessageFromLocalAndSvr: (data: string, operationID?: string) => Promise<WsResponse>;
clearGroupHistoryMessage: (data: string, operationID?: string) => Promise<WsResponse>;
clearGroupHistoryMessageFromLocalAndSvr: (data: string, operationID?: string) => Promise<WsResponse>;
getAllConversationList: (operationID?: string) => Promise<WsResponse>;
getConversationListSplit: (data: SplitParams, operationID?: string) => Promise<WsResponse>;
getOneConversation: (data: GetOneCveParams, operationID?: string) => Promise<WsResponse>;
getConversationIDBySessionType: (data: GetOneCveParams, operationID?: string) => Promise<WsResponse>;
getMultipleConversation: (data: string[], operationID?: string) => Promise<WsResponse>;
deleteConversation: (data: string, operationID?: string) => Promise<WsResponse>;
setConversationDraft: (data: SetDraftParams, operationID?: string) => Promise<WsResponse>;
pinConversation: (data: PinCveParams, operationID?: string) => Promise<WsResponse>;
getTotalUnreadMsgCount: (operationID?: string) => Promise<WsResponse>;
getConversationRecvMessageOpt: (data: string[], operationID?: string) => Promise<WsResponse>;
setConversationRecvMessageOpt: (data: isRecvParams, operationID?: string) => Promise<WsResponse>;
searchLocalMessages: (data: SearchLocalParams, operationID?: string) => Promise<WsResponse>;
addFriend: (data: AddFriendParams, operationID?: string) => Promise<WsResponse>;
searchFriends: (data: SearchFriendParams, operationID?: string) => Promise<WsResponse>;
getDesignatedFriendsInfo: (data: string[], operationID?: string) => Promise<WsResponse>;
getRecvFriendApplicationList: (operationID?: string) => Promise<WsResponse>;
getSendFriendApplicationList: (operationID?: string) => Promise<WsResponse>;
getFriendList: (operationID?: string) => Promise<WsResponse>;
setFriendRemark: (data: RemarkFriendParams, operationID?: string) => Promise<WsResponse>;
checkFriend: (data: string[], operationID?: string) => Promise<WsResponse>;
acceptFriendApplication: (data: AccessFriendParams, operationID?: string) => Promise<WsResponse>;
refuseFriendApplication: (data: AccessFriendParams, operationID?: string) => Promise<WsResponse>;
deleteFriend: (data: string, operationID?: string) => Promise<WsResponse>;
addBlack: (data: string, operationID?: string) => Promise<WsResponse>;
removeBlack: (data: string, operationID?: string) => Promise<WsResponse>;
getBlackList: (operationID?: string) => Promise<WsResponse>;
inviteUserToGroup: (data: InviteGroupParams, operationID?: string) => Promise<WsResponse>;
kickGroupMember: (data: InviteGroupParams, operationID?: string) => Promise<WsResponse>;
getGroupMembersInfo: (data: Omit<InviteGroupParams, "reason">, operationID?: string) => Promise<WsResponse>;
getGroupMemberList: (data: GetGroupMemberParams, operationID?: string) => Promise<WsResponse>;
getGroupMemberListByJoinTimeFilter: (data: GetGroupMemberByTimeParams, operationID?: string) => Promise<WsResponse>;
searchGroupMembers: (data: SearchGroupMemberParams, operationID?: string) => Promise<WsResponse>;
setGroupApplyMemberFriend: (data: SetMemberAuthParams, operationID?: string) => Promise<WsResponse>;
setGroupLookMemberInfo: (data: SetMemberAuthParams, operationID?: string) => Promise<WsResponse>;
getJoinedGroupList: (operationID?: string) => Promise<WsResponse>;
createGroup: (data: CreateGroupParams, operationID?: string) => Promise<WsResponse>;
setGroupInfo: (data: GroupInfoParams, operationID?: string) => Promise<WsResponse>;
setGroupMemberNickname: (data: MemberNameParams, operationID?: string) => Promise<WsResponse>;
getGroupsInfo: (data: string[], operationID?: string) => Promise<WsResponse>;
joinGroup: (data: JoinGroupParams, operationID?: string) => Promise<WsResponse>;
searchGroups: (data: SearchGroupParams, operationID?: string) => Promise<WsResponse>;
quitGroup: (data: string, operationID?: string) => Promise<WsResponse>;
dismissGroup: (data: string, operationID?: string) => Promise<WsResponse>;
changeGroupMute: (data: ChangeGroupMuteParams, operationID?: string) => Promise<WsResponse>;
changeGroupMemberMute: (data: ChangeGroupMemberMuteParams, operationID?: string) => Promise<WsResponse>;
transferGroupOwner: (data: TransferGroupParams, operationID?: string) => Promise<WsResponse>;
getSendGroupApplicationList: (operationID?: string) => Promise<WsResponse>;
getRecvGroupApplicationList: (operationID?: string) => Promise<WsResponse>;
acceptGroupApplication: (data: AccessGroupParams, operationID?: string) => Promise<WsResponse>;
refuseGroupApplication: (data: AccessGroupParams, operationID?: string) => Promise<WsResponse>;
signalingInvite: (data: RtcInvite, operationID?: string) => Promise<WsResponse>;
signalingInviteInGroup: (data: RtcInvite, operationID?: string) => Promise<WsResponse>;
signalingAccept: (data: RtcActionParams, operationID?: string) => Promise<WsResponse>;
signalingReject: (data: RtcActionParams, operationID?: string) => Promise<WsResponse>;
signalingCancel: (data: RtcActionParams, operationID?: string) => Promise<WsResponse>;
signalingHungUp: (data: RtcActionParams, operationID?: string) => Promise<WsResponse>;
getSubDepartment: (data: GetSubDepParams, operationID?: string) => Promise<WsResponse>;
getDepartmentMember: (data: GetSubDepParams, operationID?: string) => Promise<WsResponse>;
getUserInDepartment: (userID: string, operationID?: string) => Promise<WsResponse>;
getDepartmentMemberAndSubDepartment: (departmentID: string, operationID?: string) => Promise<WsResponse>;
getDepartmentInfo: (departmentID: string, operationID?: string) => Promise<WsResponse>;
searchOrganization: (data: SearchInOrzParams, operationID?: string) => Promise<WsResponse>;
resetConversationGroupAtType: (data: string, operationID?: string) => Promise<WsResponse>;
setGroupMemberRoleLevel: (data: SetGroupRoleParams, operationID?: string) => Promise<WsResponse>;
setGroupVerification: (data: SetGroupVerificationParams, operationID?: string) => Promise<WsResponse>;
setGlobalRecvMessageOpt: (data: {
opt: OptType;
}, operationID?: string) => Promise<WsResponse>;
newRevokeMessage: (data: string, operationID?: string) => Promise<WsResponse>;
findMessageList: (data: FindMessageParams, operationID?: string) => Promise<WsResponse>;
private wsSend;
private loadRemoteCensorWords;
private getPlatform;
private createWs;
private reconnect;
private clearTimer;
private heartbeat;
}