MessageStatusManager.h 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. //
  2. // MessageStatusManager.h
  3. // AIIM
  4. //
  5. // Created by AI Assistant on 2025/10/21.
  6. //
  7. #import <Foundation/Foundation.h>
  8. NS_ASSUME_NONNULL_BEGIN
  9. /// 消息状态管理器 - 使用 plist 文件存储消息状态
  10. @interface MessageStatusManager : NSObject
  11. /// 单例
  12. + (instancetype)sharedInstance;
  13. /// 保存消息状态
  14. /// @param messageId 消息ID
  15. /// @param status 消息状态 (0=发送中, 1=发送成功, 2=发送失败, 3=已删除, 4=已撤回)
  16. - (void)saveMessageStatus:(NSInteger)status forMessageId:(NSString *)messageId;
  17. /// 获取消息状态
  18. /// @param messageId 消息ID
  19. /// @return 消息状态,如果不存在则返回1(发送成功)
  20. - (NSInteger)getMessageStatusForMessageId:(NSString *)messageId;
  21. /// 批量保存消息状态
  22. /// @param statusDict 字典,key为消息ID,value为状态值
  23. - (void)batchSaveMessageStatus:(NSDictionary<NSString *, NSNumber *> *)statusDict;
  24. /// 批量获取消息状态
  25. /// @param messageIds 消息ID数组
  26. /// @return 字典,key为消息ID,value为状态值
  27. - (NSDictionary<NSString *, NSNumber *> *)batchGetMessageStatusForMessageIds:(NSArray<NSString *> *)messageIds;
  28. /// 删除消息状态
  29. /// @param messageId 消息ID
  30. - (void)removeMessageStatusForMessageId:(NSString *)messageId;
  31. /// 批量删除消息状态
  32. /// @param messageIds 消息ID数组
  33. - (void)batchRemoveMessageStatusForMessageIds:(NSArray<NSString *> *)messageIds;
  34. /// 清空所有消息状态
  35. - (void)clearAllMessageStatus;
  36. /// 获取所有消息状态数量
  37. - (NSInteger)getAllMessageStatusCount;
  38. @end
  39. NS_ASSUME_NONNULL_END