From 2af07179707cea53a4c38a83b57a2be600b5ce7e Mon Sep 17 00:00:00 2001 From: liyuhua <15626451870@163.com> Date: Fri, 17 May 2024 19:11:20 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E9=98=BF=E6=8B=89=E4=BC=AF?= =?UTF-8?q?=E8=AF=AD=E5=85=AC=E4=BC=9A=E8=B7=B3=E8=BD=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- YuMi/Modules/YMMine/Presenter/XPMinePresent.m | 2 +- YuMi/Modules/YMMine/Protocol/XPMineProtocol.h | 2 +- .../YMMine/View/Cell/XPMineTheGuildCell.h | 3 +- .../YMMine/View/Cell/XPMineTheGuildCell.m | 44 +++++++----- .../View/Guild/Model/ClanDetailInfoModel.h | 9 +++ .../View/Guild/Model/ClanDetailInfoModel.m | 4 ++ .../YMMine/View/Guild/Model/ClanInfoModel.h | 5 +- .../YMMine/View/XPMineViewController.m | 69 +++++++++++-------- 8 files changed, 88 insertions(+), 50 deletions(-) diff --git a/YuMi/Modules/YMMine/Presenter/XPMinePresent.m b/YuMi/Modules/YMMine/Presenter/XPMinePresent.m index 4d805aef..e4e9e2f1 100644 --- a/YuMi/Modules/YMMine/Presenter/XPMinePresent.m +++ b/YuMi/Modules/YMMine/Presenter/XPMinePresent.m @@ -68,7 +68,7 @@ return; } [Api getNewClanDetailInfo:[self createHttpCompletion:^(BaseModel * _Nonnull data) { - ClanDetailInfoModel * clanDetailInfo = [ClanDetailInfoModel modelWithDictionary:data.data]; + ClanDetailMainInfoModel * clanDetailInfo = [ ClanDetailMainInfoModel modelWithDictionary:data.data]; [[self getView] onGetClanDetailInfoSuccess:clanDetailInfo]; }fail:^(NSInteger code, NSString * _Nullable msg) { [[self getView]onGetClanDetailInfofail]; diff --git a/YuMi/Modules/YMMine/Protocol/XPMineProtocol.h b/YuMi/Modules/YMMine/Protocol/XPMineProtocol.h index 20f2f661..d3cc466b 100644 --- a/YuMi/Modules/YMMine/Protocol/XPMineProtocol.h +++ b/YuMi/Modules/YMMine/Protocol/XPMineProtocol.h @@ -22,7 +22,7 @@ NS_ASSUME_NONNULL_BEGIN ///获取VIP信息失败 - (void)getNobleCenterInfoFail; ///获取家族信息成功 -- (void)onGetClanDetailInfoSuccess:(ClanDetailInfoModel *)clanInfo ; +- (void)onGetClanDetailInfoSuccess:(ClanDetailMainInfoModel *)clanInfo ; ///获取家族信息失败 - (void)onGetClanDetailInfofail; ///获取个人中心功能 diff --git a/YuMi/Modules/YMMine/View/Cell/XPMineTheGuildCell.h b/YuMi/Modules/YMMine/View/Cell/XPMineTheGuildCell.h index 10cb8243..b40f2557 100644 --- a/YuMi/Modules/YMMine/View/Cell/XPMineTheGuildCell.h +++ b/YuMi/Modules/YMMine/View/Cell/XPMineTheGuildCell.h @@ -10,7 +10,8 @@ NS_ASSUME_NONNULL_BEGIN @interface XPMineTheGuildCell : UITableViewCell -@property (nonatomic,strong) ClanDetailInfoModel *clanInfo; +@property (nonatomic,strong) ClanDetailMainInfoModel *clanInfo; + @end NS_ASSUME_NONNULL_END diff --git a/YuMi/Modules/YMMine/View/Cell/XPMineTheGuildCell.m b/YuMi/Modules/YMMine/View/Cell/XPMineTheGuildCell.m index 9be9320f..d819bc2b 100644 --- a/YuMi/Modules/YMMine/View/Cell/XPMineTheGuildCell.m +++ b/YuMi/Modules/YMMine/View/Cell/XPMineTheGuildCell.m @@ -74,23 +74,35 @@ }]; } --(void)setClanInfo:(ClanDetailInfoModel *)clanInfo{ +-(void)setClanInfo:(ClanDetailMainInfoModel *)clanInfo{ _clanInfo = clanInfo; - if(_clanInfo.hall.ownerUid > 0 || _clanInfo.clan.elderUid > 0){ - _titleView.text = YMLocalizedString(@"XPMineTheGuildCell0"); - _leftIconView.hidden = YES; - _rightIconBtn.selected = YES; - _headIconView.hidden = NO; - NSString *imageUrl = @""; - if (_clanInfo.clan.elderUid > 0){ - imageUrl = _clanInfo.clan.avatar; - }else{ - if(_clanInfo.hall.ownerUid > 0){ - imageUrl = _clanInfo.hall.ownerAvatar; - } - } - _headIconView.imageUrl = imageUrl; - } + if([_clanInfo.clanMode isEqualToString: @"clan_hall"]){ + if(_clanInfo.clan.hall.ownerUid > 0 || _clanInfo.clan.clan.elderUid > 0){ + _titleView.text = YMLocalizedString(@"XPMineTheGuildCell0"); + _leftIconView.hidden = YES; + _rightIconBtn.selected = YES; + _headIconView.hidden = NO; + NSString *imageUrl = @""; + if (_clanInfo.clan.clan.elderUid > 0){ + imageUrl = _clanInfo.clan.clan.avatar; + }else{ + if(_clanInfo.clan.hall.ownerUid > 0){ + imageUrl = _clanInfo.clan.hall.ownerAvatar; + } + } + _headIconView.imageUrl = imageUrl; + } + return; + } + + if(_clanInfo.family.familyId){ + _titleView.text = YMLocalizedString(@"XPMineTheGuildCell0"); + _leftIconView.hidden = YES; + _rightIconBtn.selected = YES; + _headIconView.hidden = NO; + _headIconView.imageUrl = _clanInfo.family.ownerAvatar; + } + } #pragma mark -懒加载 diff --git a/YuMi/Modules/YMMine/View/Guild/Model/ClanDetailInfoModel.h b/YuMi/Modules/YMMine/View/Guild/Model/ClanDetailInfoModel.h index 75cb86a8..c9ba4a47 100644 --- a/YuMi/Modules/YMMine/View/Guild/Model/ClanDetailInfoModel.h +++ b/YuMi/Modules/YMMine/View/Guild/Model/ClanDetailInfoModel.h @@ -18,5 +18,14 @@ NS_ASSUME_NONNULL_BEGIN ///当前用户是否是公会超管 @property (nonatomic, assign) BOOL manageHall; @end +@interface ClanDetailMainInfoModel : PIBaseModel +///家族信息 +@property (nonatomic,strong) ClanDetailInfoModel *clan; +@property(nonatomic,copy) NSString *clanMode; +@property(nonatomic,strong) ClanInfoModel *family; +@end + + + NS_ASSUME_NONNULL_END diff --git a/YuMi/Modules/YMMine/View/Guild/Model/ClanDetailInfoModel.m b/YuMi/Modules/YMMine/View/Guild/Model/ClanDetailInfoModel.m index 6301323f..3580b83c 100644 --- a/YuMi/Modules/YMMine/View/Guild/Model/ClanDetailInfoModel.m +++ b/YuMi/Modules/YMMine/View/Guild/Model/ClanDetailInfoModel.m @@ -10,3 +10,7 @@ @implementation ClanDetailInfoModel @end + +@implementation ClanDetailMainInfoModel + +@end diff --git a/YuMi/Modules/YMMine/View/Guild/Model/ClanInfoModel.h b/YuMi/Modules/YMMine/View/Guild/Model/ClanInfoModel.h index c8b660b2..5093b751 100644 --- a/YuMi/Modules/YMMine/View/Guild/Model/ClanInfoModel.h +++ b/YuMi/Modules/YMMine/View/Guild/Model/ClanInfoModel.h @@ -28,7 +28,10 @@ NS_ASSUME_NONNULL_BEGIN @property (nonatomic, copy) NSString *levelIcon; ///是否有开通会员兑换权限的功能 @property (nonatomic,assign) BOOL elderHasExchangeManagerAuth; - +@property(nonatomic,copy) NSString *myFamilyUrl; +@property(nonatomic,copy) NSString *familyListUrl; +@property(nonatomic,copy) NSString *familyId; +@property(nonatomic,copy) NSString *ownerAvatar; @end NS_ASSUME_NONNULL_END diff --git a/YuMi/Modules/YMMine/View/XPMineViewController.m b/YuMi/Modules/YMMine/View/XPMineViewController.m index 05bd79f5..a927922c 100644 --- a/YuMi/Modules/YMMine/View/XPMineViewController.m +++ b/YuMi/Modules/YMMine/View/XPMineViewController.m @@ -83,7 +83,7 @@ UIKIT_EXTERN NSString *kRequestRicket; ///用户信息 @property (nonatomic,strong) UserInfoModel *userInfo; ///家族信息 -@property (nonatomic,strong) ClanDetailInfoModel *clanInfo; +@property (nonatomic,strong) ClanDetailMainInfoModel *clanInfo; ///我的公会 @property (nonatomic,strong) XPMineItemModel *guildItemModel; ///转赠钻石权限 @@ -312,17 +312,8 @@ UIKIT_EXTERN NSString *kRequestRicket; break; case XPMineItemType_My_Guild: { - if (self.clanInfo.clan.elderUid.length > 0) { - XPMineClanViewController * clanVC = [[XPMineClanViewController alloc] init]; - clanVC.uid = [NSString stringWithFormat:@"%ld", self.userInfo.uid]; - [self.navigationController pushViewController:clanVC animated:YES]; - } else if(self.clanInfo.hall.hallId.length > 0) { - XPMineGuildViewController * guildVC = [[XPMineGuildViewController alloc] init]; - guildVC.ownerUid = self.clanInfo.hall.ownerUid; - guildVC.guildId = self.clanInfo.hall.hallId; - [self.navigationController pushViewController:guildVC animated:YES]; - } - + [self clickHallAction]; + } break; default: @@ -414,23 +405,7 @@ UIKIT_EXTERN NSString *kRequestRicket; } -(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{ if (indexPath.section == 0){ - if( self.clanInfo.clan.elderUid > 0){ - XPMineClanViewController * clanVC = [[XPMineClanViewController alloc] init]; - clanVC.uid = self.clanInfo.clan.elderUid; - [self.navigationController pushViewController:clanVC animated:YES]; - return; - }else { - if(self.clanInfo.hall.ownerUid > 0){ - XPMineGuildViewController * hallVC = [[XPMineGuildViewController alloc] init]; - hallVC.ownerUid = self.clanInfo.hall.ownerUid; - hallVC.guildId = self.clanInfo.hall.hallId; - [self.navigationController pushViewController:hallVC animated:YES]; - return; - } - } - XPMineMainGuildListVC *gulidListVC = [XPMineMainGuildListVC new]; - [self.navigationController pushViewController:gulidListVC animated:YES]; - + [self clickHallAction]; return; } if (indexPath.section != 2)return; @@ -438,6 +413,40 @@ UIKIT_EXTERN NSString *kRequestRicket; [StatisticsServiceHelper trackEventWithKey:StatisticsServiceEventusercenter_function_click eventAttributes:@{@"functionName" : item.centerName}]; [self pushViewControllerWithType:item.skipType functionItem:item]; } +///跳转到公会 +-(void)clickHallAction{ + if(self.clanInfo == nil)return; + if([self.clanInfo.clanMode isEqualToString:@"clan_hall"]){ + if( self.clanInfo.clan.clan.elderUid > 0){ + XPMineClanViewController * clanVC = [[XPMineClanViewController alloc] init]; + clanVC.uid = self.clanInfo.clan.clan.elderUid; + [self.navigationController pushViewController:clanVC animated:YES]; + return; + }else { + if(self.clanInfo.clan.hall.ownerUid > 0){ + XPMineGuildViewController * hallVC = [[XPMineGuildViewController alloc] init]; + hallVC.ownerUid = self.clanInfo.clan.hall.ownerUid; + hallVC.guildId = self.clanInfo.clan.hall.hallId; + [self.navigationController pushViewController:hallVC animated:YES]; + return; + } + } + XPMineMainGuildListVC *gulidListVC = [XPMineMainGuildListVC new]; + [self.navigationController pushViewController:gulidListVC animated:YES]; + return; + } + if([self.clanInfo.clanMode isEqualToString:@"family"]){ + XPWebViewController *webViewVC = [XPWebViewController new]; + NSString *url = self.clanInfo.family.familyId ? self.clanInfo.family.myFamilyUrl : self.clanInfo.family.familyListUrl; + if([url hasPrefix:@"/"]){ + url = [url substringFromIndex:1]; + } + webViewVC.url = url; + [self.navigationController pushViewController:webViewVC animated:YES]; + + } + +} ///转赠钻石 -(void)pushGiveDiamondVC{ XPMineGiveDiamondVC *giveDiamondVC = [[XPMineGiveDiamondVC alloc]init]; @@ -641,7 +650,7 @@ UIKIT_EXTERN NSString *kRequestRicket; } ///获取家族信息成功 -- (void)onGetClanDetailInfoSuccess:(ClanDetailInfoModel *)clanInfo { +- (void)onGetClanDetailInfoSuccess:(ClanDetailMainInfoModel *)clanInfo { self.clanInfo = clanInfo; [self.tableView reloadData]; }