| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409 |
- //
- // TIMGroupManager+Ext.h
- // IMGroupExt
- //
- // Created by tomzhu on 2017/2/9.
- //
- //
- #ifndef TIMGroupManager_Ext_h
- #define TIMGroupManager_Ext_h
- #import <ImSDK/ImSDK.h>
- #import "TIMComm+Group.h"
- @interface TIMGroupManager (Ext)
- /**
- * 创建私有群
- *
- * @param members 群成员,NSString* 数组
- * @param groupName 群名
- * @param succ 成功回调
- * @param fail 失败回调
- *
- * @return 0 成功
- */
- - (int)createPrivateGroup:(NSArray*)members groupName:(NSString*)groupName succ:(TIMCreateGroupSucc)succ fail:(TIMFail)fail;
- /**
- * 创建公开群
- *
- * @param members 群成员,NSString* 数组
- * @param groupName 群名
- * @param succ 成功回调
- * @param fail 失败回调
- *
- * @return 0 成功
- */
- - (int)createPublicGroup:(NSArray*)members groupName:(NSString*)groupName succ:(TIMCreateGroupSucc)succ fail:(TIMFail)fail;
- /**
- * 创建聊天室
- *
- * @param members 群成员,NSString* 数组
- * @param groupName 群名
- * @param succ 成功回调
- * @param fail 失败回调
- *
- * @return 0 成功
- */
- - (int)createChatRoomGroup:(NSArray*)members groupName:(NSString*)groupName succ:(TIMCreateGroupSucc)succ fail:(TIMFail)fail;
- /**
- * 创建音视频聊天室(可支持超大群,详情可参考wiki文档)
- *
- * @param groupName 群名
- * @param succ 成功回调
- * @param fail 失败回调
- *
- * @return 0 成功
- */
- - (int)createAVChatRoomGroup:(NSString*)groupName succ:(TIMCreateGroupSucc)succ fail:(TIMFail)fail;
- /**
- * 创建群组
- *
- * @param groupInfo 群组信息
- * @param succ 成功回调
- * @param fail 失败回调
- *
- * @return 0 成功
- */
- - (int)createGroup:(TIMCreateGroupInfo*)groupInfo succ:(TIMCreateGroupSucc)succ fail:(TIMFail)fail;
- /**
- * 邀请好友入群
- *
- * @param group 群组Id
- * @param members 要加入的成员列表(NSString* 类型数组)
- * @param succ 成功回调
- * @param fail 失败回调
- *
- * @return 0 成功
- */
- - (int)inviteGroupMember:(NSString*)group members:(NSArray*)members succ:(TIMGroupMemberSucc)succ fail:(TIMFail)fail;
- /**
- * 删除群成员
- *
- * @param group 群组Id
- * @param reason 删除原因
- * @param members 要删除的成员列表
- * @param succ 成功回调
- * @param fail 失败回调
- *
- * @return 0 成功
- */
- - (int)deleteGroupMemberWithReason:(NSString*)group reason:(NSString*)reason members:(NSArray*)members succ:(TIMGroupMemberSucc)succ fail:(TIMFail)fail;
- /**
- * 获取群公开信息
- * @param groups 群组Id
- * @param succ 成功回调
- * @param fail 失败回调
- *
- * @return 0 成功
- */
- - (int)getGroupPublicInfo:(NSArray*)groups succ:(TIMGroupListSucc)succ fail:(TIMFail)fail;
- /**
- * 获取群列表
- *
- * @param succ 成功回调,NSArray列表为 TIMGroupInfo,结构体只包含 group\groupName\groupType\faceUrl\selfInfo 信息
- * @param fail 失败回调
- *
- * @return 0 成功
- */
- - (int)getGroupList:(TIMGroupListSucc)succ fail:(TIMFail)fail;
- /**
- * 获取群信息
- *
- * @param succ 成功回调,不包含 selfInfo信息
- * @param fail 失败回调
- *
- * @return 0 成功
- */
- - (int)getGroupInfo:(NSArray*)groups succ:(TIMGroupListSucc)succ fail:(TIMFail)fail;
- /**
- * 获取本人在群组内的成员信息
- *
- * @param group 群组Id
- * @param succ 成功回调,返回信息
- * @param fail 失败回调
- *
- * @return 0 成功
- */
- - (int)getGroupSelfInfo:(NSString*)group succ:(TIMGroupSelfSucc)succ fail:(TIMFail)fail;
- /**
- * 获取接受消息选项
- *
- * @param group 群组Id
- * @param succ 成功回调
- * @param fail 失败回调
- *
- * @return 0 成功
- */
- - (int)getReciveMessageOpt:(NSString*)group succ:(TIMGroupReciveMessageOptSucc)succ fail:(TIMFail)fail;
- /**
- * 获取群成员列表
- *
- * @param group 群组Id
- * @param succ 成功回调(TIMGroupMemberInfo列表)
- * @param fail 失败回调
- *
- * @return 0 成功
- */
- - (int)getGroupMembers:(NSString*)group succ:(TIMGroupMemberSucc)succ fail:(TIMFail)fail;
- /**
- * 获取群组指定成员的信息
- *
- * @param group 群组Id
- * @param members 成员Id(NSString*)列表
- * @param succ 成功回调(TIMGroupMemberInfo列表)
- * @param fail 失败回调
- *
- * @return 0 成功
- */
- - (int)getGroupMembersInfo:(NSString*)group members:(NSArray*)members succ:(TIMGroupMemberSucc)succ fail:(TIMFail)fail;
- /**
- * 获取指定类型的成员列表(支持按字段拉取,分页)
- *
- * @param group 群组Id:(NSString*) 列表
- * @param filter 群成员角色过滤方式
- * @param flags 拉取资料标志
- * @param custom 要获取的自定义key(NSString*)列表
- * @param nextSeq 分页拉取标志,第一次拉取填0,回调成功如果不为零,需要分页,传入再次拉取,直至为0
- * @param succ 成功回调
- * @param fail 失败回调
- */
- - (int)getGroupMembers:(NSString*)group ByFilter:(TIMGroupMemberFilter)filter flags:(TIMGetGroupMemInfoFlag)flags custom:(NSArray*)custom nextSeq:(uint64_t)nextSeq succ:(TIMGroupMemberSuccV2)succ fail:(TIMFail)fail;
- /**
- * 修改群名
- *
- * @param group 群组Id
- * @param groupName 新群名
- * @param succ 成功回调
- * @param fail 失败回调
- *
- * @return 0 成功
- */
- - (int)modifyGroupName:(NSString*)group groupName:(NSString*)groupName succ:(TIMSucc)succ fail:(TIMFail)fail;
- /**
- * 修改群简介
- *
- * @param group 群组Id
- * @param introduction 群简介(最长120字节)
- * @param succ 成功回调
- * @param fail 失败回调
- *
- * @return 0 成功
- */
- - (int)modifyGroupIntroduction:(NSString*)group introduction:(NSString*)introduction succ:(TIMSucc)succ fail:(TIMFail)fail;
- /**
- * 修改群公告
- *
- * @param group 群组Id
- * @param notification 群公告(最长150字节)
- * @param succ 成功回调
- * @param fail 失败回调
- *
- * @return 0 成功
- */
- - (int)modifyGroupNotification:(NSString*)group notification:(NSString*)notification succ:(TIMSucc)succ fail:(TIMFail)fail;
- /**
- * 修改群头像
- *
- * @param group 群组Id
- * @param url 群头像地址(最长100字节)
- * @param succ 成功回调
- * @param fail 失败回调
- *
- * @return 0 成功
- */
- - (int)modifyGroupFaceUrl:(NSString*)group url:(NSString*)url succ:(TIMSucc)succ fail:(TIMFail)fail;
- /**
- * 修改加群选项
- *
- * @param group 群组Id
- * @param opt 加群选项,详见 TIMGroupAddOpt
- * @param succ 成功回调
- * @param fail 失败回调
- *
- * @return 0 成功
- */
- - (int)modifyGroupAddOpt:(NSString*)group opt:(TIMGroupAddOpt)opt succ:(TIMSucc)succ fail:(TIMFail)fail;
- /**
- * 修改群自定义字段集合
- *
- * @param group 群组Id
- * @param customInfo 自定义字段集合,key是NSString*类型,value是NSData*类型
- * @param succ 成功回调
- * @param fail 失败回调
- *
- * @return 0 成功
- */
- - (int)modifyGroupCustomInfo:(NSString*)group customInfo:(NSDictionary*)customInfo succ:(TIMSucc)succ fail:(TIMFail)fail;
- /**
- * 转让群给新群主
- *
- * @param group 群组Id
- * @param identifier 新的群主Id
- * @param succ 成功回调
- * @param fail 失败回调
- *
- * @return 0 成功
- */
- - (int)modifyGroupOwner:(NSString*)group user:(NSString*)identifier succ:(TIMSucc)succ fail:(TIMFail)fail;
- /**
- * 修改接受消息选项
- *
- * @param group 群组Id
- * @param opt 接受消息选项,详见 TIMGroupReceiveMessageOpt
- * @param succ 成功回调
- * @param fail 失败回调
- *
- * @return 0 成功
- */
- - (int)modifyReciveMessageOpt:(NSString*)group opt:(TIMGroupReceiveMessageOpt)opt succ:(TIMSucc)succ fail:(TIMFail)fail;
- /**
- * 修改群成员角色
- *
- * @param group 群组Id
- * @param identifier 被修改角色的用户identifier
- * @param role 角色(注意:不能修改为群主),详见 TIMGroupMemberRole
- * @param succ 成功回调
- * @param fail 失败回调
- *
- * @return 0 成功
- */
- - (int)modifyGroupMemberInfoSetRole:(NSString*)group user:(NSString*)identifier role:(TIMGroupMemberRole)role succ:(TIMSucc)succ fail:(TIMFail)fail;
- /**
- * 禁言用户(只有管理员或群主能够调用)
- *
- * @param group 群组Id
- * @param identifier 被禁言的用户identifier
- * @param stime 禁言时间
- * @param succ 成功回调
- * @param fail 失败回调
- *
- * @return 0 成功
- */
- - (int)modifyGroupMemberInfoSetSilence:(NSString*)group user:(NSString*)identifier stime:(uint32_t)stime succ:(TIMSucc)succ fail:(TIMFail)fail;
- /**
- * 修改群名片(只有本人、管理员或群主能够调用)
- *
- * @param group 群组Id
- * @param identifier 被操作用户identifier
- * @param nameCard 群名片
- * @param succ 成功回调
- * @param fail 失败回调
- *
- * @return 0 成功
- */
- - (int)modifyGroupMemberInfoSetNameCard:(NSString*)group user:(NSString*)identifier nameCard:(NSString*)nameCard succ:(TIMSucc)succ fail:(TIMFail)fail;
- /**
- * 修改群成员自定义字段集合
- *
- * @param group 群组Id
- * @param identifier 被操作用户identifier
- * @param customInfo 自定义字段集合,key是NSString*类型,value是NSData*类型
- * @param succ 成功回调
- * @param fail 失败回调
- *
- * @return 0 成功
- */
- - (int)modifyGroupMemberInfoSetCustomInfo:(NSString*)group user:(NSString*)identifier customInfo:(NSDictionary*)customInfo succ:(TIMSucc)succ fail:(TIMFail)fail;
- /**
- * 修改群组是否可被搜索属性
- *
- * @param group 群组Id
- * @param searchable 是否能被搜索
- * @param succ 成功回调
- * @param fail 失败回调
- *
- * @return 0 成功
- */
- - (int)modifyGroupSearchable:(NSString*)group searchable:(BOOL)searchable succ:(TIMSucc)succ fail:(TIMFail)fail;
- /**
- * 修改群组成员是否可见属性
- *
- * @param group 群组Id
- * @param visible 是否可见
- * @param succ 成功回调
- * @param fail 失败回调
- *
- * @return 0 成功
- */
- - (int)modifyGroupMemberVisible:(NSString*)group visible:(BOOL)visible succ:(TIMSucc)succ fail:(TIMFail)fail;
- /**
- * 通过名称信息获取群资料(可指定字段拉取)
- *
- * @param groupName 群组名称
- * @param flags 拉取资料标志
- * @param custom 要获取的自定义key(NSString*)列表
- * @param pageIndex 分页号
- * @param pageSize 每页群组数目
- * @param succ 成功回调
- * @param fail 失败回调
- */
- - (int)searchGroup:(NSString*)groupName flags:(TIMGetGroupBaseInfoFlag)flags custom:(NSArray*)custom pageIndex:(uint32_t)pageIndex pageSize:(uint32_t)pageSize succ:(TIMGroupSearchSucc)succ fail:(TIMFail)fail;
- /**
- * 获取群组未决列表
- *
- * @param option 未决参数配置
- * @param succ 成功回调,返回未决列表
- * @param fail 失败回调
- *
- * @return 0 成功
- */
- - (int)getPendencyFromServer:(TIMGroupPendencyOption*)option succ:(TIMGetGroupPendencyListSucc)succ fail:(TIMFail)fail;
- /**
- * 群未决已读上报
- *
- * @param timestamp 上报已读时间戳
- * @param succ 成功回调
- * @param fail 失败回调
- *
- * @return 0 成功
- */
- - (int)pendencyReport:(uint64_t)timestamp succ:(TIMSucc)succ fail:(TIMFail)fail;
- #pragma mark - 开启本地缓存后有效
- /**
- * 获取用户所在群组信息
- *
- * @param groups 群组id(NSString*)列表,nil时返回群组列表
- *
- * @return 群组信息(TIMGroupInfo*)列表,assistant未同步时返回nil
- */
- - (NSArray*)getGroupInfo:(NSArray*)groups;
- @end
- #endif /* TIMGroupManager_Ext_h */
|