// // NIMMessageSearchOption.h // NIMLib // // Created by Netease. // Copyright (c) 2015 Netease. All rights reserved. // #import #import "NIMGlobalDefs.h" NS_ASSUME_NONNULL_BEGIN @class NIMMessage; /** * 搜索顺序 */ typedef NS_ENUM(NSInteger,NIMMessageSearchOrder) { /** * 从新消息往旧消息查询 */ NIMMessageSearchOrderDesc = 0, /** * 从旧消息往新消息查询 */ NIMMessageSearchOrderAsc = 1, }; /** * 本地搜索选项 * @discussion 搜索条件: 时间在(startTime,endTime) 内(不包含),类型为 messageTypes (或全类型) ,且匹配 searchContent 或 fromIds 的一定数量 (limit) 消息 */ @interface NIMMessageSearchOption : NSObject /** * 起始时间,默认为0 */ @property (nonatomic,assign) NSTimeInterval startTime; /** * 结束时间,默认为0 * @discussion 搜索的结束时间,0 表示最大时间戳 */ @property (nonatomic,assign) NSTimeInterval endTime; /** * 检索条数 * @discussion 默认100条,设置为0表示无条数限制 */ @property (nonatomic,assign) NSUInteger limit; /** * 检索顺序 */ @property (nonatomic,assign) NIMMessageSearchOrder order; /** * 查询的消息类型 * @discusssion 消息类型组合,默认只搜索文本类型, 只有在 allMessageTypes 为 NO 时有效 */ @property (nonatomic,copy) NSArray *messageTypes; /** * 全部消息类型 * @discussion 默认为 NO */ @property (nonatomic,assign) BOOL allMessageTypes; /** * 检索文本 */ @property (nullable,nonatomic,copy) NSString *searchContent; /** * 消息发出者帐号列表 */ @property (nullable,nonatomic,copy) NSArray *fromIds; @end /** * 检索服务器历史消息选项 (服务器) */ @interface NIMHistoryMessageSearchOption : NSObject /** * 检索消息起始时间 * @discussion 需要检索的起始时间,没有则传入0。 */ @property (nonatomic,assign) NSTimeInterval startTime; /** * 检索条数 * @discussion 最大限制100条 */ @property (nonatomic,assign) NSUInteger limit; /** * 检索消息终止时间,此参数对聊天室会话无效。 * @discussion 当前最早的时间,没有则传入 0。 */ @property (nonatomic,assign) NSTimeInterval endTime; /** * 检索消息的当前参考消息,返回的消息结果集里不会包含这条消息,此参数对聊天室会话无效。 * @discussion 传入最早时间,没有则传入nil。 */ @property (nullable,nonatomic,strong) NIMMessage *currentMessage; /** * 检索顺序。 */ @property (nonatomic,assign) NIMMessageSearchOrder order; /** * 是否需要同步到 db,此参数对聊天室会话无效。 * @discussion SDK 删除消息分为两种模式:标记删除和彻底删除(参见 NIMDeleteMessagesOption)。 * 若消息集在本地被标记删除,则意味着消息仍存在本地,但被打上了特殊的记号,同步后写入 db 会失败。 * 只有不存在本地的消息才可以通过 sync 标记进行 db 存储 */ @property (nonatomic,assign) BOOL sync; /** * 查询的消息类型 * @discusssion 消息类型组合,默认为 nil ,搜索全类型。 此参数只对聊天室会话有效 */ @property (nonatomic,copy) NSArray *messageTypes; @end NS_ASSUME_NONNULL_END