NTESSessionMsgConverter.m 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204
  1. //
  2. // NTESSessionMsgHelper.m
  3. // NIMDemo
  4. //
  5. // Created by ght on 15-1-28.
  6. // Copyright (c) 2015年 Netease. All rights reserved.
  7. //
  8. #import "NTESSessionMsgConverter.h"
  9. #import "NSString+NTES.h"
  10. #import "NTESJanKenPonAttachment.h"
  11. #import "NTESSnapchatAttachment.h"
  12. #import "NTESChartletAttachment.h"
  13. #import "NTESWhiteboardAttachment.h"
  14. #import "NTESRedPacketAttachment.h"
  15. #import "NTESRedPacketTipAttachment.h"
  16. @implementation NTESSessionMsgConverter
  17. + (NIMMessage*)msgWithText:(NSString*)text
  18. {
  19. NIMMessage *textMessage = [[NIMMessage alloc] init];
  20. textMessage.text = text;
  21. return textMessage;
  22. }
  23. + (NIMMessage*)msgWithImage:(UIImage*)image
  24. {
  25. NIMImageObject * imageObject = [[NIMImageObject alloc] initWithImage:image];
  26. return [NTESSessionMsgConverter generateImageMessage:imageObject];
  27. }
  28. + (NIMMessage *)msgWithImagePath:(NSString*)path
  29. {
  30. NIMImageObject * imageObject = [[NIMImageObject alloc] initWithFilepath:path];
  31. return [NTESSessionMsgConverter generateImageMessage:imageObject];
  32. }
  33. + (NIMMessage *)generateImageMessage:(NIMImageObject *)imageObject
  34. {
  35. NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
  36. [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm"];
  37. NSString *dateString = [dateFormatter stringFromDate:[NSDate date]];
  38. imageObject.displayName = [NSString stringWithFormat:@"图片发送于%@",dateString];
  39. NIMImageOption *option = [[NIMImageOption alloc] init];
  40. option.compressQuality = 0.8;
  41. imageObject.option = option;
  42. NIMMessage *message = [[NIMMessage alloc] init];
  43. message.messageObject = imageObject;
  44. message.apnsContent = @"发来了一张图片";
  45. return message;
  46. }
  47. + (NIMMessage*)msgWithAudio:(NSString*)filePath
  48. {
  49. NIMAudioObject *audioObject = [[NIMAudioObject alloc] initWithSourcePath:filePath];
  50. NIMMessage *message = [[NIMMessage alloc] init];
  51. message.messageObject = audioObject;
  52. message.apnsContent = @"发来了一段语音";
  53. return message;
  54. }
  55. + (NIMMessage*)msgWithVideo:(NSString*)filePath
  56. {
  57. NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
  58. [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm"];
  59. NSString *dateString = [dateFormatter stringFromDate:[NSDate date]];
  60. NIMVideoObject *videoObject = [[NIMVideoObject alloc] initWithSourcePath:filePath];
  61. videoObject.displayName = [NSString stringWithFormat:@"视频发送于%@",dateString];
  62. NIMMessage *message = [[NIMMessage alloc] init];
  63. message.messageObject = videoObject;
  64. message.apnsContent = @"发来了一段视频";
  65. return message;
  66. }
  67. + (NIMMessage*)msgWithJenKenPon:(NTESJanKenPonAttachment *)attachment
  68. {
  69. NIMMessage *message = [[NIMMessage alloc] init];
  70. NIMCustomObject *customObject = [[NIMCustomObject alloc] init];
  71. customObject.attachment = attachment;
  72. message.messageObject = customObject;
  73. message.apnsContent = @"发来了猜拳信息";
  74. return message;
  75. }
  76. + (NIMMessage*)msgWithSnapchatAttachment:(NTESSnapchatAttachment *)attachment
  77. {
  78. NIMMessage *message = [[NIMMessage alloc] init];
  79. NIMCustomObject *customObject = [[NIMCustomObject alloc] init];
  80. customObject.attachment = attachment;
  81. message.messageObject = customObject;
  82. message.apnsContent = @"发来了阅后即焚";
  83. NIMMessageSetting *setting = [[NIMMessageSetting alloc] init];
  84. setting.historyEnabled = NO;
  85. setting.roamingEnabled = NO;
  86. setting.syncEnabled = NO;
  87. message.setting = setting;
  88. return message;
  89. }
  90. + (NIMMessage*)msgWithFilePath:(NSString*)path{
  91. NIMFileObject *fileObject = [[NIMFileObject alloc] initWithSourcePath:path];
  92. NSString *displayName = path.lastPathComponent;
  93. fileObject.displayName = displayName;
  94. NIMMessage *message = [[NIMMessage alloc] init];
  95. message.messageObject = fileObject;
  96. message.apnsContent = @"发来了一个文件";
  97. return message;
  98. }
  99. + (NIMMessage*)msgWithFileData:(NSData*)data extension:(NSString*)extension{
  100. NIMFileObject *fileObject = [[NIMFileObject alloc] initWithData:data extension:extension];
  101. NSString *displayName;
  102. if (extension.length) {
  103. displayName = [NSString stringWithFormat:@"%@.%@",[NSUUID UUID].UUIDString.MD5String,extension];
  104. }else{
  105. displayName = [NSString stringWithFormat:@"%@",[NSUUID UUID].UUIDString.MD5String];
  106. }
  107. fileObject.displayName = displayName;
  108. NIMMessage *message = [[NIMMessage alloc] init];
  109. message.messageObject = fileObject;
  110. message.apnsContent = @"发来了一个文件";
  111. return message;
  112. }
  113. + (NIMMessage*)msgWithChartletAttachment:(NTESChartletAttachment *)attachment{
  114. NIMMessage *message = [[NIMMessage alloc] init];
  115. NIMCustomObject *customObject = [[NIMCustomObject alloc] init];
  116. customObject.attachment = attachment;
  117. message.messageObject = customObject;
  118. message.apnsContent = @"[贴图]";
  119. return message;
  120. }
  121. + (NIMMessage*)msgWithWhiteboardAttachment:(NTESWhiteboardAttachment *)attachment
  122. {
  123. NIMMessage *message = [[NIMMessage alloc] init];
  124. NIMCustomObject *customObject = [[NIMCustomObject alloc] init];
  125. customObject.attachment = attachment;
  126. message.messageObject = customObject;
  127. NIMMessageSetting *setting = [[NIMMessageSetting alloc] init];
  128. setting.apnsEnabled = NO;
  129. message.setting = setting;
  130. return message;
  131. }
  132. + (NIMMessage *)msgWithTip:(NSString *)tip
  133. {
  134. NIMMessage *message = [[NIMMessage alloc] init];
  135. NIMTipObject *tipObject = [[NIMTipObject alloc] init];
  136. message.messageObject = tipObject;
  137. message.text = tip;
  138. NIMMessageSetting *setting = [[NIMMessageSetting alloc] init];
  139. setting.apnsEnabled = NO;
  140. setting.shouldBeCounted = NO;
  141. message.setting = setting;
  142. return message;
  143. }
  144. + (NIMMessage *)msgWithRedPacket:(NTESRedPacketAttachment *)attachment
  145. {
  146. NIMMessage *message = [[NIMMessage alloc] init];
  147. NIMCustomObject *customObject = [[NIMCustomObject alloc] init];
  148. customObject.attachment = attachment;
  149. message.messageObject = customObject;
  150. message.apnsContent = @"发来了一个红包";
  151. NIMMessageSetting *setting = [[NIMMessageSetting alloc] init];
  152. setting.historyEnabled = NO;
  153. message.setting = setting;
  154. return message;
  155. }
  156. + (NIMMessage *)msgWithRedPacketTip:(NTESRedPacketTipAttachment *)attachment
  157. {
  158. NIMMessage *message = [[NIMMessage alloc] init];
  159. NIMCustomObject *customObject = [[NIMCustomObject alloc] init];
  160. customObject.attachment = attachment;
  161. message.messageObject = customObject;
  162. NIMMessageSetting *setting = [[NIMMessageSetting alloc] init];
  163. setting.apnsEnabled = NO;
  164. setting.shouldBeCounted = NO;
  165. setting.historyEnabled = NO;
  166. message.setting = setting;
  167. return message;
  168. }
  169. @end