Skip to content

Commit e65a183

Browse files
guangyaoguangyao
authored andcommitted
解决未知消息类型的问题
1 parent f388018 commit e65a183

File tree

4 files changed

+34
-32
lines changed

4 files changed

+34
-32
lines changed

ios/RNNeteaseIm/RNNeteaseIm/ConversationViewController.m

Lines changed: 30 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -178,8 +178,7 @@ -(NSMutableArray *)setTimeArr:(NSArray *)messageArr{
178178

179179
if (message.messageType == NIMMessageTypeText) {
180180
[dic setObject:@"text" forKey:@"msgType"];
181-
}
182-
if (message.messageType == NIMMessageTypeImage) {
181+
}else if (message.messageType == NIMMessageTypeImage) {
183182
[dic setObject:@"image" forKey:@"msgType"];
184183
NIMImageObject *object = message.messageObject;
185184
[dic setObject:[NSString stringWithFormat:@"%@", [object thumbPath]] forKey:@"mediaPath"];
@@ -190,8 +189,7 @@ -(NSMutableArray *)setTimeArr:(NSArray *)messageArr{
190189
[imgObj setObject:[NSString stringWithFormat:@"%f",[object size].height] forKey:@"imageHeight"];
191190
[imgObj setObject:[NSString stringWithFormat:@"%f",[object size].width] forKey:@"imageWidth"];
192191
[dic setObject:imgObj forKey:@"extend"];
193-
}
194-
if(message.messageType == NIMMessageTypeAudio){
192+
}else if(message.messageType == NIMMessageTypeAudio){
195193
[dic setObject:@"voice" forKey:@"msgType"];
196194
NIMAudioObject *object = message.messageObject;
197195
[dic setObject:[NSString stringWithFormat:@"%@",object.path] forKey:@"mediaPath"];
@@ -202,8 +200,7 @@ -(NSMutableArray *)setTimeArr:(NSArray *)messageArr{
202200
[voiceObj setObject:[NSString stringWithFormat:@"%zd",(object.duration/1000)] forKey:@"duration"];
203201
[voiceObj setObject:[NSNumber numberWithBool:message.isPlayed] forKey:@"isPlayed"];
204202
[dic setObject:voiceObj forKey:@"extend"];
205-
}
206-
if(message.messageType == NIMMessageTypeVideo ){
203+
}else if(message.messageType == NIMMessageTypeVideo ){
207204
[dic setObject:@"video" forKey:@"msgType"];
208205
NIMVideoObject *object = message.messageObject;
209206

@@ -236,8 +233,7 @@ -(NSMutableArray *)setTimeArr:(NSArray *)messageArr{
236233
NSLog(@"下载进度%.f",progress);
237234
}];
238235
}
239-
}
240-
if(message.messageType == NIMMessageTypeLocation){
236+
}else if(message.messageType == NIMMessageTypeLocation){
241237
[dic setObject:@"location" forKey:@"msgType"];
242238
NIMLocationObject *object = message.messageObject;
243239
NSMutableDictionary *locationObj = [NSMutableDictionary dictionary];
@@ -246,14 +242,12 @@ -(NSMutableArray *)setTimeArr:(NSArray *)messageArr{
246242
[locationObj setObject:[NSString stringWithFormat:@"%@", object.title ] forKey:@"title"];
247243
[dic setObject:locationObj forKey:@"extend"];
248244

249-
}
250-
if(message.messageType == NIMMessageTypeTip){//提醒类消息
245+
}else if(message.messageType == NIMMessageTypeTip){//提醒类消息
251246
[dic setObject:@"notification" forKey:@"msgType"];
252247
NSMutableDictionary *notiObj = [NSMutableDictionary dictionary];
253248
[notiObj setObject:message.text forKey:@"tipMsg"];
254249
[dic setObject:notiObj forKey:@"extend"];
255-
}
256-
if (message.messageType == NIMMessageTypeNotification) {
250+
}else if (message.messageType == NIMMessageTypeNotification) {
257251
[dic setObject:@"notification" forKey:@"msgType"];
258252
NSMutableDictionary *notiObj = [NSMutableDictionary dictionary];
259253
NIMNotificationObject *object = message.messageObject;
@@ -267,18 +261,14 @@ -(NSMutableArray *)setTimeArr:(NSArray *)messageArr{
267261
}
268262
case NIMNotificationTypeNetCall:{
269263
[notiObj setObject:[NIMKitUtil messageTipContent:message]forKey:@"tipMsg"];
270-
271-
272264
break;
273265
}
274266
default:
275267
break;
276268
}
277269
[dic setObject:notiObj forKey:@"extend"];
278270

279-
}
280-
281-
if (message.messageType == NIMMessageTypeCustom) {
271+
}else if (message.messageType == NIMMessageTypeCustom) {
282272
NIMCustomObject *customObject = message.messageObject;
283273
DWCustomAttachment *obj = customObject.attachment;
284274
if (obj) {
@@ -331,10 +321,18 @@ -(NSMutableArray *)setTimeArr:(NSArray *)messageArr{
331321
}
332322
break;
333323
default:
324+
{
325+
[dic setObject:obj.dataDict forKey:@"extend"];
326+
[dic setObject:@"unknown" forKey:@"msgType"];
327+
}
334328
break;
335329

336330
}
337331
}
332+
}else{
333+
[dic setObject:@"unknown" forKey:@"msgType"];
334+
NSMutableDictionary *unknowObj = [NSMutableDictionary dictionary];
335+
[dic setObject:unknowObj forKey:@"extend"];
338336
}
339337
[dic setObject:fromUser forKey:@"fromUser"];
340338
[sourcesArr addObject:dic];
@@ -843,8 +841,7 @@ -(void)refrashMessage:(NIMMessage *)message From:(NSString *)from {
843841
[dic2 setObject:fromUser forKey:@"fromUser"];
844842
if (message.messageType == NIMMessageTypeText) {
845843
[dic2 setObject:@"text" forKey:@"msgType"];
846-
}
847-
if (message.messageType == NIMMessageTypeImage) {
844+
}else if (message.messageType == NIMMessageTypeImage) {
848845
[dic2 setObject:@"image" forKey:@"msgType"];
849846
NIMImageObject *object = message.messageObject;
850847
[dic2 setObject:[NSString stringWithFormat:@"%@", [object thumbPath]] forKey:@"mediaPath"];
@@ -855,8 +852,7 @@ -(void)refrashMessage:(NIMMessage *)message From:(NSString *)from {
855852
[imgObj setObject:[NSString stringWithFormat:@"%f",[object size].height] forKey:@"imageHeight"];
856853
[imgObj setObject:[NSString stringWithFormat:@"%f",[object size].width] forKey:@"imageWidth"];
857854
[dic2 setObject:imgObj forKey:@"extend"];
858-
}
859-
if(message.messageType == NIMMessageTypeAudio){
855+
}else if(message.messageType == NIMMessageTypeAudio){
860856
[dic2 setObject:@"voice" forKey:@"msgType"];
861857
NIMAudioObject *object = message.messageObject;
862858
[dic2 setObject:[NSString stringWithFormat:@"%@",object.path] forKey:@"mediaPath"];
@@ -867,8 +863,7 @@ -(void)refrashMessage:(NIMMessage *)message From:(NSString *)from {
867863
[voiceObj setObject:[NSString stringWithFormat:@"%zd",(object.duration/1000)] forKey:@"duration"];
868864
[voiceObj setObject:[NSNumber numberWithBool:message.isPlayed] forKey:@"isPlayed"];
869865
[dic2 setObject:voiceObj forKey:@"extend"];
870-
}
871-
if(message.messageType == NIMMessageTypeVideo ){
866+
}else if(message.messageType == NIMMessageTypeVideo ){
872867
[dic2 setObject:@"video" forKey:@"msgType"];
873868
NIMVideoObject *object = message.messageObject;
874869

@@ -901,8 +896,7 @@ -(void)refrashMessage:(NIMMessage *)message From:(NSString *)from {
901896
NSLog(@"下载进度%.f",progress);
902897
}];
903898
}
904-
}
905-
if(message.messageType == NIMMessageTypeLocation){
899+
}else if(message.messageType == NIMMessageTypeLocation){
906900
[dic2 setObject:@"location" forKey:@"msgType"];
907901
NIMLocationObject *object = message.messageObject;
908902
NSMutableDictionary *locationObj = [NSMutableDictionary dictionary];
@@ -911,14 +905,12 @@ -(void)refrashMessage:(NIMMessage *)message From:(NSString *)from {
911905
[locationObj setObject:[NSString stringWithFormat:@"%@", object.title ] forKey:@"title"];
912906
[dic2 setObject:locationObj forKey:@"extend"];
913907

914-
}
915-
if(message.messageType == NIMMessageTypeTip){//提醒类消息
908+
}else if(message.messageType == NIMMessageTypeTip){//提醒类消息
916909
[dic2 setObject:@"notification" forKey:@"msgType"];
917910
NSMutableDictionary *notiObj = [NSMutableDictionary dictionary];
918911
[notiObj setObject:message.text forKey:@"tipMsg"];
919912
[dic2 setObject:notiObj forKey:@"extend"];
920-
}
921-
if (message.messageType == NIMMessageTypeNotification) {
913+
}else if (message.messageType == NIMMessageTypeNotification) {
922914
[dic2 setObject:@"notification" forKey:@"msgType"];
923915
NSMutableDictionary *notiObj = [NSMutableDictionary dictionary];
924916
NIMNotificationObject *object = message.messageObject;
@@ -941,8 +933,7 @@ -(void)refrashMessage:(NIMMessage *)message From:(NSString *)from {
941933
}
942934
[dic2 setObject:notiObj forKey:@"extend"];
943935

944-
}
945-
if (message.messageType == NIMMessageTypeCustom) {
936+
}else if (message.messageType == NIMMessageTypeCustom) {
946937
// [dic setObject:@"custom" forKey:@"msgType"];
947938
NIMCustomObject *customObject = message.messageObject;
948939
DWCustomAttachment *obj = customObject.attachment;
@@ -992,9 +983,17 @@ -(void)refrashMessage:(NIMMessage *)message From:(NSString *)from {
992983
[dic2 setObject:@"card" forKey:@"msgType"];
993984
}
994985
default:
986+
{
987+
[dic2 setObject:obj.dataDict forKey:@"extend"];
988+
[dic2 setObject:@"unknown" forKey:@"msgType"];
989+
}
995990
break;
996991
}
997992
}
993+
}else{
994+
[dic2 setObject:@"unknown" forKey:@"msgType"];
995+
NSMutableDictionary *unknowObj = [NSMutableDictionary dictionary];
996+
[dic2 setObject:unknowObj forKey:@"extend"];
998997
}
999998
[messageArr addObject:dic2];
1000999
//接收消息

ios/RNNeteaseIm/RNNeteaseIm/DWCustomAttachment.m

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ - (NSString *)encodeAttachment{
3232
strType = @"card";
3333
break;
3434
default:
35+
strType = @"unknown";
3536
break;
3637
}
3738

ios/RNNeteaseIm/RNNeteaseIm/DWCustomAttachmentDecoder.m

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,8 @@ @implementation DWCustomAttachmentDecoder
3535
custType = CustomMessgeTypeRedPacketOpenMessage;
3636
}else if([strType isEqualToString:@"card"]){//名片
3737
custType = CustomMessgeTypeBusinessCard;
38+
}else{//未知消息类型
39+
custType = CustomMessgeTypeUnknown;
3840
}
3941
NSDictionary *dataDict = [self jsonDict:@"data" andDict:dict];
4042
DWCustomAttachment *obj = [[DWCustomAttachment alloc]init];

ios/RNNeteaseIm/RNNeteaseIm/PrefixHeader.pch

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ static DDLogLevel ddLogLevel = DDLogLevelInfo;
3333
#define NTES_FORBID_INTERACTIVE_POP - (BOOL)forbidInteractivePop{return YES;}
3434
// Include any system framework and library headers here that should be included in all compilation units.
3535
// You will also need to set the Prefix Header build setting of one or more of your targets to reference this file.
36-
36+
#define CustomMessgeTypeUnknown 101 //未知消息类型
3737
#define CustomMessgeTypeRedpacket 5 //红包类型 redpacket
3838
#define CustomMessgeTypeBankTransfer 6 //转账类型 transfer
3939
#define CustomMessgeTypeUrl 7 // 连接类型 url

0 commit comments

Comments
 (0)