| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387 |
- //
- // IMAGroup+Profile.m
- // TIMChat
- //
- // Created by AlexiChen on 16/3/25.
- // Copyright © 2016年 AlexiChen. All rights reserved.
- //
- #import "IMAGroup+Profile.h"
- @implementation IMAGroup (Profile)
- + (NSDictionary *)groupAddOptTips
- {
- return @{ASLocalizedString(@"禁止加群"): @(TIM_GROUP_ADD_FORBID), ASLocalizedString(@"需要管理员审批"): @(TIM_GROUP_ADD_AUTH), ASLocalizedString(@"任何人可以加入"): @(TIM_GROUP_ADD_ANY)};
- }
- + (NSDictionary *)groupReceiveMessageTips
- {
- // /**
- // * 接收消息
- // */
- // TIM_GROUP_RECEIVE_MESSAGE = 0,
- // /**
- // * 不接收消息,服务器不进行转发
- // */
- // TIM_GROUP_NOT_RECEIVE_MESSAGE = 1,
- // /**
- // * 接受消息,不进行iOS APNs 推送
- // */
- // TIM_GROUP_RECEIVE_NOT_NOTIFY_MESSAGE = 2,
- return @{ASLocalizedString(@"接收消息"): @(TIM_GROUP_RECEIVE_MESSAGE), ASLocalizedString(@"不接收消息"): @(TIM_GROUP_NOT_RECEIVE_MESSAGE), ASLocalizedString(@"接收但不提醒"): @(TIM_GROUP_RECEIVE_NOT_NOTIFY_MESSAGE)};
- }
- - (NSString *)getGroupAddOptTip:(TIMGroupAddOpt)opt
- {
- switch (opt) {
- case TIM_GROUP_ADD_FORBID:
- return ASLocalizedString(@"禁止加群");
- break;
- case TIM_GROUP_ADD_AUTH:
- return ASLocalizedString(@"需要管理员审批");
- break;
- case TIM_GROUP_ADD_ANY:
- return ASLocalizedString(@"任何人可以加入");
-
- default:
- break;
- }
- return nil;
- }
- - (NSString *)getReceiveMessageTip:(TIMGroupReceiveMessageOpt)opt
- {
- switch (opt) {
- case TIM_GROUP_RECEIVE_MESSAGE:
- return ASLocalizedString(@"接收消息");
- break;
- case TIM_GROUP_NOT_RECEIVE_MESSAGE:
- return ASLocalizedString(@"不接收消息");
- break;
- case TIM_GROUP_RECEIVE_NOT_NOTIFY_MESSAGE:
- return ASLocalizedString(@"接收但不提醒");
-
- default:
- break;
- }
- return nil;
- }
- - (void)asyncModifyGroupName:(NSString *)name succ:(TIMSucc)succ fail:(TIMFail)fail
- {
- if ([NSString isEmpty:name])
- {
- DebugLog(@"参数错误");
- return;
- }
-
- if ([self.nickName isEqualToString:name])
- {
- [[BGHUDHelper sharedInstance] tipMessage:ASLocalizedString(@"与当前群名一致")];
- return;
- }
-
- if ([name utf8Length] > 30)
- {
- [[BGHUDHelper sharedInstance] tipMessage:ASLocalizedString(@"群名称过长")];
- return;
- }
-
- __weak IMAGroup *ws = self;
- [[TIMGroupManager sharedInstance] modifyGroupName:self.userId groupName:name succ:^{
- [ws setNickName:name];
- [[IMAPlatform sharedInstance].conversationMgr updateConversationWith:ws];
- if (succ)
- {
- succ();
- }
- } fail:^(int code, NSString *msg) {
- DebugLog(@"Fail code = %d, msg = %@", code, msg);
- [[BGHUDHelper sharedInstance] tipMessage:IMALocalizedError(code, msg)];
- if (fail)
- {
- fail(code, msg);
- }
- }];
- }
- - (void)asyncModifyGroupNameCard:(NSString *)name user:(NSString *)userId succ:(TIMSucc)succ fail:(TIMFail)fail
- {
- if ([NSString isEmpty:name])
- {
- DebugLog(@"参数错误");
- return;
- }
- // 获取Role里面的信息
- // if ([self.nickName isEqualToString:name])
- // {
- // [[BGHUDHelper sharedInstance] tipMessage:ASLocalizedString(@"与当前群名一致")];
- // return;
- // }
-
- if ([name utf8Length] > 30)
- {
- [[BGHUDHelper sharedInstance] tipMessage:ASLocalizedString(@"群名片过长")];
- return;
- }
-
- __weak IMAGroup *ws = self;
- [[TIMGroupManager sharedInstance] modifyGroupMemberInfoSetNameCard:self.userId user:userId nameCard:name succ:^{
- // [ws setNickName:name];
- [[IMAPlatform sharedInstance].conversationMgr updateConversationWith:ws];
- if (succ)
- {
- succ();
- }
- } fail:^(int code, NSString *msg) {
- DebugLog(@"Fail code = %d, msg = %@", code, msg);
- [[BGHUDHelper sharedInstance] tipMessage:IMALocalizedError(code, msg)];
- if (fail)
- {
- fail(code, msg);
- }
- }];
- }
- - (void)asyncModifyGroupIntroduction:(NSString *)name succ:(TIMSucc)succ fail:(TIMFail)fail
- {
- if ([NSString isEmpty:name])
- {
- DebugLog(@"参数错误");
- return;
- }
-
- if ([self.groupInfo.introduction isEqualToString:name])
- {
- [[BGHUDHelper sharedInstance] tipMessage:ASLocalizedString(@"与当前群介绍一致")];
- return;
- }
-
- if ([name utf8Length] > 120)
- {
- [[BGHUDHelper sharedInstance] tipMessage:ASLocalizedString(@"群公告过长")];
- return;
- }
-
- __weak IMAGroup *ws = self;
-
- [[TIMGroupManager sharedInstance] modifyGroupIntroduction:self.userId introduction:name succ:^{
- [ws.groupInfo setIntroduction:name];
- if (succ)
- {
- succ();
- }
- } fail:^(int code, NSString *msg) {
- DebugLog(@"Fail code = %d, msg = %@", code, msg);
- [[BGHUDHelper sharedInstance] tipMessage:IMALocalizedError(code, msg)];
- if (fail)
- {
- fail(code, msg);
- }
- }];
- }
- - (void)asyncModifyGroupNotify:(NSString *)name succ:(TIMSucc)succ fail:(TIMFail)fail
- {
- if ([NSString isEmpty:name])
- {
- DebugLog(@"参数错误");
- return;
- }
-
- if ([self.groupInfo.notification isEqualToString:name])
- {
- [[BGHUDHelper sharedInstance] tipMessage:ASLocalizedString(@"与当前群公告一致")];
- return;
- }
-
- if ([name utf8Length] > 150)
- {
- [[BGHUDHelper sharedInstance] tipMessage:ASLocalizedString(@"群公告过长")];
- return;
- }
-
- __weak IMAGroup *ws = self;
- [[TIMGroupManager sharedInstance] modifyGroupNotification:self.userId notification:name succ:^{
- [ws.groupInfo setNotification:name];
- if (succ)
- {
- succ();
- }
- } fail:^(int code, NSString *msg) {
- DebugLog(@"Fail code = %d, msg = %@", code, msg);
- [[BGHUDHelper sharedInstance] tipMessage:IMALocalizedError(code, msg)];
- if (fail)
- {
- fail(code, msg);
- }
- }];
- }
- - (void)asyncExitGroupSucc:(TIMSucc)succ fail:(TIMFail)fail
- {
- __weak IMAGroup *ws = self;
- if (self.userId.intValue == [IMAPlatform sharedInstance].host.userId.intValue)
- {
- // 讨论组不能deletegroup
- // 解散群
- [[V2TIMManager sharedInstance] dismissGroup:self.userId succ:^{
- [[IMAPlatform sharedInstance].contactMgr removeUser:ws];
- if (succ)
- {
- succ();
- }
- } fail:^(int code, NSString *desc) {
- DebugLog(@"Fail code = %d, msg = %@", code, desc);
- [[BGHUDHelper sharedInstance] tipMessage:IMALocalizedError(code, msg)];
- if (fail)
- {
- fail(code, desc);
- }
- }];
- // [[V2TIMManager sharedInstance] deleteGroup:self.userId succ:^{
- // // TODO:删除该群,以及相关的会话
- // [[IMAPlatform sharedInstance].contactMgr removeUser:ws];
- //
- // if (succ)
- // {
- // succ();
- // }
- // } fail:^(int code, NSString *msg) {
- // DebugLog(@"Fail code = %d, msg = %@", code, msg);
- // [[BGHUDHelper sharedInstance] tipMessage:IMALocalizedError(code, msg)];
- // if (fail)
- // {
- // fail(code, msg);
- // }
- // }];
- }
- else
- {
-
- [[V2TIMManager sharedInstance] quitGroup:self.userId succ:^{
- if (succ)
- {
- [[IMAPlatform sharedInstance].contactMgr removeUser:ws];
- succ();
- }
- } fail:^(int code, NSString *msg) {
- DebugLog(@"Fail code = %d, msg = %@", code, msg);
- [[BGHUDHelper sharedInstance] tipMessage:IMALocalizedError(code, msg)];
- if (fail)
- {
- fail(code, msg);
- }
- }];
-
- // 退出群
- // [[TIMGroupManager sharedInstance] quitGroup:self.userId succ:^{
- // // TODO:删除该群,以及相关的会话
- // [[IMAPlatform sharedInstance].contactMgr removeUser:ws];
- //
- // if (succ)
- // {
- // succ();
- // }
- // } fail:^(int code, NSString *msg) {
- // DebugLog(@"Fail code = %d, msg = %@", code, msg);
- // [[BGHUDHelper sharedInstance] tipMessage:IMALocalizedError(code, msg)];
- // if (fail)
- // {
- // fail(code, msg);
- // }
- // }];
- }
- }
- - (void)asyncModifyReciveMessageOption:(TIMGroupReceiveMessageOpt)opt succ:(TIMSucc)succ fail:(TIMFail)fail
- {
- [[TIMGroupManager sharedInstance] modifyReciveMessageOpt:self.userId opt:opt succ:succ fail:^(int code, NSString *msg) {
- DebugLog(@"Fail code = %d, msg = %@", code, msg);
- [[BGHUDHelper sharedInstance] tipMessage:IMALocalizedError(code, msg)];
- if (fail)
- {
- fail(code, msg);
- }
- }];
- }
- - (void)asyncModifyReciveMessage:(BOOL)receive succ:(TIMSucc)succ fail:(TIMFail)fail
- {
- [[TIMGroupManager sharedInstance] modifyReciveMessageOpt:self.userId opt:receive ? TIM_GROUP_RECEIVE_MESSAGE : TIM_GROUP_NOT_RECEIVE_MESSAGE succ:succ fail:^(int code, NSString *msg) {
- DebugLog(@"Fail code = %d, msg = %@", code, msg);
- [[BGHUDHelper sharedInstance] tipMessage:IMALocalizedError(code, msg)];
- if (fail)
- {
- fail(code, msg);
- }
- }];
- }
- - (void)asyncJoinGroup:(NSString*)msg succ:(TIMSucc)succ fail:(TIMFail)fail
- {
-
- [[V2TIMManager sharedInstance] joinGroup:self.groupInfo.group msg:msg succ:^{
- if (succ)
- {
- succ();
- }
- } fail:^(int code, NSString *desc) {
- DebugLog(@"Fail code = %d, msg = %@", code, msg);
- [[BGHUDHelper sharedInstance] tipMessage:IMALocalizedError(code, msg)];
- if (fail)
- {
- fail(code, msg);
- }
- }];
-
- // [[TIMGroupManager sharedInstance] joinGroup:self.groupInfo.group msg:msg succ:^{
- // if (succ)
- // {
- // succ();
- // }
- // } fail:^(int code, NSString *msg) {
- // DebugLog(@"Fail code = %d, msg = %@", code, msg);
- // [[BGHUDHelper sharedInstance] tipMessage:IMALocalizedError(code, msg)];
- // if (fail)
- // {
- // fail(code, msg);
- // }
- // }];
- }
- - (void)asyncUpdateGroupInfo:(TIMSucc)succ fail:(TIMFail)fail
- {
- [[TIMGroupManager sharedInstance] getGroupInfo:@[self.groupId] succ:^(NSArray *array) {
- // 只会返回一个信息
- TIMGroupInfo *groupInfo = array[0];
- [self changeGroupInfo:groupInfo];
- if (succ)
- {
- succ();
- }
- } fail:^(int code, NSString *msg) {
- DebugLog(@"Fail code = %d, msg = %@", code, msg);
- [[BGHUDHelper sharedInstance] tipMessage:IMALocalizedError(code, msg)];
- if (fail)
- {
- fail(code, msg);
- }
- }];
- }
- - (void)asyncModifyGroupAddOpt:(TIMGroupAddOpt)opt succ:(TIMSucc)succ fail:(TIMFail)fail
- {
- [[TIMGroupManager sharedInstance] modifyGroupAddOpt:self.groupId opt:opt succ:succ fail:^(int code, NSString *msg) {
- DebugLog(@"Fail code = %d, msg = %@", code, msg);
- [[BGHUDHelper sharedInstance] tipMessage:IMALocalizedError(code, msg)];
- if (fail)
- {
- fail(code, msg);
- }
- }];
- }
- @end
|