NIMCardMemberItem.m 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  1. //
  2. // NTESCardMemberItem.m
  3. // NIM
  4. //
  5. // Created by chris on 15/3/5.
  6. // Copyright (c) 2015年 Netease. All rights reserved.
  7. //
  8. #import "NIMCardMemberItem.h"
  9. #import "NIMUsrInfoData.h"
  10. #import "NIMKitUtil.h"
  11. #import "NIMKit.h"
  12. @interface NIMTeamCardMemberItem()
  13. @property (nonatomic,readwrite,strong) NIMTeamMember *member;
  14. @property (nonatomic,copy) NSString *userId;
  15. @end;
  16. @implementation NIMTeamCardMemberItem
  17. - (instancetype)initWithMember:(NIMTeamMember*)member{
  18. self = [self init];
  19. if (self) {
  20. _member = member;
  21. _userId = member.userId;
  22. }
  23. return self;
  24. }
  25. - (BOOL)isEqual:(id)object{
  26. if (![object isKindOfClass:[NIMTeamCardMemberItem class]]) {
  27. return NO;
  28. }
  29. NIMTeamCardMemberItem *obj = (NIMTeamCardMemberItem*)object;
  30. return [obj.memberId isEqualToString:self.memberId];
  31. }
  32. - (NSUInteger)hash {
  33. return [self.member.userId hash];
  34. }
  35. - (NSString *)imageUrl{
  36. return [[NIMKit sharedKit] infoByUser:_member.userId option:nil].avatarUrlString;
  37. }
  38. - (NIMTeamMemberType)type {
  39. return _member.type;
  40. }
  41. - (void)setType:(NIMTeamMemberType)type {
  42. _member.type = type;
  43. }
  44. - (NSString *)title {
  45. NIMSession *session = [NIMSession session:self.member.teamId type:NIMSessionTypeTeam];
  46. return [NIMKitUtil showNick:self.member.userId inSession:session];
  47. }
  48. - (NIMTeam *)team {
  49. return [[NIMSDK sharedSDK].teamManager teamById:_member.teamId];
  50. }
  51. #pragma mark - TeamCardHeaderData
  52. - (UIImage*)imageNormal{
  53. NIMKitInfo *info = [[NIMKit sharedKit] infoByUser:self.member.userId option:nil];
  54. return info.avatarImage;
  55. }
  56. - (UIImage*)imageHighLight{
  57. NIMKitInfo *info = [[NIMKit sharedKit] infoByUser:self.member.userId option:nil];
  58. return info.avatarImage;
  59. }
  60. - (NSString*)memberId{
  61. return self.member.userId;
  62. }
  63. - (NIMKitCardHeaderOpeator)opera{
  64. return CardHeaderOpeatorNone;
  65. }
  66. @end
  67. @interface NIMUserCardMemberItem()
  68. @property (nonatomic,strong) NIMKitInfo *info;
  69. @end;
  70. @implementation NIMUserCardMemberItem
  71. - (instancetype)initWithUserId:(NSString*)userId{
  72. self = [self init];
  73. if (self) {
  74. _info = [[NIMKit sharedKit] infoByUser:userId option:nil];
  75. }
  76. return self;
  77. }
  78. - (BOOL)isEqual:(id)object{
  79. if (![object isKindOfClass:[NIMUserCardMemberItem class]]) {
  80. return NO;
  81. }
  82. NIMUserCardMemberItem *obj = (NIMUserCardMemberItem*)object;
  83. return [obj.memberId isEqualToString:self.memberId];
  84. }
  85. - (NSUInteger)hash {
  86. return [self.memberId hash];
  87. }
  88. #pragma mark - TeamCardHeaderData
  89. - (UIImage*)imageNormal{
  90. return self.info.avatarImage;
  91. }
  92. - (NSString *)imageUrl{
  93. return self.info.avatarUrlString;
  94. }
  95. - (NSString*)title{
  96. return self.info.showName;
  97. }
  98. - (NSString*)memberId{
  99. return self.info.infoId;
  100. }
  101. - (NIMKitCardHeaderOpeator)opera{
  102. return CardHeaderOpeatorNone;
  103. }
  104. @end