2025-10-09 16:48:46 +08:00

199 lines
3.7 KiB
Objective-C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

//
// NIMChatroomMemberRequest.h
// NIMLib
//
// Created by Netease.
// Copyright © 2016年 Netease. All rights reserved.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@class NIMChatroomMember;
/**
* 聊天室成员类型
*/
typedef NS_ENUM(NSInteger, NIMChatroomFetchMemberType){
/**
* 聊天室固定成员,包括创建者,管理员,普通等级用户,受限用户(禁言+黑名单),有数量上限
*/
NIMChatroomFetchMemberTypeRegular,
/**
* 聊天室临时成员,只有在线时才能在列表中看到,数量无上限
*/
NIMChatroomFetchMemberTypeTemp,
/**
* 聊天室在线的固定成员
*/
NIMChatroomFetchMemberTypeRegularOnline,
/**
* 聊天室非固定成员(反向查询)
*/
NIMChatroomFetchMemberTypeUnRegularReversedOrder,
};
/**
* 聊天室成员信息修改字段
*/
typedef NS_ENUM(NSInteger, NIMChatroomMemberInfoUpdateTag) {
/**
* 聊天室成员昵称信息
*/
NIMChatroomMemberInfoUpdateTagNick = 5,
/**
* 聊天室成员头像信息
*/
NIMChatroomMemberInfoUpdateTagAvatar = 6,
/**
* 聊天室成员扩展信息
*/
NIMChatroomMemberInfoUpdateTagExt = 7,
};
/**
* 聊天室获取成员请求
*/
@interface NIMChatroomMemberRequest : NSObject
/**
* 聊天室ID
*/
@property (nonatomic,copy) NSString *roomId;
/**
* 聊天室成员类型
*/
@property (nonatomic,assign) NIMChatroomFetchMemberType type;
/**
* 最后一位成员锚点不包括此成员。填nil会使用当前服务器最新时间开始查询即第一页。
*/
@property (nullable,nonatomic,strong) NIMChatroomMember *lastMember;
/**
* 获取聊天室成员个数
*/
@property (nonatomic,assign) NSUInteger limit;
@end
/**
* 根据用户ID获取聊天室成员请求
*/
@interface NIMChatroomMembersByIdsRequest : NSObject
/**
* 聊天室ID
*/
@property (nonatomic,copy) NSString *roomId;
/**
* 用户ID列表最多20个
*/
@property (nonatomic,copy) NSArray<NSString *> *userIds;
@end
/**
* 聊天室成员标记请求
*/
@interface NIMChatroomMemberUpdateRequest : NSObject
/**
* 聊天室ID
*/
@property (nonatomic,copy) NSString *roomId;
/**
* 用户ID
*/
@property (nonatomic,copy) NSString *userId;
/**
* 标记是否有效
*/
@property (nonatomic,assign) BOOL enable;
/**
* 操作通知事件扩展
*/
@property (nullable,nonatomic,copy) NSString *notifyExt;
@end
/**
* 聊天室成员信息修改请求
*/
@interface NIMChatroomMemberInfoUpdateRequest : NSObject
/**
* 聊天室ID
*/
@property (nonatomic,copy) NSString *roomId;
/**
* 需要更新的信息,修改传入的数据键值对是 {@(NIMChatroomMemberInfoUpdateTag) : NSString},无效数据将被过滤
*/
@property (nonatomic,copy) NSDictionary *updateInfo;
/**
* 是否需要通知
*/
@property (nonatomic,assign) BOOL needNotify;
/**
* 操作通知事件扩展
*/
@property (nullable,nonatomic,copy) NSString *notifyExt;
/**
* 更新的信息是否需要在服务器做持久化,只对固定成员生效,默认为 NO
*/
@property (nonatomic,assign) BOOL needSave;
/**
* 对某些资料内容另外的反垃圾的业务ID
*/
@property (nonatomic,strong) NSString *antispamBusinessId;
@end
/**
* 聊天室踢人请求
*/
@interface NIMChatroomMemberKickRequest : NSObject
/**
* 聊天室ID
*/
@property (nonatomic,copy) NSString *roomId;
/**
* 用户ID仅管理员可以踢人如userId是管理员仅创建者可以踢.
*/
@property (nonatomic,copy) NSString *userId;
/**
* 被踢通知扩展字段
*/
@property (nullable,nonatomic,copy) NSString *notifyExt;
@end
NS_ASSUME_NONNULL_END