JXMessageObject.h 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429
  1. //
  2. // JXMessageObject.h
  3. //
  4. // Created by Reese on 13-8-11.
  5. // Copyright (c) 2013年 Reese. All rights reserved.
  6. // ?
  7. #import <Foundation/Foundation.h>
  8. #import "Message.pbobjc.h"
  9. extern NSString* current_chat_userId;
  10. extern NSString* current_meeting_no;
  11. #define kMESSAGE_FROMID @"fromId"
  12. #define kMESSAGE_TOID @"toId"
  13. #define kMESSAGE_TYPE @"type"
  14. #define kMESSAGE_FROM @"fromUserId"
  15. #define kMESSAGE_FROM_NAME @"fromUserName"
  16. #define kMESSAGE_TO @"toUserId"
  17. #define kMESSAGE_TO_NAME @"toUserName"
  18. #define kMESSAGE_CONTENT @"content"
  19. #define kMESSAGE_DATE @"timeSend"
  20. #define kMESSAGE_ID @"messageId"
  21. #define kMESSAGE_No @"messageNo"
  22. #define kMESSAGE_TIMESEND @"timeSend"
  23. #define kMESSAGE_DELETETIME @"deleteTime"
  24. #define kMESSAGE_TIMERECEIVE @"timeReceive"
  25. #define kMESSAGE_FILEDATA @"fileData"
  26. #define kMESSAGE_FILENAME @"fileName"
  27. #define kMESSAGE_LOCATION_X @"location_x"
  28. #define kMESSAGE_LOCATION_Y @"location_y"
  29. #define kMESSAGE_TIMELEN @"timeLen"
  30. #define kMESSAGE_ISSEND @"isSend"
  31. #define kMESSAGE_ISREAD @"isRead"
  32. #define kMESSAGE_isUpload @"isUpload"
  33. #define kMESSAGE_FILESIZE @"fileSize"
  34. #define kMESSAGE_OBJECTID @"objectId"
  35. #define kMESSAGE_isReadDel @"isReadDel"
  36. #define kMESSAGE_readTime @"readTime"
  37. #define kMESSAGE_readPersons @"readPersons"
  38. #define kMESSAGE_chatMsgHeight @"chatMsgHeight"
  39. #define kMESSAGE_isShowTime @"isShowTime"
  40. #define kMESSAGE_signature @"signature"
  41. #define kMESSAGE_isVerifySignatureFailed @"isVerifySignatureFailed"
  42. #define kMESSAGE_imWidth @"imageWidth"
  43. #define KMESSAGE_imHeight @"imageHeight"
  44. //#define kMESSAGE_isMySend @"isMySend"
  45. #define kMESSAGE_isReceive @"isReceive"
  46. //#define kMESSAGE_ @""
  47. #define kMESSAGE_isEncrypt @"isEncrypt"
  48. #define CALL_CENTER_INT 10000//系统消息
  49. #define FRIEND_CENTER_INT 10001//新朋友
  50. #define BLOG_CENTER_INT 10002//商务圈
  51. #define CALL_CENTER_USERID @"10000"//系统消息
  52. #define FRIEND_CENTER_USERID @"10001"//新朋友
  53. #define BLOG_CENTER_USERID @"10002"//商务圈
  54. #define SHIKU_TRANSFER @"1100"//支付公众号
  55. //多点登录多端数据同步(objectId)
  56. #define SYNC_LOGIN_PASSWORD @"sync_login_password" //修改密码
  57. #define SYNC_PAY_PASSWORD @"sync_pay_password" //首次设置支付密码
  58. #define SYNC_PRIVATE_SETTINGS @"sync_private_settings" //隐私设置
  59. #define SYNC_LABEL @"sync_label" //标签的增删改查
  60. // 多端登录userId
  61. #define PC_USERID [NSString stringWithFormat:@"%@_pc",g_myself.userId]
  62. #define ANDROID_USERID [NSString stringWithFormat:@"%@_android",g_myself.userId]
  63. #define MAC_USERID [NSString stringWithFormat:@"%@_mac",g_myself.userId]
  64. #define WEB_USERID [NSString stringWithFormat:@"%@_web",g_myself.userId]
  65. #define IOS_USERID [NSString stringWithFormat:@"%@_ios",g_myself.userId]
  66. //#define temp_USERID [NSString stringWithFormat:@"%@_ios/1",g_myself.userId]
  67. #define IS_OTHER_DEVICE(obj) [@[ANDROID_USERID, PC_USERID, MAC_USERID, WEB_USERID] containsObject:obj]// 多点登陆其他设备
  68. #define transfer_status_yes 1 //传输成功
  69. #define transfer_status_ing 0 //传输中
  70. #define transfer_status_no -2 //传输失败
  71. // 消息类型
  72. enum kWCMessageType {
  73. kWCMessageTypeNone = 0,//不显示的无用类型
  74. kWCMessageTypeText = 1,//文本
  75. kWCMessageTypeImage = 2,//图片
  76. kWCMessageTypeVoice = 3,//语音
  77. kWCMessageTypeLocation=4, //位置
  78. kWCMessageTypeGif=5,//动画
  79. kWCMessageTypeTextIMG=333,//动画
  80. kWCMessageTypeVideo=6,//视频
  81. kWCMessageTypeAudio=7,//音频
  82. kWCMessageTypeCard=8,//名片
  83. kWCMessageTypeFile=9, //文件
  84. kWCMessageTypeRemind=10, //提醒
  85. kWCMessageTypeCustomFace=11, //自定义的表情消息
  86. kWCMessageTypeEmoji=12, // 表情包中的表情消息
  87. kWCMessageTypeGroupActivity=2100, // 群活动信息
  88. kWCMessageTypeIsRead = 26,//已读标志
  89. kWCMessageTypeRedPacket = 28, //发红包
  90. kWCMessageTypeTransfer = 29, //转账
  91. kWCMessageTypeSystemImage1=80, //单条图文消息
  92. kWCMessageTypeSystemImage2=81, //多条图文消息
  93. kWCMessageTypeLink = 82, //链接
  94. kWCMessageTypeRedPacketReceive = 83, //领红包
  95. kWCMessageTypeShake = 84, // 戳一戳
  96. kWCMessageTypeMergeRelay = 85, // 合并转发
  97. kWCMessageTypeRedPacketReturn = 86, // 红包退回
  98. kWCMessageTypeShare = 87, // 分享进即时通讯的type
  99. kWCMessageTypeTransferReceive = 88, //转账已被领取
  100. kWCMessageTypeTransferBack = 89, //转账已被退回
  101. kWCMessageTypePaymentOut = 90, //付款码 已付款通知
  102. kWCMessageTypeReceiptOut = 92, //收款码 已付款通知
  103. kWCMessageTypePaymentGet = 91, //付款码 已到账通知
  104. kWCMessageTypeReceiptGet = 93, //收款码 已到账通知
  105. kWCMessageTypeReply=94, //回复
  106. kWCMessageTypeDelMsgScreenshots=95, // 阅后即焚情况下的截屏
  107. kWCMessageTypeDelMsgTwoSides=96, // 删除自己和对方的聊天记录
  108. kWCMessageTypeOpenPaySuccess = 97, // 第三方应用调取IM支付成功通知
  109. kWCMessageTypeEnterpriseJob=11, //企业发布的职位信息
  110. kWCMessageTypePersonJob=31, //个人发布的职位信息
  111. kWCMessageTypeResume=12, //简历信息
  112. kWCMessageTypePhoneAsk=13, //问交换手机
  113. kWCMessageTypePhoneAnswer=14, //答交换手机
  114. kWCMessageTypeResumeAsk=16, //问发送简历
  115. kWCMessageTypeResumeAnswer=17, //答发送简历
  116. kWCMessageTypeExamSend=19, //发起笔试题(暂无用)
  117. kWCMessageTypeExamAccept=20, //接受笔试题(暂无用)
  118. kWCMessageTypeExamEnd=21, //做完笔试题,显示结果(暂无用)
  119. kWCMessageTypeAudioChatAsk = 100, //询问是否准备好语音通话
  120. kWCMessageTypeAudioChatReady = 101, //已准备好语音通话
  121. kWCMessageTypeAudioChatAccept = 102, //接受语音通话
  122. kWCMessageTypeAudioChatCancel = 103, //拒绝语音通话 或 取消拔号
  123. kWCMessageTypeAudioChatEnd = 104, //结束语音通话
  124. kWCMessageTypeVideoChatAsk = 110, //询问是否准备好视频通话
  125. kWCMessageTypeVideoChatReady = 111, //已准备好视频通话
  126. kWCMessageTypeVideoChatAccept = 112, //接受视频通话
  127. kWCMessageTypeVideoChatCancel = 113, //拒绝视频通话 或 取消拔号
  128. kWCMessageTypeVideoChatEnd = 114, //结束视频通话
  129. kWCMessageTypeAVPing = 123, // 音视频ping包
  130. kWCMessageTypeAVBusy = 124, // 音视频忙线中
  131. kWCMessageTypeVideoMeetingInvite = 115, //邀请加入视频会议
  132. kWCMessageTypeVideoMeetingJoin = 116, //加入视频会议
  133. kWCMessageTypeVideoMeetingQuit = 117, //退出视频会议
  134. kWCMessageTypeVideoMeetingKick = 118, //踢出视频会议
  135. kWCMessageTypeAudioMeetingInvite = 120, //邀请加入语音会议
  136. kWCMessageTypeAudioMeetingJoin = 121, //加入语音会议
  137. kWCMessageTypeAudioMeetingQuit = 122, //退出语音会议
  138. // kWCMessageTypeAudioMeetingKick = 123, //踢出语音会议
  139. // kWCMessageTypeAudioMeetingSetSpeaker = 124, //轮麦
  140. // kWCMessageTypeAudioMeetingAllSpeaker = 125, //取消轮麦
  141. kWCMessageTypeTalkInvite = 130, // 邀请进行对讲机
  142. kWCMessageTypeTalkJoin = 131, // 加入对讲机
  143. kWCMessageTypeTalkQuit = 132, // 退出对讲机
  144. kWCMessageTypeAudioMeetingSetSpeaker = 133, // 轮麦
  145. kWCMessageTypeAudioMeetingAllSpeaker = 134, // 取消轮麦
  146. kWCMessageTypeTalkOnline = 135, // 广播在线
  147. kWCMessageTypeTalkOut = 136, // 踢出对讲机
  148. kWCMessageTypeMultipleLogin = 200, // 多点登录验证在线
  149. kWCMessageTypeRelay = 201, // 正在输入
  150. kWCMessageTypeWithdraw = 202, // 消息撤回
  151. kWCMessageTypeSuperDelete = 203, // 彻底删除
  152. kWCMessageTypeWeiboPraise = 301, // 朋友圈点赞
  153. kWCMessageTypeWeiboComment = 302, // 朋友圈评论
  154. kWCMessageTypeWeiboCancelPraise = 303, // 朋友圈取消点赞
  155. kWCMessageTypeWeiboRemind = 304, // 朋友圈提醒谁看
  156. kWCMessageTypeGroupFileUpload = 401, //上传群文件
  157. kWCMessageTypeGroupFileDelete = 402, //删除群文件
  158. kWCMessageTypeGroupFileDownload = 403, //下载群文件
  159. kWCMessageTypeUpadtePassword = 800, //修改密码/首次设置支付密码/隐私设置/标签的增删改查
  160. //对好友进行备注、消息免打扰、阅后即焚、置顶聊天
  161. kWCMessageTypeUpadteUserInfo = 801, //编辑自己的基本资料/用户
  162. kWCMessageTypeUpadteGroup = 802, //群组
  163. kWCMessageTypeUpdateFriendPublicKey = 803, // 好友更换公钥通知
  164. KWCMessageTypeAuthLogin = 810, //授权登录
  165. };
  166. // 聊天类型
  167. enum kWCChatType {
  168. kWCChatTypeUnknow = 0, //无效
  169. kWCChatTypeChat = 1, // 单聊
  170. kWCChatTypeGroupChat = 2, // 群聊
  171. kWCChatTypeAll = 3, // 广播
  172. kWCChatTypeAuth = 5, // 授权登录
  173. kWCChatTypePing = 9, // 心跳消息
  174. kWCChatTypeResult = 10, // 返回结果
  175. kWCChatTypeReceipt = 11, // 消息回执
  176. };
  177. @class FMResultSet;
  178. @class JXImageView;
  179. typedef enum {
  180. UpdateLastSendType_Dec = -1, // 新消息数量-1
  181. UpdateLastSendType_None = 0, // 新消息数量不变
  182. UpdateLastSendType_Add = 1, // 新消息数量+1
  183. } UpdateLastSendType;
  184. @interface JXMessageObject : NSObject<NSCopying>
  185. //以下字段用于通讯,message里:
  186. @property (nonatomic,strong) NSString* messageId;//消息标识号,字符串,UUID <message>里
  187. @property (nonatomic,strong) NSString* fromId;//发送ID <message>里
  188. @property (nonatomic,strong) NSString* toId;//目标ID <message>里
  189. //以下字段用于通讯,Body里:
  190. @property (nonatomic,strong) NSNumber* type;//消息类型 <body>里
  191. @property (nonatomic,strong) NSString* fromUserId;//源
  192. @property (nonatomic,strong) NSString* fromUserName;//源
  193. @property (nonatomic,strong) NSString* toUserId;//目标
  194. @property (nonatomic,strong) NSString* shareType;// 分享类型
  195. @property (nonatomic,strong) NSString* toUserName;//目标
  196. @property (nonatomic,strong) NSString* content;//内容,或URL,或祝福语
  197. @property (nonatomic,strong) NSString* fileName;//文件名,发送方的本地文件名
  198. @property (nonatomic,strong) NSString* objectId;//对象ID,一般用来存roomJid
  199. @property (nonatomic,strong) NSNumber* fileSize;//文件尺寸,或红包领取状态
  200. @property (nonatomic,strong) NSNumber* timeLen;//录音时长,秒
  201. @property (nonatomic,strong) NSNumber* location_x;//位置经度,或图片宽,或视频宽
  202. @property (nonatomic,strong) NSNumber* location_y;//位置纬度,或图片高,或视频高
  203. @property (nonatomic,assign) NSNumber* isReadDel;//是否阅后即焚,0或1
  204. @property (nonatomic,strong) NSNumber* isEncrypt;//是否加密信息,0或1
  205. @property (nonatomic,strong) NSDate* timeSend;//发送的时间,发送前赋当前机器时间
  206. @property (nonatomic, strong) NSDate *deleteTime; // 消息过期时间
  207. //以下字段并不参与通讯,只是数据库变量
  208. @property (nonatomic,strong) NSNumber* messageNo;//序列号,数值型,保存在数据库,并不通讯
  209. @property (nonatomic,strong) NSNumber* isSend;//是否已送达
  210. @property (nonatomic,strong) NSNumber* isRead;//是否已被对方阅读
  211. @property (nonatomic,strong) NSNumber* isReceive;//是否下载成功
  212. @property (nonatomic,assign) NSNumber* isUpload;//是否上传完成
  213. @property (nonatomic,strong) NSDate* timeReceive;//收到回执的时间,接收后赋当前机器时间
  214. @property (nonatomic,strong) NSData* fileData;//文件内容,字节内容
  215. @property (nonatomic,strong) NSNumber* readPersons; // 已读人数
  216. @property (nonatomic,strong) NSDate* readTime; // 已读时间
  217. @property (nonatomic, strong) NSString *chatMsgHeight; // 聊天消息行高
  218. @property (nonatomic, assign) BOOL isNotUpdateHeight; // 是否不更新行高
  219. @property (nonatomic, copy) NSString *signature; // 消息验签字段
  220. @property (nonatomic,copy) NSNumber *isVerifySignatureFailed; // 表明是否为验签失败的消息
  221. //以下只是内存变量,计算赋值,不传输也不保存:
  222. //@property (nonatomic,strong) NSString* roomJid;//房间JId
  223. @property (nonatomic,getter=getIsMySend) BOOL isMySend;//是否是自己发送
  224. @property (nonatomic,getter=getIsGroup) BOOL isGroup;//是否群聊,发送前赋值
  225. @property (nonatomic,assign) BOOL isShowTime;//是否展示时间
  226. @property (nonatomic,assign) BOOL isDelay;//是否离线消息,单聊有意义,群聊好像都返回YES
  227. @property (nonatomic,assign) NSNumber* imageWidth;//聊天图片的长度
  228. @property (nonatomic,assign) NSNumber* imageHeight;//聊天图片的高度
  229. @property (nonatomic,strong) NSMutableDictionary* dictionary;
  230. @property (nonatomic,assign) float progress;
  231. @property (nonatomic,assign) int index;
  232. @property (nonatomic,assign) int sendCount;//未收到回执时,重发次数
  233. @property (nonatomic,assign) BOOL updateLastContent;//更新Friend表的最后聊天内容
  234. @property (nonatomic,assign) BOOL showRead;//显示已读人数
  235. @property (nonatomic,copy) NSString *other; // 其他的一些群设置
  236. @property (nonatomic, assign) int changeMySend; // 0:不改变 1: 强行改变isMySend为NO 2:强行改变isMySend为YES
  237. @property (nonatomic, assign) BOOL isRepeat; // 是否是重复推送的消息
  238. @property (nonatomic, assign) BOOL isMultipleRelay; // 是否是多点登录转发的消息
  239. @property (nonatomic, assign) BOOL isShowWait;
  240. @property (nonatomic, assign) int chatType; // 聊天类型
  241. @property (nonatomic, assign) int tempChat; // 聊天类型
  242. @property (nonatomic, assign) BOOL isShowRemind; // 单聊需显示的控制消息
  243. @property (nonatomic,strong) NSNumber* remindType; // 控制消息类型
  244. @property (nonatomic, assign) BOOL isGroupSend; //是否群发消息
  245. @property (nonatomic, assign) BOOL isLastGroupSend; //是否最后一条群发消息
  246. +(JXMessageObject*)sharedInstance;
  247. +(void)msgWithFriendStatus:(NSString*)userId status:(int)status;
  248. -(CGPoint)getLocation;
  249. - (JXMessageObject *)getMsgWithMsgId:(NSString *)msgId;
  250. - (JXMessageObject *)getMsgWithMsgId:(NSString *)msgId toUserId:(NSString *)toUserId;
  251. -(NSDictionary*)toDictionary;//将对象转换为字典
  252. -(void)fromDictionary:(NSDictionary*)p;//从字典转换为对象
  253. // 单聊
  254. - (void)fromXmlDict:(NSDictionary *)xmlDict;
  255. // 群聊
  256. -(void)fromGroupXmlDict:(NSDictionary *)xmlDict;
  257. //数据库增删改查
  258. -(BOOL)insert:(NSString*)room;
  259. -(BOOL)update;
  260. -(BOOL)delete;
  261. -(BOOL)deleteAll;
  262. -(BOOL)deleteWithFromUser:(NSString*)userId roomId:(NSString*)roomId;
  263. -(BOOL)doInsertMsg:(NSString*)dbName tableName:(NSString*)tableName;
  264. //-(BOOL)deleteMessageWithUserId:(NSString *)userId messageId:(NSString *)msgId;// 删除一条聊天记录
  265. //-(BOOL)findMessageWithUserId:(NSString *)userId messageId:(NSString *)msgId;
  266. -(BOOL)updateNewMsgsTo0;
  267. -(NSMutableArray*)fetchImageMessageListWithUser:(NSString *)userId;
  268. //获取某联系人聊天记录
  269. -(NSMutableArray *)fetchMessageListWithUser:(NSString *)userId byAllNum:(NSInteger)num pageCount:(int)pageCount startTime:(NSDate *)startTime;
  270. //获取某联系人所有聊天记录
  271. -(NSMutableArray*)fetchAllMessageListWithUser:(NSString *)userId;
  272. //获取某联系人某个type的所有聊天记录
  273. -(NSMutableArray*)fetchAllMessageListWithUser:(NSString *)userId withTypes:(NSArray *)types;
  274. // 获取某个时间段聊天记录
  275. - (NSMutableArray *) fetchMessageListUserId:(NSString *)userId StartTime:(NSDate *)startTime endTime:(NSDate *)endTime;
  276. // 搜索聊天记录
  277. -(NSArray <JXMessageObject *>*)fetchSearchMessageWithUserId:(NSString *)userId String:(NSString *)str;
  278. // 获取所有对方发的阅后即焚消息
  279. -(NSArray <JXMessageObject *>*)fetchDelMessageWithUserId:(NSString *)userId;
  280. // 根据content获取最新行
  281. - (int) getLineNumWithUserId:(NSString *)userId;
  282. //获取最近联系人
  283. -(NSMutableArray *)fetchRecentChatByPage:(int)pageIndex;
  284. -(NSMutableArray *)fetchRecentChat;
  285. -(NSMutableArray *)getSystemChatByPage:(int)pageIndex types:(NSString*)types;
  286. -(void)fromRs:(FMResultSet*)rs;
  287. //-(void)downloadFile:(JXImageView*)iv;//下载文件
  288. -(BOOL)updateIsReceive:(int)n;//更新已下载标志
  289. //-(BOOL)updateIsRead:(BOOL)b;//单聊更新已读标志,弃用
  290. -(BOOL)updateIsSend:(int)n;//更新已发送标志
  291. -(BOOL)updateIsRead:(NSDate *)time msgId:(NSString*)msgId;//更新已读时间
  292. -(void)updateIsReadWithContent;//更新已读类型消息的Content即MsgId指向的消息的已读
  293. -(BOOL)updateReadPersons:(NSString*)msgId;//更新群聊已读人数
  294. -(BOOL)updateIsUpload:(BOOL)b;
  295. //-(BOOL)updateFileName:(NSString*)s;//更新URL
  296. -(void)setMsgId;
  297. -(NSString*)getTypeName;
  298. -(NSString*)getLastContent;
  299. -(void)notifyNewMsg;//通知有新消息
  300. -(void)notifyReceipt;//通知有回执
  301. -(void)notifyTimeout;//通知发送失败
  302. -(void)notifyMyLastSend;//通知UI更新显示最新发送的那一条
  303. -(int)getMaxWaitTime;//获得发送等待时长
  304. /*
  305. 更新最近发送的content及新数量
  306. newMsgType = 1 : 数量 + 1
  307. newMsgType = 2 : 数量 = 0
  308. newMsgType = 3 : 数量 不变
  309. */
  310. -(void)updateLastSend:(UpdateLastSendType)newMsgType;
  311. // 更新新消息数量
  312. -(void)updateNewMsgCount:(int)count withUserId:(NSString *)userId;
  313. -(NSString*)getTableName;//获取本userId所操作的表名
  314. //-(void)doReceiveFriendRequest;
  315. -(void)doGroupFileMsg;
  316. -(BOOL)doNewRemindMsg;
  317. -(void)copy:(JXMessageObject*)p;
  318. -(NSString*)getContentValue:(NSString*)key;
  319. -(NSString*)getContentValue:(NSString*)key subKey:(NSString*)subKey;
  320. -(NSString*)getContentValue:(NSString*)key index:(int)i;
  321. -(void)sendAlreadyReadMsg;//发送“已读”消息
  322. -(BOOL)queryIsRead;
  323. -(NSTimeInterval)queryReadTime;
  324. // 获取已读列表
  325. - (NSMutableArray *)fetchReadList;
  326. -(BOOL)isVisible;//消息是否会显示在屏幕
  327. -(BOOL)isRoomControlMsg;//房间控制消息
  328. -(BOOL)isAudioMeetingMsg;//语音会议消息
  329. -(BOOL)isPinbaMsg;//是否聘吧相关消息
  330. -(BOOL)isAddFriendMsg;
  331. -(BOOL)isAtMe;
  332. -(void)getHistory:(NSArray*)array userId:(NSString*)userId;//获取聊天历史记录
  333. // 更新群昵称
  334. - (BOOL)updateFromUserName;
  335. - (BOOL)haveTheMessage;
  336. - (BOOL)updateFileName;
  337. // 更新邀请群好友验证文件名,用于判断是否已确认验证
  338. - (BOOL)updateNeedVerifyFileName;
  339. // 更新消息行高
  340. - (BOOL)updateChatMsgHeight;
  341. // 更新所有消息行高
  342. - (BOOL)updateAllChatMsgHeight;
  343. // 更新是否显示时间
  344. - (BOOL)updateIsShowTime;
  345. // 删除过期聊天记录
  346. - (BOOL)deleteTimeOutMsg:(NSString *)userId chatRecordTimeOut:(NSString *)ChatRecordTimeOut;
  347. // Message.pbobjc 转 JXMessageObject
  348. + (JXMessageObject *)getMsgObjWithPbobjc:(ChatMessage *)message;
  349. // JXMessageObject 转 Message.pbobjc
  350. - (ChatMessage *)getPbobjcObjWithMsg:(JXMessageObject *)msg;
  351. // 根据objectId获取消息
  352. - (NSMutableArray *)getMsgWithObjectId:(NSString *)objectId;
  353. - (BOOL)updateFileSize;
  354. @end