| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379 |
- //
- // TIMUserProfile+ShowAble.m
- // TIMChat
- //
- // Created by AlexiChen on 16/3/1.
- // Copyright © 2016年 AlexiChen. All rights reserved.
- //
- #import "IMSDK+ShowAble.h"
- @implementation TIMUserProfile (ShowAble)
- // 显示的标题
- - (NSString *)showTitle
- {
- return ![NSString isEmpty:self.remark] ? self.remark : ![NSString isEmpty:self.nickname] ? self.nickname : self.identifier;
- }
- // 显示图像的地址
- - (NSURL *)showIconUrl
- {
- return [NSURL URLWithString:self.faceURL];
- }
- - (NSString *)getAllowType
- {
- switch (self.allowType)
- {
- case TIM_FRIEND_ALLOW_ANY:
- {
- return ASLocalizedString(@"同意任何用户加好友");
- }
-
- break;
- case TIM_FRIEND_NEED_CONFIRM:
- {
- return ASLocalizedString(@"需要验证");
- }
- break;
- case TIM_FRIEND_DENY_ANY:
- {
- return ASLocalizedString(@"拒绝任何人加好友");
- }
- break;
- default:
- break;
- }
- }
- + (NSDictionary *)allowTypeTips
- {
- return @{ASLocalizedString(@"同意任何用户加好友"): @(TIM_FRIEND_ALLOW_ANY), ASLocalizedString(@"需要验证"): @(TIM_FRIEND_NEED_CONFIRM), ASLocalizedString(@"拒绝任何人加好友"): @(TIM_FRIEND_DENY_ANY)};
- }
- @end
- @implementation TIMFriendPendencyItem (ShowAble)
- // 显示的标题
- - (NSString *)showTitle
- {
- return ![NSString isEmpty:self.nickname] ? self.nickname : self.identifier;
- }
- // 显示图像的地址
- - (NSURL *)showIconUrl
- {
- return nil;
- }
- - (NSString *)applyInfo
- {
- return self.addWording;
- }
- - (BOOL)isSendByMe
- {
- return self.type == TIM_PENDENCY_GET_SEND_OUT;
- }
- @end
- @implementation TIMFriendFutureItem (ShowAble)
- // 显示的标题
- - (NSString *)showTitle
- {
- return [self.profile showTitle];
- }
- // 显示图像的地址
- - (NSURL *)showIconUrl
- {
- return [self.profile showIconUrl];
- }
- ///**
- // * 收到的未决请求
- // */
- //TIM_FUTURE_FRIEND_PENDENCY_IN_TYPE = 0x1,
- //
- ///**
- // * 发出去的未决请求
- // */
- //TIM_FUTURE_FRIEND_PENDENCY_OUT_TYPE = 0x2,
- //
- ///**
- // * 推荐好友
- // */
- //TIM_FUTURE_FRIEND_RECOMMEND_TYPE = 0x4,
- //
- ///**
- // * 已决好友
- // */
- //TIM_FUTURE_FRIEND_DECIDE_TYPE = 0x8,
- // 申请理由
- - (NSString *)detaiInfo
- {
- switch (self.type)
- {
- case TIM_FUTURE_FRIEND_PENDENCY_IN_TYPE:
- {
- // 如果已添加到到列表
- return [NSString stringWithFormat:ASLocalizedString(@"请求理由:%@"), self.addWording];
-
- }
-
- break;
- case TIM_FUTURE_FRIEND_PENDENCY_OUT_TYPE:
- {
- // 如果已添加到到列表
- return [NSString stringWithFormat:ASLocalizedString(@"添加理由:%@"), self.addWording];
- }
-
- break;
- case TIM_FUTURE_FRIEND_RECOMMEND_TYPE:
- {
- // 如果已添加到到列表
- return [NSString stringWithFormat:ASLocalizedString(@"推荐好友:%@"), self.addWording];
- }
-
- break;
- case TIM_FUTURE_FRIEND_DECIDE_TYPE:
- {
- // 已决列表里面全部是已经同意的
- return ASLocalizedString(@"已添加");
- }
-
- break;
- default:
- break;
- }
- return nil;
- }
- - (BOOL)isMyFriend
- {
- IMAUser *usr = [[IMAUser alloc] initWith:self.identifier];
- return [[IMAPlatform sharedInstance].contactMgr isMyFriend:usr];
- }
- - (BOOL)isSendByMe
- {
- return self.type == TIM_FUTURE_FRIEND_PENDENCY_OUT_TYPE;
- }
- - (BOOL)isPendency
- {
- return self.type == TIM_FUTURE_FRIEND_PENDENCY_IN_TYPE ;
- }
- - (BOOL)isDecide
- {
- return self.type == TIM_FUTURE_FRIEND_DECIDE_TYPE;
- }
- - (BOOL)isRecormend
- {
- return self.type == TIM_FUTURE_FRIEND_RECOMMEND_TYPE;
- }
- @end
- @implementation TIMGroupPendencyItem (ShowAble)
- - (NSString *)showTitle
- {
- //未处理
- if (self.handleStatus == TIM_GROUP_PENDENCY_HANDLE_STATUS_UNHANDLED)
- {
- return self.fromUser;
- }
- else
- {
- IMAUser *user = [[IMAUser alloc] initWith:self.toUser];
-
- BOOL isToUserIsMe = [[IMAPlatform sharedInstance].host isMe:user];
-
- NSString *toUserStr = isToUserIsMe ? ASLocalizedString(@"你"): self.toUser;
-
- return toUserStr;
- }
- }
- - (NSURL *)showIconUrl
- {
- return nil;
- }
- - (NSString *)applyInfo
- {
- if (self.handleStatus == TIM_GROUP_PENDENCY_HANDLE_STATUS_UNHANDLED)
- {
- switch (self.getType)
- {
- case TIM_GROUP_PENDENCY_GET_TYPE_JOIN:
- return [NSString stringWithFormat:ASLocalizedString(@"申请理由:%@"), self.requestMsg];
- break;
- case TIM_GROUP_PENDENCY_GET_TYPE_INVITE:
- return [NSString stringWithFormat:ASLocalizedString(@"邀请理由:%@"), self.requestMsg];
- break;
- default:
- break;
- }
- }
- else
- {
- if (self.handleResult == TIM_GROUP_PENDENCY_HANDLE_RESULT_REFUSE)
- {
- return [NSString stringWithFormat:ASLocalizedString(@"拒绝理由:%@"), self.handledMsg];
- }
- else
- {
- return [NSString stringWithFormat:ASLocalizedString(@"同意理由:%@"), self.handledMsg];
- }
-
- }
-
- return nil;
- }
- - (NSString *)detailInfo
- {
- IMAUser *user = [[IMAUser alloc] initWith:self.toUser];
-
- BOOL isToUserIsMe = [[IMAPlatform sharedInstance].host isMe:user];
-
- NSString *toUserStr = isToUserIsMe ? ASLocalizedString(@"你"): self.toUser;
-
- if (self.handleStatus == TIM_GROUP_PENDENCY_HANDLE_STATUS_UNHANDLED)
- {
- switch (self.getType)
- {
- case TIM_GROUP_PENDENCY_GET_TYPE_JOIN:
- return [NSString stringWithFormat:ASLocalizedString(@"申请加入群%@"),self.groupId];
- break;
- case TIM_GROUP_PENDENCY_GET_TYPE_INVITE:
- return [NSString stringWithFormat:ASLocalizedString(@"邀请%@加入群%@"), toUserStr, self.groupId];
- break;
- default:
- break;
- }
- }
- else
- {
- switch (self.getType)
- {
- case TIM_GROUP_PENDENCY_GET_TYPE_JOIN:
- return [NSString stringWithFormat:ASLocalizedString(@"已同意%@进群%@"),self.fromUser, self.groupId];
- break;
- case TIM_GROUP_PENDENCY_GET_TYPE_INVITE:
- return [NSString stringWithFormat:ASLocalizedString(@"受%@邀请进群%@"), self.fromUser, self.groupId];
- break;
- default:
- break;
- }
- }
- return nil;
- }
- - (NSString *)actionTitle
- {
- //未处理
- if (self.handleStatus == TIM_GROUP_PENDENCY_HANDLE_STATUS_UNHANDLED)
- {
- return ASLocalizedString(@"审核");
- }
- else// if (self.handleStatus == TIM_GROUP_PENDENCY_HANDLE_STATUS_OTHER_HANDLED | self.handleStatus == TIM_GROUP_PENDENCY_HANDLE_STATUS_OPERATOR_HANDLED)
- {
- if (self.handleResult == TIM_GROUP_PENDENCY_HANDLE_RESULT_REFUSE)
- {
- return ASLocalizedString(@"已拒绝");
- }
- else if (self.handleResult == TIM_GROUP_PENDENCY_HANDLE_RESULT_AGREE)
- {
- return ASLocalizedString(@"已同意");
- }
- }
- return nil;
- }
- - (BOOL)actionEnable
- {
- if (self.handleStatus == TIM_GROUP_PENDENCY_HANDLE_STATUS_UNHANDLED)
- {
- return YES;
- }
- else
- {
- return NO;
- }
- }
- @end
- @implementation TIMGroupInfo (ShowAble)
- + (instancetype)instanceFrom:(TIMCreateGroupInfo *)info
- {
- if (!info)
- {
- return nil;
- }
-
- TIMGroupInfo *gi = [[TIMGroupInfo alloc] init];
- gi.group = info.group;
- gi.groupName = info.groupName;
- gi.groupType = info.groupType;
- gi.notification = info.notification;
- gi.introduction = info.introduction;
- gi.faceURL = info.faceURL;
- return gi;
- }
- - (NSString *)showTitle
- {
- return self.groupName;
- }
- - (NSURL *)showIconUrl
- {
- return !self.faceURL ? [NSURL URLWithString:self.faceURL] : nil;
- }
- - (NSString *)groupId
- {
- return self.group;
- }
- - (NSInteger)memberCount
- {
- return self.memberNum;
- }
- @end
- @implementation TIMGroupMemberInfo (ShowAble)
- // 显示的标题
- - (NSString *)showTitle
- {
- return ![NSString isEmpty:self.nameCard] ? self.nameCard : self.member;
- }
- // 显示图像的地址
- - (NSURL *)showIconUrl
- {
- // TODO:获取用户头像
- return nil;
- }
- @end
|