@@ -75,6 +75,17 @@ -(void)localSessionList:(NSString *)sessionId sessionType:(NSString *)sessionTyp
7575 // NIMMessageSearchOption *option = [[NIMMessageSearchOption alloc]init];
7676}
7777
78+ // 重发消息
79+ - (void )resendMessage : (NSString *)messageID {
80+ NSArray *currentMessage = [[[NIMSDK sharedSDK ] conversationManager ] messagesInSession: _session messageIds: @[messageID] ];
81+ NIMMessage *currentM = currentMessage[0 ];
82+ if (currentM.isReceivedMsg ) {
83+ [[[NIMSDK sharedSDK ] chatManager ] fetchMessageAttachment: currentM error: nil ];
84+ }else {
85+ [[[NIMSDK sharedSDK ] chatManager ] resendMessage: currentM error: nil ];
86+ }
87+ }
88+
7889-(void )localSession : (NSInteger )index cerrentmessageId : (NSString *)currentMessageID success : (Success)succe err : (Errors)err {
7990 _index = index;
8091 [[NIMSDK sharedSDK ].conversationManager markAllMessagesReadInSession: _session];
@@ -140,10 +151,10 @@ -(NSMutableArray *)setTimeArr:(NSArray *)messageArr{
140151 [dic setObject: @" send_failed" forKey: @" status" ];
141152 break ;
142153 case NIMMessageDeliveryStateDelivering:
143- [dic setObject: @" kMsgStatusSending " forKey: @" status" ];
154+ [dic setObject: @" send_going " forKey: @" status" ];
144155 break ;
145156 case NIMMessageDeliveryStateDeliveried:
146- [dic setObject: @" kMsgStatusSuccess " forKey: @" status" ];
157+ [dic setObject: @" send_succeed " forKey: @" status" ];
147158 break ;
148159 default :
149160 [dic setObject: @" -1" forKey: @" status" ];
@@ -506,18 +517,18 @@ -(void)muteMessage:(NSString *)contactId mute:(NSString *)mute Succ:(Success)suc
506517
507518- (void )willSendMessage : (NIMMessage *)message
508519{
509- [self refrashMessage: message From: @" send" isStart: YES ];
520+ [self refrashMessage: message From: @" send" ];
510521 NIMModel *model = [NIMModel initShareMD ];
511522 model.startSend = @{@" start" :@" true" };
512523}
513524// 发送结果
514525- (void )sendMessage : (NIMMessage *)message didCompleteWithError : (NSError *)error
515526{
516527 if (!error) {
517- [self refrashMessage: message From: @" send" isStart: NO ];
528+ [self refrashMessage: message From: @" send" ];
518529 [[NSUserDefaults standardUserDefaults ]setObject: [NSString stringWithFormat: @" %f " , message.timestamp] forKey: @" timestamp" ];
519530 }else {
520- [self refrashMessage: message From: @" send" isStart: NO ];
531+ [self refrashMessage: message From: @" send" ];
521532 }
522533 NIMModel *model = [NIMModel initShareMD ];
523534 if ([[NSString stringWithFormat: @" %@ " , error] isEqualToString: @" (null)" ]) {
@@ -530,7 +541,7 @@ - (void)sendMessage:(NIMMessage *)message didCompleteWithError:(NSError *)error
530541// 发送进度
531542-(void )sendMessage : (NIMMessage *)message progress : (float )progress
532543{
533- [self refrashMessage: message From: @" send" isStart: NO ];
544+ [self refrashMessage: message From: @" send" ];
534545 NIMModel *model = [NIMModel initShareMD ];
535546 model.endSend = @{@" progress" :[NSString stringWithFormat: @" %f " ,progress]};
536547}
@@ -541,7 +552,7 @@ - (void)onRecvMessages:(NSArray *)messages
541552{
542553 NIMMessage *message = messages.firstObject ;
543554 if ([message.session.sessionId isEqualToString: _sessionID]) {
544- [self refrashMessage: message From: @" receive" isStart: NO ];
555+ [self refrashMessage: message From: @" receive" ];
545556 NIMMessageReceipt *receipt = [[NIMMessageReceipt alloc ] initWithMessage: message];
546557
547558 [[[NIMSDK sharedSDK ] chatManager ] sendMessageReceipt: receipt
@@ -744,7 +755,7 @@ - (void)onReceiveCustomSystemNotification:(NIMCustomSystemNotification *)notific
744755}
745756
746757
747- -(void )refrashMessage : (NIMMessage *)message From : (NSString *)from isStart : ( BOOL ) isStart {
758+ -(void )refrashMessage : (NIMMessage *)message From : (NSString *)from {
748759 NSMutableArray *messageArr = [NSMutableArray array ];
749760 NSMutableDictionary *dic2 = [NSMutableDictionary dictionary ];
750761 NIMUser *user = [[NIMSDK sharedSDK ].userManager userInfo: message.from];
@@ -768,7 +779,6 @@ -(void)refrashMessage:(NIMMessage *)message From:(NSString *)from isStart:(BOOL)
768779 [dic2 setObject: [NSString stringWithFormat: @" %@ " , message.text] forKey: @" text" ];
769780 [dic2 setObject: [NSString stringWithFormat: @" %@ " , message.session.sessionId] forKey: @" sessionId" ];
770781 [dic2 setObject: [NSString stringWithFormat: @" %ld " , message.session.sessionType] forKey: @" sessionType" ];
771- [dic2 setObject: [NSNumber numberWithBool: isStart] forKey: @" isStart" ];
772782 switch (message.deliveryState ) {
773783 case NIMMessageDeliveryStateFailed:
774784 [dic2 setObject: @" send_failed" forKey: @" status" ];
0 commit comments