Files
yinmeng-ios-store/yinmeng-ios/DingDangApp/CodeClass/Room/View/PopView/RoomUserInfoView.m

517 lines
21 KiB
Objective-C

//
// RoomUserInfoView.m
// DingDangApp
//
// Created by apple on 2023/5/28.
//
#import "RoomUserInfoView.h"
#import "RoomUserInfoModel.h"
@interface RoomUserInfoView ()
@property (nonatomic,strong) DDAnimateImageView *headerImageView;
@property (nonatomic,strong) UIButton *headerImaegViewBtn;
//铭牌
@property(nonatomic,strong) UIImageView * nameplateImg;
//爵位
@property(nonatomic,strong) UIImageView * titleImg;
@property(nonatomic,strong) UIImageView * officialImg;
///卡片
@property(nonatomic,strong) UIImageView * businessCardImg;
///设置
@property (nonatomic,strong) UIButton *setBtn;
///举报
@property (nonatomic,strong) UIButton *reportBtn;
@property (nonatomic,strong) UILabel *nameLabel;
@property (nonatomic,strong) UIImageView *sexImageView;
@property (nonatomic,strong) UILabel *ageLabel;
@property (nonatomic,strong) UIImageView *levelImageView;
@property (nonatomic,strong) UIButton *idBtn;
@property (nonatomic,strong) UILabel *fansLabel;
///描述
@property (nonatomic,strong) UILabel *contenLabel;
@property (nonatomic,strong) UIButton *sendGiftBtn;
@property (nonatomic,strong) UIButton *followBtn;
@property (nonatomic,strong) UIButton *homeBtn;
@property (nonatomic,strong) UIButton *hiBtn;
@property (nonatomic,strong) RoomCardUserModel *userCardModel;
@end
@implementation RoomUserInfoView
- (void)initView{
[super initView];
self.topImageView.image = KGetImage(@"room_81");
[self.topImageView mas_remakeConstraints:^(MASConstraintMaker *make) {
make.top.mas_equalTo(self).mas_offset(KAdaptedHeight(33));
make.left.right.mas_equalTo(self).mas_offset(0);
make.centerX.mas_equalTo(self).mas_offset(0);
make.height.mas_equalTo(KAdaptedHeight(145));
}];
[self businessCardImg];
[self headerImageView];
[self headerImaegViewBtn];
[self setBtn];
[self reportBtn];
[self nameLabel];
[self nameplateImg];
[self titleImg];
[self officialImg];
[self sexImageView];
[self ageLabel];
[self levelImageView];
[self idBtn];
[self fansLabel];
[self contenLabel];
[self sendGiftBtn];
[self followBtn];
[self homeBtn];
[self hiBtn];
}
- (void)idBtnClick{
if ([ToolsObject IsNullWithObject:self.userCardModel.user_info.user_number]) {
return;
}
UIPasteboard *pasteboard = [UIPasteboard generalPasteboard];
pasteboard.string = [NSString stringWithFormat:@"%@",self.userCardModel.user_info.user_number];;
[ToolsObject addPopVieToText:@"已复制到剪切板"];
}
- (void)headerImaegViewBtnClick{
if(self.viewActionBlock){
self.viewActionBlock(self.userCardModel, 4);
}
}
- (void)reloadUserInfo{
self.setBtn.hidden = YES;
self.headerImaegViewBtn.userInteractionEnabled = YES;
[self.headerImageView ddSetAnimatedImageView:[NSURL URLWithString:self.userCardModel.user_info.avatar] placeholderImage:nil];
self.nameLabel.text =self.userCardModel.user_info.nickname;
[self.idBtn setTitle:self.userCardModel.user_info.user_number forState:UIControlStateNormal];
[self.idBtn setImagePositionWithType:SSImagePositionTypeLeft spacing:3];
self.fansLabel.text = [NSString stringWithFormat:@"%@ 粉丝",self.userCardModel.fans_number];
self.contenLabel.text = self.userCardModel.user_info.signature;
NSDictionary *attributes = @{NSFontAttributeName:self.setBtn.titleLabel.font};
CGFloat length = [self.userCardModel.user_info.user_number boundingRectWithSize:CGSizeMake(320, 20) options:NSStringDrawingUsesLineFragmentOrigin attributes:attributes context:nil].size.width;
[self.idBtn mas_updateConstraints:^(MASConstraintMaker *make) {
make.width.mas_equalTo(length);
}];
self.followBtn.selected = self.userCardModel.is_follow;
if([self.userCardModel.user_info.sex integerValue] ==1){
self.sexImageView.image = KGetImage(@"");
}else{
self.sexImageView.image = KGetImage(@"");
}
[self.levelImageView sd_setImageWithURL:[NSURL URLWithString:self.userCardModel.user_info.level_icon]];
self.ageLabel.text =self.userCardModel.user_info.age;
if (![ToolsObject IsNullWithObject:self.userCardModel.user_info.card_box]) {
[self.businessCardImg sd_setImageWithURL:[NSURL URLWithString:self.userCardModel.user_info.card_box]];
self.businessCardImg.hidden = NO;
}else{
self.businessCardImg.hidden = YES;
self.businessCardImg.image = nil;
}
//铭牌图标
if (![ToolsObject IsNullWithObject:self.userCardModel.user_info.medal_box]) {
[self.nameplateImg sd_setImageWithURL:[NSURL URLWithString:self.userCardModel.user_info.medal_box]];
[self.nameplateImg setMasonry_hidden:NO];
}else{
[self.nameplateImg setMasonry_hidden:YES];
}
//爵位
if (![ToolsObject IsNullWithObject:self.userCardModel.user_info.nobility_avtar]) {
[self.titleImg sd_setImageWithURL:[NSURL URLWithString:self.userCardModel.user_info.nobility_avtar]];
[self.titleImg setMasonry_hidden:NO];
}else{
[self.titleImg setMasonry_hidden:YES];
}
NSInteger roomAuth = self.roomAuth.integerValue;
if(self.userID.integerValue != [ToolsObject getUserModel].user_id.integerValue){
if((roomAuth ==2 ||roomAuth ==5 ||roomAuth ==3) && self.userCardModel.room_auth !=2&& self.userCardModel.room_auth !=5&& self.userCardModel.room_auth !=3){
self.setBtn.hidden= NO;
}else if (roomAuth ==1 && self.userCardModel.room_auth ==1){
self.setBtn.hidden= NO;
}else{
self.setBtn.hidden= YES;
}
}
if(self.userCardModel.is_follow){
[self.followBtn setTitle:@"关注" forState:UIControlStateNormal];
[self.followBtn setTitleColor:KRGB(34) forState:UIControlStateNormal];
[self.followBtn setImage:[UIImage imageNamed:@"room_24"] forState:UIControlStateNormal];
[self.followBtn setImagePositionWithType:SSImagePositionTypeTop spacing:0];
}else{
[self.followBtn setTitle:@"已关注" forState:UIControlStateNormal];
[self.followBtn setTitleColor:KRGB(153) forState:UIControlStateNormal];
[self.followBtn setImage:[UIImage imageNamed:@"room_25"] forState:UIControlStateNormal];
[self.followBtn setImagePositionWithType:SSImagePositionTypeTop spacing:0];
}
if(self.userID.integerValue == [ToolsObject getUserModel].user_id.integerValue){
self.homeBtn.hidden = YES;
self.hiBtn.hidden = YES;
}else{
self.homeBtn.hidden = NO;
self.hiBtn.hidden = NO;
}
}
- (void)addFollow{
WeakSelf(ws);
NSMutableDictionary *parameter =@{@"followed_user_id":self.userID}.mutableCopy;
[NetworkRequest requestPOST:@"/dynamic/attention" parameters:parameter block:^(BaseResponse * _Nonnull response) {
if(response.code ==200){
ws.userCardModel.is_follow = YES;
[ws reloadUserInfo];
}
}];
}
- (void)removeFollow{
WeakSelf(ws);
NSMutableDictionary *parameter =@{@"followed_user_id":self.userID}.mutableCopy;
[NetworkRequest requestPOST:@"/dynamic/cancel/attention" parameters:parameter block:^(BaseResponse * _Nonnull response) {
if(response.code ==200){
ws.userCardModel.is_follow = NO;
[ws reloadUserInfo];
}
}];
}
- (void)getUserInfo{
NSMutableDictionary *dataDic = [[NSMutableDictionary alloc] init];
[dataDic setObject:self.roomID forKey:@"room_id"];
[dataDic setObject:self.userID forKey:@"operated_user_id"];
WeakSelf(ws);
/// /room/user/card
NSString *url = [DDEncryptManager dd_aesDecryptWithText:@"//hHvGcCmFN5UgoNulBXBA=="];
[NetworkRequest requestPOST:url parameters:dataDic block:^(BaseResponse * _Nonnull response) {
if(response.code ==200){
ws.userCardModel = [RoomCardUserModel yy_modelWithDictionary:response.data];
[ws reloadUserInfo];
}
}];
}
- (void)setUserID:(NSString *)userID{
_userID = userID;
}
- (void)setRoomID:(NSString *)roomID{
_roomID = roomID;
[self getUserInfo];
}
- (void)reportBtnClick{
[self dismiss];
if (self.viewActionBlock) {
self.viewActionBlock(self.userCardModel, 2);
}
}
- (void)setBtnClick{
[self dismiss];
if (self.viewActionBlock) {
self.viewActionBlock(self.userCardModel, 1);
}
}
- (void)sendGiftBtnClick{
[self dismiss];
if (self.viewActionBlock) {
self.viewActionBlock(self.userCardModel, 3);
}
}
- (void)followBtnClick{
if(self.followBtn.selected){
[self removeFollow];
}else{
[self addFollow];
}
}
- (void)homeBtnClick{
[self dismiss];
if (self.viewActionBlock) {
self.viewActionBlock(self.userCardModel, 4);
}
}
- (void)hiBtnClick{
[self dismiss];
if (self.viewActionBlock) {
self.viewActionBlock(self.userCardModel, 5);
}
}
- (DDAnimateImageView*)headerImageView{
if (!_headerImageView) {
_headerImageView = [[DDAnimateImageView alloc] init];
_headerImageView.contentMode = UIViewContentModeScaleAspectFill;
_headerImageView.image = DDPlaceholderHeadImage();
// Initialization code
_headerImageView.layer.cornerRadius = KAdaptedWidth(40);
_headerImageView.layer.masksToBounds = YES;
_headerImageView.layer.borderWidth = 2;
_headerImageView.layer.borderColor = UIColor.whiteColor.CGColor;
[self addSubview:_headerImageView];
[_headerImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(KAdaptedWidth(80), KAdaptedWidth(80)));
make.left.mas_equalTo(self.mas_left).mas_offset(KAdaptedWidth(50));
make.top.mas_equalTo(self.mas_top).mas_offset(7);
}];
}
return _headerImageView;
}
- (UIImageView *)businessCardImg{
if (!_businessCardImg) {
_businessCardImg = [[UIImageView alloc] init];
_businessCardImg.contentMode = UIViewContentModeScaleAspectFill;
_businessCardImg.hidden = YES;
[self addSubview:self.businessCardImg];
[self.businessCardImg mas_makeConstraints:^(MASConstraintMaker *make) {
make.right.left.equalTo(self);
make.top.equalTo(self).offset(0);
make.height.mas_equalTo(213);
}];
}return _businessCardImg;
}
- (UIButton *)headerImaegViewBtn{
if (!_headerImaegViewBtn) {
_headerImaegViewBtn = [UIButton buttonWithType:UIButtonTypeCustom];
_headerImaegViewBtn.userInteractionEnabled = NO;
[_headerImaegViewBtn addTarget:self action:@selector(headerImaegViewBtnClick) forControlEvents:UIControlEventTouchUpInside];
[self addSubview:_headerImaegViewBtn];
[_headerImaegViewBtn mas_makeConstraints:^(MASConstraintMaker *make) {
make.edges.equalTo(self.headerImageView).insets(UIEdgeInsetsMake(0, 0, 0, 0));
}];
}
return _headerImaegViewBtn;
}
- (UIButton *)reportBtn{
if (!_reportBtn) {
_reportBtn = [UIButton buttonWithType:UIButtonTypeCustom];
[_reportBtn setImage:[UIImage imageNamed:@"room_21"] forState:UIControlStateNormal];
[_reportBtn addTarget:self action:@selector(reportBtnClick) forControlEvents:UIControlEventTouchUpInside];
[self addSubview:_reportBtn];
[_reportBtn mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(KAdaptedWidth(20), KAdaptedWidth(20)));
make.right.mas_equalTo(self.mas_right).mas_offset(-KAdaptedWidth(24));
make.top.mas_equalTo(self.topImageView.mas_top).mas_offset(KAdaptedHeight(12));
}];
}
return _reportBtn;
}
- (UIButton *)setBtn{
if (!_setBtn) {
_setBtn = [UIButton buttonWithType:UIButtonTypeCustom];
[_setBtn setImage:[UIImage imageNamed:@"room_22"] forState:UIControlStateNormal];
[_setBtn addTarget:self action:@selector(setBtnClick) forControlEvents:UIControlEventTouchUpInside];
[self addSubview:_setBtn];
[_setBtn mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(KAdaptedWidth(20), KAdaptedWidth(20)));
make.right.mas_equalTo(self.reportBtn.mas_left).mas_offset(-KAdaptedWidth(8));
make.centerY.mas_equalTo(self.reportBtn).mas_offset(0);
}];
}
return _setBtn;
}
- (UILabel *)nameLabel{
if (!_nameLabel) {
_nameLabel = [[UILabel alloc] init];
_nameLabel.textColor = [UIColor jk_colorWithHex:0x333333];
_nameLabel.font = KFont(18);
_nameLabel.textAlignment = NSTextAlignmentCenter;
[self addSubview:_nameLabel];
[_nameLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.mas_equalTo(self.mas_left).mas_offset(KAdaptedWidth(15));
make.width.lessThanOrEqualTo(@200);
make.top.mas_equalTo(self.headerImageView.mas_bottom).mas_offset(KAdaptedHeight(10));
make.height.mas_equalTo(KAdaptedHeight(28));
}];
}
return _nameLabel;
}
- (UIImageView*)sexImageView{
if (!_sexImageView) {
_sexImageView = [[UIImageView alloc] init];
_sexImageView.image = KGetImage(@"room_19");
[self addSubview:_sexImageView];
[_sexImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(KAdaptedWidth(36), KAdaptedWidth(16)));
make.left.mas_equalTo(self.nameLabel).mas_offset(0);
make.top.mas_equalTo(self.nameLabel.mas_bottom).mas_offset(6);
}];
}
return _sexImageView;
}
- (UILabel *)ageLabel{
if (!_ageLabel) {
_ageLabel = [[UILabel alloc] init];
_ageLabel.textColor = UIColor.whiteColor;
_ageLabel.font = KFont(9);
_ageLabel.textAlignment = NSTextAlignmentCenter;
[self addSubview:_ageLabel];
[_ageLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.equalTo(self.sexImageView).offset(15);
make.top.bottom.equalTo(self.sexImageView);
make.right.equalTo(self.sexImageView);
}];
}
return _ageLabel;
}
- (UIButton *)idBtn{
if (!_idBtn) {
_idBtn = [UIButton buttonWithType:UIButtonTypeCustom];
_idBtn.titleLabel.font = KFontBold(12);
[_idBtn setTitleColor:[UIColor jk_colorWithHex:0x333333] forState:UIControlStateNormal];
[_idBtn setImage:[UIImage imageNamed:@"room_18"] forState:UIControlStateNormal];
[_idBtn setImagePositionWithType:SSImagePositionTypeLeft spacing:3];
[_idBtn addTarget:self action:@selector(idBtnClick) forControlEvents:UIControlEventTouchUpInside];
_idBtn.layer.masksToBounds = YES;
_idBtn.backgroundColor = [UIColor jk_colorWithHex:0xE9ECFB];
_idBtn.layer.cornerRadius = 9;
[self addSubview:_idBtn];
[_idBtn mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.mas_equalTo(self.nameLabel).mas_offset(0);
make.top.mas_equalTo(self.sexImageView.mas_bottom).mas_offset(KAdaptedHeight(5));
make.height.mas_equalTo(18);
make.width.mas_equalTo(80);
}];
}
return _idBtn;
}
- (UILabel *)fansLabel{
if (!_fansLabel) {
_fansLabel = [[UILabel alloc] init];
_fansLabel.text = @"粉丝:";
_fansLabel.textColor = [UIColor jk_colorWithHex:0x333333];
_fansLabel.font = KFont(16);
[self addSubview:_fansLabel];
[_fansLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerY.mas_equalTo(self.idBtn).mas_offset(0);
make.left.mas_equalTo(self.idBtn.mas_right).mas_offset(KAdaptedWidth(17));
}];
}
return _fansLabel;
}
- (UIImageView*)levelImageView{
if (!_levelImageView) {
_levelImageView = [[UIImageView alloc] init];
[self addSubview:_levelImageView];
[_levelImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(KAdaptedWidth(36), KAdaptedHeight(16)));
make.left.mas_equalTo(self.sexImageView.mas_right).mas_offset(5);
make.centerY.mas_equalTo(self.sexImageView).mas_offset(0);
}];
}
return _levelImageView;
}
- (UIImageView *)nameplateImg{
if (!_nameplateImg) {
_nameplateImg = [[UIImageView alloc] init];
_nameplateImg.contentMode = UIViewContentModeScaleAspectFill;
[self addSubview:_nameplateImg];
[_nameplateImg mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.equalTo(self.levelImageView.mas_right).offset(5).autoHidden(self.nameplateImg);
make.height.mas_equalTo(16).autoHidden(self.nameplateImg);
make.centerY.equalTo(self.sexImageView);
make.width.mas_equalTo(46).autoHidden(self.nameplateImg);
}];
}return _nameplateImg;
}
- (UIImageView *)titleImg{
if (!_titleImg) {
_titleImg = [[UIImageView alloc] init];
_titleImg.contentMode = UIViewContentModeScaleAspectFill;
[self addSubview:self.titleImg];
[self.titleImg mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerY.equalTo(self.sexImageView);
make.left.equalTo(self.nameplateImg).offset(5).autoHidden(self.titleImg);
make.height.mas_equalTo(19).autoHidden(self.titleImg);
make.width.mas_equalTo(44).autoHidden(self.titleImg);
}];
}return _titleImg;
}
- (UIImageView *)officialImg{
if (!_officialImg) {
_officialImg = [[UIImageView alloc] init];
_officialImg.hidden = YES;
}return _officialImg;
}
- (UILabel *)contenLabel{
if (!_contenLabel) {
_contenLabel = [[UILabel alloc] init];
_contenLabel.text = @"此人很懒,什么也没留下~";
_contenLabel.textColor = KRGB(153);
_contenLabel.font = KFontRegular(14);
[self addSubview:_contenLabel];
[_contenLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.mas_equalTo(self.idBtn.mas_bottom).mas_offset(KAdaptedHeight(10));
make.left.mas_equalTo(self).mas_offset(KAdaptedWidth(15));
make.right.mas_equalTo(self).mas_offset(-KAdaptedWidth(15));
}];
}
return _contenLabel;
}
- (UIButton *)sendGiftBtn{
if (!_sendGiftBtn) {
_sendGiftBtn = [UIButton buttonWithType:UIButtonTypeCustom];
[_sendGiftBtn setTitle:@"送礼物" forState:UIControlStateNormal];
[_sendGiftBtn setTitleColor:KRGB(255) forState:UIControlStateNormal];
_sendGiftBtn.titleLabel.font = KFontMedium(16);
[_sendGiftBtn setBackgroundImage:[UIImage imageNamed:@"room_23"] forState:UIControlStateNormal];
[_sendGiftBtn addTarget:self action:@selector(sendGiftBtnClick) forControlEvents:UIControlEventTouchUpInside];
[self addSubview:_sendGiftBtn];
[_sendGiftBtn mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(KAdaptedWidth(343), KAdaptedHeight(48)));
make.centerX.mas_equalTo(self).mas_offset(0);
make.top.mas_equalTo(self.contenLabel.mas_bottom).mas_offset(KAdaptedHeight(10));
}];
}
return _sendGiftBtn;
}
- (UIButton *)followBtn{
if (!_followBtn) {
_followBtn = [UIButton buttonWithType:UIButtonTypeCustom];
_followBtn.hidden = YES;
_followBtn.titleLabel.font = KFontMedium(14);
[_followBtn addTarget:self action:@selector(followBtnClick) forControlEvents:UIControlEventTouchUpInside];
[self addSubview:_followBtn];
[_followBtn mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(KAdaptedWidth(50), KAdaptedHeight(52)));
make.bottom.mas_equalTo(self.mas_bottom).mas_offset(-KAdaptedHeight(5)-KSAFEAREA_BOTTOM_HEIHGHT);
make.left.mas_equalTo(self).mas_offset(KAdaptedWidth(43));
}];
}
return _followBtn;
}
- (UIButton *)hiBtn{
if (!_hiBtn) {
_hiBtn = [UIButton buttonWithType:UIButtonTypeCustom];
[_hiBtn setTitle:@"私信" forState:UIControlStateNormal];
[_hiBtn setTitleColor:[UIColor jk_colorWithHex:0x333333] forState:UIControlStateNormal];
_hiBtn.titleLabel.font = KFont(16);
[_hiBtn addTarget:self action:@selector(hiBtnClick) forControlEvents:UIControlEventTouchUpInside];
[self addSubview:_hiBtn];
[_hiBtn mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(self.homeBtn);
make.right.mas_equalTo(self).mas_offset(-KAdaptedWidth(43));
make.top.mas_equalTo(self.sendGiftBtn.mas_bottom).mas_offset(KAdaptedHeight(0));
make.centerY.mas_equalTo(self.homeBtn).mas_offset(0);
}];
}
return _hiBtn;
}
- (UIButton *)homeBtn{
if (!_homeBtn) {
_homeBtn = [UIButton buttonWithType:UIButtonTypeCustom];
[_homeBtn setTitle:@"主页" forState:UIControlStateNormal];
[_homeBtn setTitleColor:[UIColor jk_colorWithHex:0x333333] forState:UIControlStateNormal];
_homeBtn.titleLabel.font = KFont(16);
[_homeBtn setImagePositionWithType:SSImagePositionTypeTop spacing:1];
[_homeBtn addTarget:self action:@selector(homeBtnClick) forControlEvents:UIControlEventTouchUpInside];
[self addSubview:_homeBtn];
[_homeBtn mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(KAdaptedWidth(44), KAdaptedHeight(44)));
make.left.mas_equalTo(self).mas_offset(KAdaptedWidth(43));
make.top.mas_equalTo(self.sendGiftBtn.mas_bottom).mas_offset(KAdaptedHeight(0));
}];
}
return _homeBtn;
}
@end