更新测试
This commit is contained in:
		
							parent
							
								
									58fa80a2f8
								
							
						
					
					
						commit
						e13c4c6658
					
				| @ -57,5 +57,5 @@ android { | |||||||
| } | } | ||||||
| 
 | 
 | ||||||
| dependencies { | dependencies { | ||||||
|     implementation 'com.openim:sdkcore:1.0.4' |     implementation 'com.openim:sdkcore:1.0.6' | ||||||
| } | } | ||||||
| @ -29,6 +29,14 @@ public class OnAdvancedMsgListener implements open_im_sdk_callback.OnAdvancedMsg | |||||||
|         CommonUtil.emitEvent("advancedMsgListener", "onNewRecvMessageRevoked", values); |         CommonUtil.emitEvent("advancedMsgListener", "onNewRecvMessageRevoked", values); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  |     @Override | ||||||
|  |     public void onNewRecvMessageEdited(String s) { | ||||||
|  |         final Map<String, String> values = new ArrayMap<>(); | ||||||
|  |         values.put("id", id); | ||||||
|  |         values.put("messageEdited", s); | ||||||
|  |         CommonUtil.emitEvent("advancedMsgListener", "onNewRecvMessageEdited", values); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|     @Override |     @Override | ||||||
|     public void onRecvC2CReadReceipt(String s) { |     public void onRecvC2CReadReceipt(String s) { | ||||||
|         final Map<String, String> values = new ArrayMap<>(); |         final Map<String, String> values = new ArrayMap<>(); | ||||||
|  | |||||||
| @ -42,6 +42,16 @@ public class MessageManager extends BaseManager { | |||||||
|         ); |         ); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  |     public void editMessage(MethodCall methodCall, MethodChannel.Result result) { | ||||||
|  |         Open_im_sdk.editMessage( | ||||||
|  |                 new OnBaseListener(result, methodCall), | ||||||
|  |                 value(methodCall, "operationID"), | ||||||
|  |                 value(methodCall, "conversationID"), | ||||||
|  |                 value(methodCall, "clientMsgID"), | ||||||
|  |                 value(methodCall, "content") | ||||||
|  |         ); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|     public void deleteMessageFromLocalStorage(MethodCall methodCall, MethodChannel.Result result) { |     public void deleteMessageFromLocalStorage(MethodCall methodCall, MethodChannel.Result result) { | ||||||
|         Open_im_sdk.deleteMessageFromLocalStorage( |         Open_im_sdk.deleteMessageFromLocalStorage( | ||||||
|                 new OnBaseListener(result, methodCall), |                 new OnBaseListener(result, methodCall), | ||||||
|  | |||||||
| @ -168,6 +168,9 @@ class MessageType { | |||||||
|   /// Recall Message |   /// Recall Message | ||||||
|   static const revokeMessageNotification = 2101; |   static const revokeMessageNotification = 2101; | ||||||
| 
 | 
 | ||||||
|  |   /// Edit Message | ||||||
|  |   static const editMessageNotification = 2108; | ||||||
|  | 
 | ||||||
|   /// Single Chat Has Read Receipt |   /// Single Chat Has Read Receipt | ||||||
|   static const signalHasReadReceiptNotification = 2150; |   static const signalHasReadReceiptNotification = 2150; | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -4,6 +4,7 @@ import 'package:flutter_openim_sdk/flutter_openim_sdk.dart'; | |||||||
| class OnAdvancedMsgListener { | class OnAdvancedMsgListener { | ||||||
|   Function(Message msg)? onMsgDeleted; |   Function(Message msg)? onMsgDeleted; | ||||||
|   Function(RevokedInfo info)? onNewRecvMessageRevoked; |   Function(RevokedInfo info)? onNewRecvMessageRevoked; | ||||||
|  |   Function(EditedInfo info)? onNewRecvMessageEdited; | ||||||
|   Function(List<ReadReceiptInfo> list)? onRecvC2CReadReceipt; |   Function(List<ReadReceiptInfo> list)? onRecvC2CReadReceipt; | ||||||
|   Function(Message msg)? onRecvNewMessage; |   Function(Message msg)? onRecvNewMessage; | ||||||
|   Function(Message msg)? onRecvOfflineNewMessage; |   Function(Message msg)? onRecvOfflineNewMessage; | ||||||
| @ -15,6 +16,7 @@ class OnAdvancedMsgListener { | |||||||
|   OnAdvancedMsgListener({ |   OnAdvancedMsgListener({ | ||||||
|     this.onMsgDeleted, |     this.onMsgDeleted, | ||||||
|     this.onNewRecvMessageRevoked, |     this.onNewRecvMessageRevoked, | ||||||
|  |     this.onNewRecvMessageEdited, | ||||||
|     this.onRecvC2CReadReceipt, |     this.onRecvC2CReadReceipt, | ||||||
|     this.onRecvNewMessage, |     this.onRecvNewMessage, | ||||||
|     this.onRecvOfflineNewMessage, |     this.onRecvOfflineNewMessage, | ||||||
| @ -30,6 +32,12 @@ class OnAdvancedMsgListener { | |||||||
|     onNewRecvMessageRevoked?.call(info); |     onNewRecvMessageRevoked?.call(info); | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|  |   /// Message has been edited | ||||||
|  |   void newRecvMessageEdited(EditedInfo info) { | ||||||
|  |     onNewRecvMessageEdited?.call(info); | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|   /// C2C Message Read Receipt |   /// C2C Message Read Receipt | ||||||
|   void recvC2CReadReceipt(List<ReadReceiptInfo> list) { |   void recvC2CReadReceipt(List<ReadReceiptInfo> list) { | ||||||
|     onRecvC2CReadReceipt?.call(list); |     onRecvC2CReadReceipt?.call(list); | ||||||
|  | |||||||
| @ -179,6 +179,11 @@ class IMManager { | |||||||
|               var info = Utils.toObj(value, (map) => RevokedInfo.fromJson(map)); |               var info = Utils.toObj(value, (map) => RevokedInfo.fromJson(map)); | ||||||
|               messageManager.msgListener.newRecvMessageRevoked(info); |               messageManager.msgListener.newRecvMessageRevoked(info); | ||||||
|               break; |               break; | ||||||
|  |             case 'onNewRecvMessageEdited': | ||||||
|  |               var value = call.arguments['data']['messageEdited']; | ||||||
|  |               var info = Utils.toObj(value, (map) => EditedInfo.fromJson(map)); | ||||||
|  |               messageManager.msgListener.newRecvMessageEdited(info); | ||||||
|  |               break; | ||||||
|             case 'onRecvC2CReadReceipt': |             case 'onRecvC2CReadReceipt': | ||||||
|               var value = call.arguments['data']['msgReceiptList']; |               var value = call.arguments['data']['msgReceiptList']; | ||||||
|               var list = Utils.toList(value, (map) => ReadReceiptInfo.fromJson(map)); |               var list = Utils.toList(value, (map) => ReadReceiptInfo.fromJson(map)); | ||||||
|  | |||||||
| @ -151,7 +151,8 @@ class MessageManager { | |||||||
| 
 | 
 | ||||||
|   /// Typing status update |   /// Typing status update | ||||||
|   /// [msgTip] Custom content |   /// [msgTip] Custom content | ||||||
|   @Deprecated('Use [OpenIM.iMManager.conversationManager.changeInputStates(conversationID:focus:)] instead') |   @Deprecated( | ||||||
|  |       'Use [OpenIM.iMManager.conversationManager.changeInputStates(conversationID:focus:)] instead') | ||||||
|   Future typingStatusUpdate({ |   Future typingStatusUpdate({ | ||||||
|     required String userID, |     required String userID, | ||||||
|     String? msgTip, |     String? msgTip, | ||||||
| @ -531,7 +532,8 @@ class MessageManager { | |||||||
|                 }, |                 }, | ||||||
|                 'operationID': Utils.checkOperationID(operationID), |                 'operationID': Utils.checkOperationID(operationID), | ||||||
|               })) |               })) | ||||||
|           .then((value) => Utils.toObj(value, (map) => SearchResult.fromJson(map))); |           .then((value) => | ||||||
|  |               Utils.toObj(value, (map) => SearchResult.fromJson(map))); | ||||||
| 
 | 
 | ||||||
|   /// Revoke a message |   /// Revoke a message | ||||||
|   /// [message] The message to be revoked |   /// [message] The message to be revoked | ||||||
| @ -548,6 +550,23 @@ class MessageManager { | |||||||
|             "operationID": Utils.checkOperationID(operationID), |             "operationID": Utils.checkOperationID(operationID), | ||||||
|           })); |           })); | ||||||
| 
 | 
 | ||||||
|  |   /// Edit a message | ||||||
|  |   /// [message] The message to be edited | ||||||
|  |   Future editMessage({ | ||||||
|  |     required String conversationID, | ||||||
|  |     required String clientMsgID, | ||||||
|  |     String? operationID, | ||||||
|  |     required String? content, | ||||||
|  |   }) => | ||||||
|  |       _channel.invokeMethod( | ||||||
|  |           'editMessage', | ||||||
|  |           _buildParam({ | ||||||
|  |             'conversationID': conversationID, | ||||||
|  |             'clientMsgID': clientMsgID, | ||||||
|  |             "operationID": Utils.checkOperationID(operationID), | ||||||
|  |             'content': content, | ||||||
|  |           })); | ||||||
|  | 
 | ||||||
|   /// Mark messages as read |   /// Mark messages as read | ||||||
|   /// [conversationID] Conversation ID |   /// [conversationID] Conversation ID | ||||||
|   /// [messageIDList] List of clientMsgIDs of messages to be marked as read |   /// [messageIDList] List of clientMsgIDs of messages to be marked as read | ||||||
| @ -587,7 +606,8 @@ class MessageManager { | |||||||
|                 'lastMinSeq': lastMinSeq ?? 0, |                 'lastMinSeq': lastMinSeq ?? 0, | ||||||
|                 'operationID': Utils.checkOperationID(operationID), |                 'operationID': Utils.checkOperationID(operationID), | ||||||
|               })) |               })) | ||||||
|           .then((value) => Utils.toObj(value, (map) => AdvancedMessage.fromJson(map))); |           .then((value) => | ||||||
|  |               Utils.toObj(value, (map) => AdvancedMessage.fromJson(map))); | ||||||
| 
 | 
 | ||||||
|   /// Get chat history (newly received chat history after startMsg). Used for locating a specific message in global search and then fetching messages received after that message. |   /// Get chat history (newly received chat history after startMsg). Used for locating a specific message in global search and then fetching messages received after that message. | ||||||
|   /// [conversationID] Conversation ID, can be used for querying notifications |   /// [conversationID] Conversation ID, can be used for querying notifications | ||||||
| @ -610,7 +630,8 @@ class MessageManager { | |||||||
|                 'lastMinSeq': lastMinSeq ?? 0, |                 'lastMinSeq': lastMinSeq ?? 0, | ||||||
|                 'operationID': Utils.checkOperationID(operationID), |                 'operationID': Utils.checkOperationID(operationID), | ||||||
|               })) |               })) | ||||||
|           .then((value) => Utils.toObj(value, (map) => AdvancedMessage.fromJson(map))); |           .then((value) => | ||||||
|  |               Utils.toObj(value, (map) => AdvancedMessage.fromJson(map))); | ||||||
| 
 | 
 | ||||||
|   /// Find message details |   /// Find message details | ||||||
|   /// [conversationID] Conversation ID |   /// [conversationID] Conversation ID | ||||||
| @ -626,7 +647,8 @@ class MessageManager { | |||||||
|                 'searchParams': searchParams.map((e) => e.toJson()).toList(), |                 'searchParams': searchParams.map((e) => e.toJson()).toList(), | ||||||
|                 'operationID': Utils.checkOperationID(operationID), |                 'operationID': Utils.checkOperationID(operationID), | ||||||
|               })) |               })) | ||||||
|           .then((value) => Utils.toObj(value, (map) => SearchResult.fromJson(map))); |           .then((value) => | ||||||
|  |               Utils.toObj(value, (map) => SearchResult.fromJson(map))); | ||||||
| 
 | 
 | ||||||
|   /// Rich text message |   /// Rich text message | ||||||
|   /// [text] Input content |   /// [text] Input content | ||||||
|  | |||||||
| @ -1123,6 +1123,73 @@ class RevokedInfo { | |||||||
|   } |   } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | /// Message revocation details | ||||||
|  | class EditedInfo { | ||||||
|  |   /// Editer's ID | ||||||
|  |   String? editerID; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |   /// Message ID | ||||||
|  |   String? clientMsgID; | ||||||
|  | 
 | ||||||
|  |   /// Revocation time | ||||||
|  |   int? editTime; | ||||||
|  | 
 | ||||||
|  |   /// Message sending time | ||||||
|  |   int? sourceMessageSendTime; | ||||||
|  | 
 | ||||||
|  |   /// Message sender | ||||||
|  |   String? sourceMessageSendID; | ||||||
|  | 
 | ||||||
|  |   /// Message sender's nickname | ||||||
|  |   String? sourceMessageSenderNickname; | ||||||
|  | 
 | ||||||
|  |   /// Conversation type [ConversationType] | ||||||
|  |   int? sessionType; | ||||||
|  | 
 | ||||||
|  |   /// Message content | ||||||
|  |   String? content; | ||||||
|  | 
 | ||||||
|  |   EditedInfo({ | ||||||
|  |     this.editerID, | ||||||
|  |     this.clientMsgID, | ||||||
|  |     this.editTime, | ||||||
|  |     this.sourceMessageSendTime, | ||||||
|  |     this.sourceMessageSendID, | ||||||
|  |     this.sourceMessageSenderNickname, | ||||||
|  |     this.sessionType, | ||||||
|  |     this.content, | ||||||
|  |   }); | ||||||
|  | 
 | ||||||
|  |   EditedInfo.fromJson(Map<String, dynamic> json) { | ||||||
|  |     editerID = json['editerID']; | ||||||
|  |     clientMsgID = json['clientMsgID']; | ||||||
|  |     editTime = json['editTime']; | ||||||
|  |     sourceMessageSendTime = json['sourceMessageSendTime']; | ||||||
|  |     sourceMessageSendID = json['sourceMessageSendID']; | ||||||
|  |     sourceMessageSenderNickname = json['sourceMessageSenderNickname']; | ||||||
|  |     sessionType = json['sessionType']; | ||||||
|  |     content = json['content']; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   Map<String, dynamic> toJson() { | ||||||
|  |     final data = Map<String, dynamic>(); | ||||||
|  |     data['editerID'] = this.editerID; | ||||||
|  |     data['clientMsgID'] = this.clientMsgID; | ||||||
|  |     data['editTime'] = this.editTime; | ||||||
|  |     data['sourceMessageSendTime'] = this.sourceMessageSendTime; | ||||||
|  |     data['sourceMessageSendID'] = this.sourceMessageSendID; | ||||||
|  |     data['sourceMessageSenderNickname'] = this.sourceMessageSenderNickname; | ||||||
|  |     data['sessionType'] = this.sessionType; | ||||||
|  |     data['content'] = this.content; | ||||||
|  |     return data; | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| class AdvancedMessage { | class AdvancedMessage { | ||||||
|   List<Message>? messageList; |   List<Message>? messageList; | ||||||
|   bool? isEnd; |   bool? isEnd; | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user