From 51667e19d7f38b316eae8df78ff65f87b115b461 Mon Sep 17 00:00:00 2001 From: hrxiang Date: Mon, 13 Dec 2021 10:21:27 +0800 Subject: [PATCH] Fix bug --- README.md | 252 ++++++++++++++---------- lib/src/manager/im_message_manager.dart | 1 + 2 files changed, 148 insertions(+), 105 deletions(-) diff --git a/README.md b/README.md index 74ecebe..d59d014 100644 --- a/README.md +++ b/README.md @@ -96,7 +96,7 @@ A flutter im plugin for android and ios. ``` OpenIM.iMManager.login(uid: uid, token: token).then((value){ - // login successful + // login success }); ``` @@ -104,40 +104,18 @@ A flutter im plugin for android and ios. ``` OpenIM.iMManager.conversationManager.getAllConversationList().then((list) { - // Return to the conversation list }); ``` -#### 6,Get contact list +#### 6,Get friend list ``` OpenIM.iMManager.friendshipManager.getFriendList().then((list) { - // Return to friends list }); ``` #### 7,Get chat history -``` -List chatMsgList = List.empty(growable: true); - -/// Custom message listener, the arrival of a new message will trigger the onNewMessage method callback -class CustomAdvancedMsgListener extends AdvancedMsgListener { - final ValueChanged? onNewMessage; - - CustomAdvancedMsgListener({ - this.onNewMessage, - }); - - @override - void onRecvNewMessage(Message msg) { - if (null != onNewMessage) onNewMessage!(msg); - } -} -``` - -- History news - ``` // If userID is not null and groupID is null, get a single chat message list // If the userID is null and the groupID is not null, get a group chat message list @@ -145,38 +123,12 @@ class CustomAdvancedMsgListener extends AdvancedMsgListener { userID: uid,//User id startMsg: startMsg,//Last message, take chatMsgList[0] groupID: gid,//Group id - count: 12,//Page Size + count: count,//Page Size ) - .then((list) => chatMsgList.addAll(list)); + .then((list){}); ``` -- New news - -``` -// Create a message listener -// After entering the chat page, you need to listen for new messages and then render the UI -// Each chat window has a unique uid (user id) or gid (group id) -// Determine whether the received message belongs to the current window according to uid or gid -var msgListener = CustomAdvancedMsgListener(onNewMessage: (message) { - // If the sender user id is equal to the user id of the current chat page, - // or the group id is equal to the current group id of the current chat page - if (message.sendID == uid || message.groupID == gid) { - if (!chatMsgList.contains(message)) { - // New message in current chat page - chatMsgList.add(event.message); - } - } -}); - -// Add message listener -OpenIM.iMManager.messageManager.addAdvancedMsgListener(msgListener); - -// Remove message monitoring -// After adding a message listener, if the page disposes, please remove the listener -// OpenIM.iMManager.messageManager.removeAdvancedMsgListener(msgListener); -``` - #### 8,Send a message ``` @@ -191,9 +143,7 @@ OpenIM.iMManager.messageManager.sendMessage( userID: uid, // Single chat value is not null groupID: gid, // The group chat value is not null ).then((v) { - // Sent successfully }).catchError((e){ - // Failed to send }); ``` @@ -218,70 +168,82 @@ OpenIM.iMManager.logout(); | getLoginUserInfo | Current user information | | setSelfInfo | Modify current user information | | getUsersInfo | Get user information by user id | -| forceReConn | Force reconnection | +| enabledSDKLog | Setup sdk log | #### OpenIM.iMManager.conversationManager -| method | description | -| ----------------------- | --------------------------- | -| setConversationListener | Listener | -| getAllConversationList | Get all conversation | -| getSingleConversation | Get a single conversation | -| getMultipleConversation | Get multiple conversation | -| deleteConversation | Delete conversation | -| setConversationDraft | Set conversation draftText | -| pinConversation | Top conversation | +| method | description | +| ----------------------------- | --------------------------------------- | +| setConversationListener | Listener | +| getAllConversationList | Get all conversation | +| getSingleConversation | Get single conversation | +| getMultipleConversation | Get multiple conversation | +| deleteConversation | Delete conversation | +| setConversationDraft | Set conversation draftText | +| pinConversation | Top conversation | +| markSingleMessageHasRead | Mark single chat messages as read | +| markGroupMessageHasRead | Mark group chat messages as read | +| getTotalUnreadMsgCount | Get the total number of unread messages | +| getConversationID | Query conversation id | +| setConversationRecvMessageOpt | Setup message do not disturb | +| getConversationRecvMessageOpt | Message do not disturb status | #### OpenIM.iMManager.friendshipManager -| method | description | -| ------------------------ | --------------------------- | -| setFriendshipListener | Listener | -| getFriendsInfo | Get friend information | -| addFriend | Add friends | -| getFriendApplicationList | Get friend application list | -| getFriendList | Get friends list | -| setFriendInfo | Edit friend notes | -| addToBlackList | Add to blacklist | -| getBlackList | Get blacklist list | -| deleteFromBlackList | Remove from blacklist | -| checkFriend | Check friendship | -| deleteFromFriendList | Remove friend | -| acceptFriendApplication | Accept friend application | -| refuseFriendApplication | Reject friend application | +| method | description | +| ------------------------ | ------------------------------------------------------------ | +| setFriendshipListener | Listener | +| getFriendsInfo | Get friend information | +| addFriend | Send an friend application | +| getFriendApplicationList | Get all friend application, sent to you by others | +| getFriendList | Find all friends including those who have been added to the blacklist | +| setFriendInfo | Modify friend information, only comment can be modified | +| addToBlackList | Add to blacklist | +| getBlackList | Get blacklist list | +| deleteFromBlackList | Remove from blacklist | +| checkFriend | Check friendship | +| deleteFromFriendList | Remove friend | +| acceptFriendApplication | Accept friend application | +| refuseFriendApplication | Reject friend application | #### OpenIM.iMManager.messageManager -| method | description | -| ------------------------------------------- | --------------------------------- | -| addAdvancedMsgListener | Add message listener | -| removeAdvancedMsgListener | Remove message listener | -| setMsgSendProgressListener | Message sending progress listener | -| sendMessage | Send a message | -| getHistoryMessageList | Get history news | -| revokeMessage | Revoke message | -| deleteMessageFromLocalStorage | Delete message | -| insertSingleMessageToLocalStorage | Insert message | -| findMessages | Query the message by id | -| markSingleMessageHasRead | Mark single chat messages as read | -| markGroupMessageHasRead | Mark group chat messages as read | -| markC2CMessageAsRead | Mark c2c message as read | -| typingStatusUpdate | Typing prompt | -| createTextMessage | Create text message | -| createTextAtMessage | Create @ message | -| createImageMessage | Create picture message | -| createSoundMessage | Create voice message | -| createVideoMessage | Create video message | -| createFileMessage | Create file message | -| createMergerMessage | Create merge message | -| createForwardMessage | Create a forwarded message | -| getTotalUnreadMsgCount | Get unread message count | +| method | description | +| --------------------------------- | --------------------------------- | +| addAdvancedMsgListener | Add message listener | +| setMsgSendProgressListener | Message sending progress listener | +| sendMessage | Send a message | +| getHistoryMessageList | Get history news | +| revokeMessage | Revoke message | +| deleteMessageFromLocalStorage | Delete message | +| insertSingleMessageToLocalStorage | Insert message | +| findMessages | Query the message by id | +| markC2CMessageAsRead | Mark c2c message as read | +| typingStatusUpdate | Typing prompt | +| createTextMessage | Create text message | +| createTextAtMessage | Create @ message | +| createImageMessage | Create picture message | +| createImageMessageFromFullPath | Create picture message | +| createSoundMessage | Create voice message | +| createSoundMessageFromFullPath | Create voice message | +| createVideoMessage | Create video message | +| createVideoMessageFromFullPath | Create video message | +| createFileMessage | Create file message | +| createFileMessageFromFullPath | Create file message | +| createMergerMessage | Create merge message | +| createForwardMessage | Create a forwarded message | +| createLocationMessage | Create location message | +| createCustomMessage | Create custom message | +| createQuoteMessage | Create quote message | +| createCardMessage | Create card message | +| clearC2CHistoryMessage | Clear all message history | +| clearGroupHistoryMessage | Clear all message history | @@ -297,11 +259,91 @@ OpenIM.iMManager.logout(); | getJoinedGroupList | Get joined groups | | isJoinedGroup | Check you have joined the group | | createGroup | Create a group | -| setGroupInfo | Set group information | +| setGroupInfo | Edit group information | | getGroupsInfo | Get group information | | joinGroup | Join group | | quitGroup | Exit group | | transferGroupOwner | Group permission transfer | | getGroupApplicationList | Get group application list | | acceptGroupApplication | Accept group invitation | -| refuseGroupApplication | Decline group invitation | +| refuseGroupApplication | Refuse group application | + +#### Other + +Message type + +``` + static const text = 101; + static const picture = 102; + static const voice = 103; + static const video = 104; + static const file = 105; + static const at_text = 106; + static const merger = 107; + static const card = 108; + static const location = 109; + static const custom = 110; + static const revoke = 111; + static const has_read_receipt = 112; + static const typing = 113; + static const quote = 114; + + /// + static const accept_friend = 201; + static const add_friend = 202; + static const refuse_friend_application = 203; + static const set_self_info = 204; + static const revoke_message = 205; + static const c2c_message_as_read = 206; + + static const kick_online = 303; + + + static const transfer_group_owner = 501; + static const create_group = 502; + // static const create_group = 503; + static const join_group = 504; + static const quit_group = 505; + static const set_group_info = 506; + static const accept_group_application = 507; + static const refuse_group_application = 508; + static const kick_group_member = 509; + static const invited_user_to_group = 510; +``` + +IM platform + +``` + static const ios = 1; + static const android = 2; + static const windows = 3; + static const xos = 4; + static const web = 5; + static const mini_web = 6; + static const linux = 7; +``` + +Group role + +``` + static const member = 0; + static const owner = 1; + static const admin = 2; +``` + +Conversation type + +``` + static const single_chat = 1; + static const group_chat = 2; +``` + +Message send status + +``` + static const sending = 1; + static const succeeded = 2; + static const failed = 3; + static const deleted = 4; +``` + diff --git a/lib/src/manager/im_message_manager.dart b/lib/src/manager/im_message_manager.dart index bc9b1fa..2643a96 100644 --- a/lib/src/manager/im_message_manager.dart +++ b/lib/src/manager/im_message_manager.dart @@ -21,6 +21,7 @@ class MessageManager { } /// Remove a message listener + @deprecated Future removeAdvancedMsgListener(AdvancedMsgListener listener) { advancedMsgListeners.remove(listener); return _channel.invokeMethod(