TIMConversation+MsgExt.h 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167
  1. //
  2. // TIMConversation+MsgExt.h
  3. // IMMessageExt
  4. //
  5. // Created by tomzhu on 2016/12/27.
  6. //
  7. //
  8. #ifndef TIMConversation_h
  9. #define TIMConversation_h
  10. #import <ImSDK/ImSDK.h>
  11. #import "TIMMessage+MsgExt.h"
  12. @interface TIMConversation (MsgExt)
  13. /**
  14. * 保存消息到消息列表,这里只保存在本地
  15. *
  16. * @param msg 消息体
  17. * @param sender 发送方
  18. * @param isReaded 是否已读,如果发送方是自己,默认已读
  19. *
  20. * @return 0 成功
  21. */
  22. - (int)saveMessage:(TIMMessage*)msg sender:(NSString*)sender isReaded:(BOOL)isReaded;
  23. /**
  24. * 获取会话消息
  25. *
  26. * @param count 获取数量
  27. * @param last 上次最后一条消息
  28. * @param succ 成功时回调
  29. * @param fail 失败时回调
  30. *
  31. * @return 0 本次操作成功
  32. */
  33. - (int)getMessage:(int)count last:(TIMMessage*)last succ:(TIMGetMsgSucc)succ fail:(TIMFail)fail;
  34. /**
  35. * 向前获取会话消息
  36. *
  37. * @param count 获取数量
  38. * @param last 上次最后一条消息
  39. * @param succ 成功时回调
  40. * @param fail 失败时回调
  41. *
  42. * @return 0 本次操作成功
  43. */
  44. - (int)getMessageForward:(int)count last:(TIMMessage*)last succ:(TIMGetMsgSucc)succ fail:(TIMFail)fail;
  45. /**
  46. * 获取本地会话消息
  47. *
  48. * @param count 获取数量
  49. * @param last 上次最后一条消息
  50. * @param succ 成功时回调
  51. * @param fail 失败时回调
  52. *
  53. * @return 0 本次操作成功
  54. */
  55. - (int)getLocalMessage:(int)count last:(TIMMessage*)last succ:(TIMGetMsgSucc)succ fail:(TIMFail)fail;
  56. /**
  57. * 获取会话消息
  58. *
  59. * @param locators 消息定位符(TIMMessageLocator)数组
  60. * @param succ 成功时回调
  61. * @param fail 失败时回调
  62. *
  63. * @return 0 本次操作成功
  64. */
  65. - (int)findMessages:(NSArray*)locators succ:(TIMGetMsgSucc)succ fail:(TIMFail)fail;
  66. /**
  67. * 撤回消息(仅C2C和GROUP会话有效、onlineMessage无效、AVChatRoom和BChatRoom无效)
  68. *
  69. * @param msg 被撤回的消息
  70. * @param succ 成功时回调
  71. * @param fail 失败时回调
  72. *
  73. * @return 0 本次操作成功
  74. */
  75. - (int)revokeMessage:(TIMMessage*)msg succ:(TIMSucc)succ fail:(TIMFail)fail;
  76. /**
  77. * 同步本会话的消息撤回通知(仅GROUP会话有效)
  78. *
  79. * @param succ 成功时回调,同步的通知会通过TIMMessageRevokeListener抛出
  80. * @param fail 失败时回调
  81. *
  82. * @return 0 本次操作成功
  83. */
  84. - (int)syncRevokeNotify:(TIMSucc)succ fail:(TIMFail)fail;
  85. /**
  86. * 删除本地会话消息
  87. *
  88. * @param succ 成功时回调
  89. * @param fail 失败时回调
  90. *
  91. * @return 0 本次操作成功
  92. */
  93. - (int)deleteLocalMessage:(TIMSucc)succ fail:(TIMFail)fail;
  94. /**
  95. * 设置已读消息
  96. *
  97. * @param readed 会话内最近一条已读的消息,nil表示上报最新消息
  98. *
  99. * @param succ 成功时回调
  100. * @param fail 失败时回调
  101. *
  102. * @return 0 表示成功
  103. */
  104. - (int)setReadMessage:(TIMMessage*)readed succ:(TIMSucc)succ fail:(TIMFail)fail;
  105. /**
  106. * 获取该会话的未读计数
  107. *
  108. * @return 返回未读计数
  109. */
  110. - (int)getUnReadMessageNum;
  111. /**
  112. * 从cache中获取最后几条消息
  113. *
  114. * @param count 需要获取的消息数,最多为20
  115. *
  116. * @return 消息(TIMMessage*)列表,第一条为最新消息
  117. */
  118. - (NSArray*)getLastMsgs:(uint32_t)count;
  119. /**
  120. * 将消息导入本地数据库
  121. *
  122. * @param msgs 消息(TIMMessage*)列表
  123. *
  124. * @return 0 成功
  125. */
  126. - (int)importMessages:(NSArray*)msgs;
  127. /**
  128. * 设置会话草稿
  129. *
  130. * @param draft 草稿内容
  131. *
  132. * @return 0 成功
  133. */
  134. - (int)setDraft:(TIMMessageDraft*)draft;
  135. /**
  136. * 获取会话草稿
  137. *
  138. * @return 草稿内容,没有草稿返回nil
  139. */
  140. - (TIMMessageDraft*)getDraft;
  141. /**
  142. * 禁用本会话的存储,只对当前初始化有效,重启后需要重新设置
  143. * 需要 initSdk 之后调用
  144. */
  145. - (void)disableStorage;
  146. @end
  147. #endif /* TIMConversation_h */