未读消息不回更新

This commit is contained in:
fengshuo
2023-03-15 18:01:28 +08:00
parent aebeb945bc
commit cfc8ed0922
9 changed files with 69 additions and 7 deletions

View File

@@ -56,6 +56,7 @@
make.left.mas_equalTo(self.avaterImgView.mas_right).mas_offset(8);
make.bottom.mas_equalTo(self.avaterImgView.mas_centerY).mas_offset(-4);
make.height.mas_equalTo(14);
make.right.mas_lessThanOrEqualTo(self.timeLabel.mas_left).offset(-15);
}];
[self.memberIdLabel mas_makeConstraints:^(MASConstraintMaker *make) {

View File

@@ -78,6 +78,10 @@
make.bottom.mas_equalTo(self.avatarImageView.mas_centerY).offset(-2);
}];
[self.sexImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(20, 20));
}];
[self.signLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.mas_equalTo(self.stackView);
make.top.mas_equalTo(self.avatarImageView.mas_centerY).offset(2);

View File

@@ -85,6 +85,10 @@
make.right.mas_equalTo(self.attentionButton.mas_left).mas_offset(-4);
}];
[self.sexImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(20, 20));
}];
[self.attentionButton mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.mas_equalTo(65);
make.height.mas_equalTo(30);

View File

@@ -33,6 +33,8 @@ NS_ASSUME_NONNULL_BEGIN
@property (nonatomic,assign) BOOL isShowAvatar;
///头像地址
@property (nonatomic,strong) NSString *avatarUrl;
///用户的uid
@property (nonatomic,strong) NSString *uid;
@end
NS_ASSUME_NONNULL_END

View File

@@ -133,6 +133,7 @@
- (XPMessageInfoModel*)makeChatAttribute:(NIMMessage *)message messageInfo:(XPMessageInfoModel *)messageInfo{
NSString * uid = [AccountInfoStorage instance].getUid;
messageInfo.isShowAvatar = YES;
messageInfo.uid = message.from;
NIMUser * user = [[NIMSDK sharedSDK].userManager userInfo:message.from];
if (user) {
messageInfo.avatarUrl = user.userInfo.avatarUrl.length > 0 ? user.userInfo.avatarUrl : user.userInfo.thumbAvatarUrl;

View File

@@ -11,8 +11,9 @@ NS_ASSUME_NONNULL_BEGIN
@class XPRoomMessageParser, YYLabel, XPRoomMessageAvatarTableViewCell, XPMessageInfoModel;
@protocol XPRoomMessageAvatarTableViewCellDelegate <NSObject>
- (void)xPRoomMessageTableViewCellDidTapEmpty:(XPRoomMessageAvatarTableViewCell *)view;
- (void)xPRoomMessageAvatarTableViewCellDelegateDidTapEmpty:(XPRoomMessageAvatarTableViewCell *)view;
///选择了用户头像
- (void)xPRoomMessageAvatarTableViewCellDelegate:(XPRoomMessageAvatarTableViewCell *)view didTapAvatar:(NSString *)uid;
@end
@interface XPRoomMessageAvatarTableViewCell : UITableViewCell

View File

@@ -77,11 +77,18 @@
#pragma mark - Event Response
- (void)didTap {
if (self.delegate && [self.delegate respondsToSelector:@selector(xPRoomMessageTableViewCellDidTapEmpty:)]) {
[self.delegate xPRoomMessageTableViewCellDidTapEmpty:self];
if (self.delegate && [self.delegate respondsToSelector:@selector(xPRoomMessageAvatarTableViewCellDelegateDidTapEmpty:)]) {
[self.delegate xPRoomMessageAvatarTableViewCellDelegateDidTapEmpty:self];
}
}
- (void)tapAvatarRecognizer {
if (self.delegate && [self.delegate respondsToSelector:@selector(xPRoomMessageAvatarTableViewCellDelegate:didTapAvatar:)]) {
[self.delegate xPRoomMessageAvatarTableViewCellDelegate:self didTapAvatar:self.messageInfo.uid];
}
}
#pragma mark - Getters And Setters
- (void)setMessageInfo:(XPMessageInfoModel *)messageInfo {
_messageInfo = messageInfo;
@@ -117,6 +124,9 @@
_avatarImageView.layer.masksToBounds = YES;
_avatarImageView.layer.cornerRadius = 34/2;
_avatarImageView.layer.borderColor = [ThemeColor appMainColor].CGColor;
_avatarImageView.userInteractionEnabled = YES;
UITapGestureRecognizer * tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapAvatarRecognizer)];
[_avatarImageView addGestureRecognizer:tap];
}
return _avatarImageView;
}

View File

@@ -32,15 +32,17 @@
#import "RoomSailingPrizeModel.h"
#import "UserInfoModel.h"
#import "XPMessageInfoModel.h"
#import "XPUserCardInfoModel.h"
///View
#import "XPRoomMessageTableViewCell.h"
#import "XPRoomMessageAvatarTableViewCell.h"
#import "XPRoomMessageHeaderView.h"
#import "View/XPRoomMessageHeaderView.h"
#import "XPUserCardViewController.h"
NSString * const kRoomShowTopicKey = @"kRoomShowTopicKey";
@interface XPRoomMessageContainerView ()<UITableViewDelegate, UITableViewDataSource, XPRoomMessageTableViewCellDelegate, UIGestureRecognizerDelegate>
@interface XPRoomMessageContainerView ()<UITableViewDelegate, UITableViewDataSource, XPRoomMessageTableViewCellDelegate, XPRoomMessageAvatarTableViewCellDelegate, UIGestureRecognizerDelegate>
///
@property (nonatomic,weak) id<RoomHostDelegate> hostDelegate;
@@ -876,6 +878,43 @@ NSString * const kRoomShowTopicKey = @"kRoomShowTopicKey";
}
}
#pragma mark - XPRoomMessageAvatarTableViewCell
- (void)xPRoomMessageAvatarTableViewCellDelegateDidTapEmpty:(XPRoomMessageAvatarTableViewCell *)view{
if (self.hostDelegate.getRoomInfo.type == RoomType_MiniGame) {
self.isLarge = !self.isLarge;
CGFloat height = self.isLarge ? 200 : 80;
[self mas_updateConstraints:^(MASConstraintMaker *make) {
make.height.mas_equalTo(height);
}];
}
}
- (void)xPRoomMessageAvatarTableViewCellDelegate:(XPRoomMessageAvatarTableViewCell *)view didTapAvatar:(NSString *)uid {
if (uid.length > 0) {
RoomInfoModel * roomInfo = self.hostDelegate.getRoomInfo;
NSString * targetUid = uid;
XPUserCardInfoModel * model = [[XPUserCardInfoModel alloc] init];
[[self.hostDelegate.getMicroQueue allValues] enumerateObjectsUsingBlock:^(MicroQueueModel * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
if (uid.integerValue == obj.userInfo.uid) {
model.position = [NSString stringWithFormat:@"%d", obj.microState.position];
model.posState = obj.microState.posState;
model.micState = obj.microState.micState;
*stop = YES;
}
}];
model.nick = self.hostDelegate.getUserInfo.nick;
model.uid = targetUid;
model.micQueue = self.hostDelegate.getMicroQueue;
model.roomInfo = roomInfo;
model.delegate = self.hostDelegate;
model.superMangerList = self.hostDelegate.getRoomSuperAdminList;
XPUserCardViewController * userCardVC = [[XPUserCardViewController alloc] initWithUser:model];
[self.hostDelegate.getCurrentNav presentViewController:userCardVC animated:YES completion:nil];
}
}
#pragma mark - Getters And Setters
- (UITableView *)messageTableView {
if (!_messageTableView) {

View File

@@ -722,7 +722,7 @@ UIKIT_EXTERN NSString *kTabShowAnchorCardKey;
if (unreadCount > 0) {
[self.tabBar.items[3] setBadgeValue:[NSString stringWithFormat:@"%d", unreadCount]];
} else {
[self.tabBar.items[3] setBadgeValue:@"0"];
[self.tabBar.items[3] setBadgeValue:nil];
}
});
}