| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274 |
- //
- // IMAGroup.m
- // TIMAdapter
- //
- // Created by AlexiChen on 16/1/29.
- // Copyright © 2016年 AlexiChen. All rights reserved.
- //
- #import "IMAGroup.h"
- @implementation IMAGroup
- // 讨论组
- #define kPrivateGroupType @"Private"
- // 公开群
- #define kPublicGroupType @"Public"
- // 聊天室
- #define kChatRoomGroupType @"ChatRoom"
- - (instancetype)initWithInfo:(TIMGroupInfo *)group
- {
- if (self = [super init])
- {
- _groupInfo = group;
- [self initSelfGroupInfo];
- }
- return self;
- }
- - (void)initSelfGroupInfo
- {
- __weak IMAGroup *ws = self;
- [[TIMGroupManager sharedInstance] getGroupSelfInfo:self.groupId succ:^(TIMGroupMemberInfo *selfInfo) {
- [ws changeSelfGroupInfo:selfInfo];
- } fail:^(int code, NSString *msg) {
- DebugLog(@"code = %d,msg = %@", code, msg);
- }];
- }
- - (NSString *)selfNamecard
- {
- if (_selfGroupInfo)
- {
- return _selfGroupInfo.nameCard;
- }
- else
- {
- return @"";
- }
- }
- //由于目前版本GetGroupInfo接口返回的 TIMGroupInfo 中 selfInfo为空,所以更新群资料时,需要判断,selfInfo若为空,则保留原来的selfInfo
- - (void)changeGroupInfo:(TIMGroupInfo *)info
- {
- if (info.selfInfo)
- {
- _groupInfo = info;
- }
- else
- {
- TIMGroupSelfInfo *selfInfo = _groupInfo.selfInfo;
- _groupInfo = info;
- _groupInfo.selfInfo = selfInfo;
- }
- }
- - (void)changeSelfGroupInfo:(TIMGroupMemberInfo *)info
- {
- _selfGroupInfo = info;
- }
- - (void)modifySelfGroupNameCard:(NSString *)namecard
- {
- _selfGroupInfo.nameCard = namecard;
- }
- - (BOOL)isChatRoom
- {
- return [_groupInfo.groupType isEqualToString:kChatRoomGroupType];
-
- }
- - (BOOL)isChatGroup
- {
- return [_groupInfo.groupType isEqualToString:kPrivateGroupType];
- }
- - (BOOL)isPublicGroup
- {
- return [_groupInfo.groupType isEqualToString:kPublicGroupType];
- }
- - (BOOL)isCreatedByMe
- {
- return [_groupInfo.owner isEqualToString:[[IMAPlatform sharedInstance].host userId]];
- }
- - (BOOL)isManagedByMe
- {
- //等待接口支持
- return _groupInfo.selfInfo.role == TIM_GROUP_MEMBER_ROLE_ADMIN;
- }
- #pragma - mark overwrite IMAUser方法
- - (NSString *)groupId
- {
- return [self userId];
- }
- - (NSString *)userId
- {
- if (_groupInfo)
- {
- return [_groupInfo group];
- }
- else
- {
- return [super userId];
- }
- }
- - (void)setUserId:(NSString *)userId
- {
- if (_groupInfo)
- {
- return [_groupInfo setGroup:userId];
- }
- else
- {
- [super setUserId:userId];
- }
- }
- - (NSString *)icon
- {
- if (_groupInfo)
- {
- return [_groupInfo faceURL];
- }
- else
- {
- return [super icon];
- }
- }
- - (void)setIcon:(NSString *)icon
- {
- if (_groupInfo)
- {
- return [_groupInfo setFaceURL:icon];
- }
- else
- {
- return [super setIcon:icon];
- }
- }
- - (NSString *)nickName
- {
- if (_groupInfo)
- {
- return _groupInfo.groupName;
- }
- else
- {
- return [super nickName];
- }
- }
- - (void)setNickName:(NSString *)nickName
- {
- if (_groupInfo)
- {
- return [_groupInfo setGroupName:nickName];
- }
- else
- {
- return [super setNickName:nickName];
- }
- }
- - (NSString *)remark
- {
- if (_groupInfo)
- {
- return _groupInfo.groupName;
- }
- else
- {
- return [super remark];
- }
- }
- - (void)setRemark:(NSString *)remark
- {
- if (_groupInfo)
- {
- return [_groupInfo setGroupName:remark];
- }
- else
- {
- return [super setRemark:remark];
- }
- }
- //@property (nonatomic, copy) NSString *userId;
- //@property (nonatomic, copy) NSString *icon;
- //@property (nonatomic, copy) NSString *nickName;
- //@property (nonatomic, copy) NSString *remark;
- #pragma - mark IMAGroupShowAble
- - (NSInteger)memberCount
- {
- return _groupInfo.memberNum;
- }
- //#pragma - mark IMAConversationShowAble
- //- (NSString *)lastMsgTime
- //{
- // return nil;
- //}
- //- (NSString *)lastMsg
- //{
- // return nil;
- //}
- //- (NSInteger)unReadCount
- //{
- // return 0;
- //}
- #pragma - mark IMAConversationAble
- - (BOOL)isC2CType
- {
- return NO;
- }
- - (BOOL)isGroupType
- {
- return YES;
- }
- - (NSString *)receiveMessageOpt
- {
- NSString *rcvOpt = [self getReceiveMessageTip:self.groupInfo.selfInfo.recvOpt];
- return rcvOpt;
- }
- - (NSString *)groupAddOpt
- {
- switch (self.groupInfo.addOpt)
- {
- case TIM_GROUP_ADD_FORBID:
- return ASLocalizedString(@"禁止加群");
- break;
- case TIM_GROUP_ADD_AUTH:
- return ASLocalizedString(@"需要管理员审批");
- break;
- case TIM_GROUP_ADD_ANY:
- return ASLocalizedString(@"任何人可以加入");
- break;
- default:
- break;
- }
- return ASLocalizedString(@"未知类型");
- }
- @end
|