Files
peko-ios/YuMi/Modules/YMMine/View/XPMineViewController.m

824 lines
26 KiB
Objective-C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

//
// XPMineViewController.m
// YuMi
//
// Created by YuMi on 2021/9/16.
//
#import "XPMineViewController.h"
///Third
#import <Masonry/Masonry.h>
///Tool
#import "TTPopup.h"
#import "YUMIHtmlUrl.h"
#import "UIButton+EnlargeTouchArea.h"
#import "YUMIConstant.h"
#import "Api+Room.h"
#import "Api+NobleCenter.h"
#import "Api+RoomSetting.h"
#import "AccountInfoStorage.h"
#import "ClientConfig.h"
#import "NobleCenterModel.h"
#import "NobleInfo.h"
///Model
#import "XPMineItemModel.h"
#import "UserInfoModel.h"
#import "XPMineVisitorUnReadModel.h"
#import "ClanDetailInfoModel.h"
#import "HomeBannerInfoModel.h"
#import "XPMineFunctionItemModel.h"
#import "WalletInfoModel.h"
///P
#import "XPMineProtocol.h"
#import "XPMinePresent.h"
///View
#import "XPMineHeadItemTableViewCell.h"
#import "XPMineHeadView.h"
#import "XPHomeBannerTableViewCell.h"
#import "XPMineNewUserRechargeView.h"
#import "XPMineTheGuildCell.h"
#import "XPMinePersonalCenterCell.h"
#import "XPMineListCell.h"
///VC
#import "XPMineSettingViewController.h"
#import "XPMineUserInfoViewController.h"
#import "XPWebViewController.h"
#import "XPRoomViewController.h"
#import "MyDressingViewController.h"
#import "ShoppingMallViewController.h"
#import "XPMineFansViewController.h"
#import "XPMineAttentionViewController.h"
#import "XPMineVisitorViewController.h"
#import "XPMineFansTeamViewController.h"
#import "XPMineClanViewController.h"
#import "XPMineGuildViewController.h"
#import "XPMineFootPrintViewController.h"
#import "XPMineCollectRoomListViewController.h"
#import "XPMineMainGuildListVC.h"
#import "XPMineGiveDiamondVC.h"
#import "XPIAPRechargeViewController.h"
#import "XPIncomeRecordVC.h"
#import "VIPCenterViewController.h"
#import "LittleGameInfoModel.h"
#import "HomeLittleGameRoomModel.h"
#import "XPLittleGameRoomOpenView.h"
#import "PISwitchingEnvironmentVC.h"
#import "XPGameOrdersListViewController.h"
#import "VIPCenterViewController.h"
#import "VipSettingViewController.h"
#import "XPSkillCardPlayerManager.h"
#import "XPMineFriendViewController.h"
#import "MedalsViewController.h"
UIKIT_EXTERN NSString *kRequestTicket;
@interface XPMineViewController ()<UITableViewDelegate, UITableViewDataSource, XPMineProtocol, XPMineHeadItemTableViewCellDelegate, XPMineHeadViewDelegate, XPHomeBannerTableViewCellDelegate>
@property (nonatomic,strong) UITableView *tableView;
///个人功能
@property (nonatomic, strong) NSMutableArray<XPMineFunctionItemModel *> *functionArray;
///banner列表
@property (nonatomic, strong) NSMutableArray<HomeBannerInfoModel *> *bannerArray;
///头部
@property (nonatomic,strong) XPMineHeadView *headView;
///用户信息
@property (nonatomic,strong) UserInfoModel *userInfo;
///家族信息
@property (nonatomic,strong) ClanDetailMainInfoModel *clanInfo;
///我的公会
@property (nonatomic,strong) XPMineItemModel *guildItemModel;
///转赠钻石权限
@property(nonatomic,assign)BOOL isHavePermission;
///点击我的房间时,防止出现多次点击
@property (nonatomic,assign) BOOL isRefreshRoomInfo;
@property(nonatomic, assign) NSInteger visitorVipLimit;
@end
@implementation XPMineViewController
- (void)dealloc {
[[NSNotificationCenter defaultCenter] removeObserver:self];
}
- (BOOL)isHiddenNavBar {
return YES;
}
- (XPMinePresent *)createPresenter {
return [[XPMinePresent alloc] init];;
}
- (void)viewDidLoad {
[super viewDidLoad];
self.view.backgroundColor = [[ClientConfig shareConfig] bgColor];
[self setupTopTheme];
[self initSubViews];
[self initSubViewConstraints];
self.tableView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;
}
- (void)setupTopTheme {
__block UIImageView *theme = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, KScreenWidth, kGetScaleWidth(140))];
theme.image = [[ClientConfig shareConfig] navigationAreaBG];
theme.contentMode = UIViewContentModeScaleAspectFill;
[self.view addSubview:theme];
[[NSNotificationCenter defaultCenter] addObserverForName:[ClientConfig shareConfig].reloadNavigationAreaImageKey
object:nil
queue:[NSOperationQueue mainQueue]
usingBlock:^(NSNotification * _Nonnull notification) {
if ([notification.object isKindOfClass:[UIImage class]]) {
theme.image = (UIImage *)notification.object;
}
}];
}
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
self.isRefreshRoomInfo = NO;
if([AccountInfoStorage instance].isRequestTicket == NO) {
[self getDataInfo];
}
}
- (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
}
-(void)getDataInfo{
[self.presenter getUserInfo];
}
#pragma mark- 检查是否有转赠钻石权限
-(void)checkHaveGiveDiamondsPermission{
//#if DEBUG
// self.isHavePermission = YES;
// return;
//#endif
ClientConfig *config = [ClientConfig shareConfig];
NSArray *uidList = config.configInfo.giveDiamondErbanNoList;
for (id uid in uidList) {
NSString *getUid = [uid stringValue];
if([getUid isEqualToString:@(self.userInfo.erbanNo).stringValue]){
self.isHavePermission = YES;
break;
}
}
if(self.isHavePermission == YES)return;
for (id uid in config.configInfo.giveGiftErbanNoList) {
NSString *getUid = [uid stringValue];
if([getUid isEqualToString:@(self.userInfo.erbanNo).stringValue]){
self.isHavePermission = YES;
break;
}
}
if(self.isHavePermission == YES)return;
if(self.userInfo.userLevelVo.experLevelSeq >= config.configInfo.giveDiamondExperLevel){
self.isHavePermission = YES;
return;
}
if(self.userInfo.userLevelVo.experLevelSeq >= config.configInfo.giveGiftExperLevel){
self.isHavePermission = YES;
}
}
#pragma mark - Response
- (void)settingButtonAction {
XPMineSettingViewController * settingVC = [[XPMineSettingViewController alloc] init];
settingVC.userInfo = self.userInfo;
[self.navigationController pushViewController:settingVC animated:YES];
}
#pragma mark - Private Method
- (void)initSubViews {
XPMineFunctionItemModel *setItem = [XPMineFunctionItemModel new];
setItem.centerName = YMLocalizedString(@"XPMineSettingViewController0");
setItem.centerPic = @"mineview_set";
setItem.skipType = XPMineItemType_My_Setting;
[self.functionArray addObject:setItem];
[self.view addSubview:self.tableView];
// [self.view addSubview:self.settingButton];
self.tableView.tableHeaderView = self.headView;
if (@available(iOS 15.0, *)) {//移除iOS15列表头默认增加的22高度
self.tableView.sectionHeaderTopPadding = 0;
}
}
- (void)initSubViewConstraints {
[self.tableView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.mas_equalTo(self.view);
make.leading.trailing.bottom.mas_equalTo(self.view);
}];
}
- (void)pushViewControllerWithType:(NSInteger)type functionItem:(XPMineFunctionItemModel *)item {
if([item.centerName isEqualToString:@"切换环境"]){
PISwitchingEnvironmentVC *vc = [PISwitchingEnvironmentVC new];
[self.navigationController pushViewController:vc animated:YES];
return;
}
//#if DEBUG
// [self pushGiveDiamondVC];
//#endif
switch (type) {
case XPMineItemType_My_Medal:
[self clickMedalsAction];
break;
case XPMineItemType_My_Agent:
[self clickHallAction];
break;
case XPMineItemType_My_Setting:{
[self settingButtonAction];
break;
}
case XPMineItemType_Match_Relevance_Account: {
[self pushWebViewWithUrl:item.centerUrl];}
break;
case XPMineItemType_Foot_Print:
{
XPMineFootPrintViewController *vc = [[XPMineFootPrintViewController alloc] init];
[self.navigationController pushViewController:vc animated:YES];
}
break;
case XPMineItemType_Account:
{
[self pushThirdPartyPayVC];
}
break;
case XPMineItemType_PersonInfo:
{
XPMineUserInfoViewController * infoVC = [[XPMineUserInfoViewController alloc] init];
infoVC.uid = self.userInfo.uid;
[self.navigationController pushViewController:infoVC animated:YES];
}
break;
case XPMineItemType_My_Room:
{
NSString* roomUid = [NSString stringWithFormat:@"%ld", (long)self.userInfo.uid];
[Api getRoomInfo:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
if (code == 200) {
RoomInfoModel * roomInfo = [RoomInfoModel modelWithJSON:data.data];
if (roomInfo.isReselect) {
XPLittleGameRoomOpenView * roomOpenView = [[XPLittleGameRoomOpenView alloc] init];
roomOpenView.roomInfo = roomInfo;
roomOpenView.currentVC = self;
[TTPopup popupView:roomOpenView style:TTPopupStyleActionSheet];
} else {
[XPRoomViewController openRoom:roomUid viewController:self];
}
} else {
[self showErrorToast:msg];
}
} uid:roomUid intoUid:roomUid];
}
break;
case XPMineItemType_Collect_Room://收藏房间
{
XPMineCollectRoomListViewController *collectVC = [[XPMineCollectRoomListViewController alloc] init];
[self.navigationController pushViewController:collectVC animated:YES];
}
break;
case XPMineItemType_My_DressUp:
{
MyDressingViewController * dressUpVC = [[MyDressingViewController alloc] init];
[self.navigationController pushViewController:dressUpVC animated:YES];
}
break;
case XPMineItemType_DressUp_Market:
{
ShoppingMallViewController *dressUpShopVc = [[ShoppingMallViewController alloc] init];
[self.navigationController pushViewController:dressUpShopVc animated:YES];
}
break;
case XPMineItemType_Fans_List:
{
XPMineFansViewController * fansVC = [[XPMineFansViewController alloc] init];
fansVC.view.backgroundColor = [UIColor whiteColor];
[self.navigationController pushViewController:fansVC animated:YES];
}
break;
case XPMineItemType_Attention_List:
{
XPMineAttentionViewController * attentionVC = [[XPMineAttentionViewController alloc] init];
[self.navigationController pushViewController:attentionVC animated:YES];
}
break;
case XPMineItemType_Visitor:
{
self.headView.visitorUnReadCount = 0;
XPMineVisitorViewController *visitorVC = [[XPMineVisitorViewController alloc] init];
[self.navigationController pushViewController:visitorVC animated:YES];
}
break;
case XPMineItemType_Noble_Center:
{
// VIPCenterViewController *vc = [[VIPCenterViewController alloc] initWithRoomUid:-1];
// [self.navigationController pushViewController:vc animated:YES];
XPWebViewController * webVC =[[XPWebViewController alloc] initWithRoomUID:nil];
webVC.url = URLWithType(kVIP);
[self.navigationController pushViewController:webVC animated:YES];
}
break;
case XPMineItemType_FansTeam: {
XPMineFansTeamViewController *fansTeamVc = [[XPMineFansTeamViewController alloc] init];
[self.navigationController pushViewController:fansTeamVc animated:YES];
}
break;
case XPMineItemType_My_Guild:
{
[self clickHallAction];
}
break;
case XPMineItemType_My_Gift:
{
[self pushGiveDiamondVC];
}
break;
case XPMineItemType_My_Game_Order: {
[self toGameOrdersList];
}
break;
case XPMineItemType_My_Item: {
[self toMineItems];
}
break;
break;
default:
break;
}
}
- (void)toMineItems {
MyDressingViewController *vc = [[MyDressingViewController alloc] init];
[self.navigationController pushViewController:vc animated:YES];
}
- (void)toGameOrdersList {
XPGameOrdersListViewController *vc = [[XPGameOrdersListViewController alloc] init];
[self.navigationController pushViewController:vc animated:YES];
}
- (void)pushWebViewWithUrl:(NSString *)url {
XPWebViewController * webVC = [[XPWebViewController alloc] initWithRoomUID:nil];
webVC.url = url;
[self.navigationController pushViewController:webVC animated:YES];
}
#pragma mark - UITableViewDelegate And UITableViewDataSource
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
return 3;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
switch (section) {
case 0:
return 0;
break;
case 1:
return 0;
break;
case 2:
return self.functionArray.count;
break;
default:
return 0;
break;
}
}
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
switch (indexPath.section) {
case 0:
return 0; // 44
break;
case 1:
return 0; // self.isHavePermission ? 134 : 99
break;
case 2:
return 60;
break;
default:
return 0;
break;
}
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
if (indexPath.section == 0) {
XPMineTheGuildCell * cell = [tableView dequeueReusableCellWithIdentifier:NSStringFromClass([XPMineTheGuildCell class])];
cell.clanInfo = self.clanInfo;
return cell;
}else if (indexPath.section == 1) {
XPMinePersonalCenterCell * cell = [tableView dequeueReusableCellWithIdentifier:NSStringFromClass([XPMinePersonalCenterCell class])];
cell.isHaveGiveDiamond = NO;
@kWeakify(self)
cell.clickAction = ^(int type){
@kStrongify(self)
if (type == 0){
[self pushMyRoomVC];
} else if (type == 1){
[self pushEarningsRecordVC];
}else{
[self pushGiveDiamondVC];
}
};
cell.selectionStyle = UITableViewCellSelectionStyleNone;
return cell;
} else {
XPMineListCell * cell = [tableView dequeueReusableCellWithIdentifier:NSStringFromClass([XPMineListCell class])];
if (indexPath.row == 0 && self.functionArray.count > 1){
[cell setCornerWithIsTop:YES isBottom:NO];
}else if (indexPath.row == self.functionArray.count-1){
if(self.functionArray.count == 1){
[cell setCornerWithIsTop:YES isBottom:YES];
}else{
[cell setCornerWithIsTop:NO isBottom:YES];
}
}else{
[cell setCornerWithIsTop:NO isBottom:NO];
}
XPMineFunctionItemModel *model = self.functionArray[indexPath.row];
cell.itemModel = model;
return cell;
}
}
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section {
return 16;
}
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
UIView * view = [[UIView alloc] init];
view.backgroundColor = [UIColor clearColor];
return view;
}
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
if (indexPath.section == 0){
[self clickHallAction];
return;
}
if (indexPath.section != 2)return;
XPMineFunctionItemModel *item = self.functionArray[indexPath.row];
[self pushViewControllerWithType:item.skipType functionItem:item];
}
- (void)clickMedalsAction {
MedalsViewController *vc = [[MedalsViewController alloc] initForMyMedals:self.userInfo];
[self.navigationController pushViewController:vc animated:YES];
}
///跳转到公会
-(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 alloc] initWithRoomUID:nil];
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{
XPWebViewController * webVC =[[XPWebViewController alloc] initWithRoomUID:nil];
webVC.url = URLWithType(kTransfer);
[self.navigationController pushViewController:webVC animated:YES];
// XPMineGiveDiamondVC *giveDiamondVC = [[XPMineGiveDiamondVC alloc] initWithUserModel:self.userInfo];
// [self.navigationController pushViewController:giveDiamondVC animated:YES];
}
///点击充值
-(void)pushThirdPartyPayVC{
[self pushEarningsRecordVC];
}
///点击钱包
-(void)pushEarningsRecordVC{
XPIncomeRecordVC *incomeRecordVC = [XPIncomeRecordVC new];
[self.navigationController pushViewController:incomeRecordVC animated:YES];
}
///点击我的房间
-(void)pushMyRoomVC{
if(self.isRefreshRoomInfo == YES)return;
self.isRefreshRoomInfo = YES;
NSString* roomUid = [NSString stringWithFormat:@"%ld", (long)self.userInfo.uid];
@kWeakify(self);
[Api getRoomInfo:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
@kStrongify(self);
self.isRefreshRoomInfo = NO;
if (code == 200) {
RoomInfoModel * roomInfo = [RoomInfoModel modelWithJSON:data.data];
if (roomInfo.isReselect) {
XPLittleGameRoomOpenView * roomOpenView = [[XPLittleGameRoomOpenView alloc] init];
roomOpenView.roomInfo = roomInfo;
roomOpenView.currentVC = self;
[TTPopup popupView:roomOpenView style:TTPopupStyleActionSheet];
} else {
[XPRoomViewController openRoom:roomUid viewController:self];
}
} else {
[self showErrorToast:msg];
}
} uid:roomUid intoUid:roomUid];
}
#pragma mark - XPMineHeadViewDelegate
///点击头像
- (void)xPMineHeadView:(XPMineHeadView *)view didClickAvatar:(UserInfoModel *)info {
[self pushViewControllerWithType:XPMineItemType_PersonInfo functionItem:nil];
}
///点击了粉丝
- (void)xpMineHeadViewClickFans {
[self pushViewControllerWithType:XPMineItemType_Fans_List functionItem:nil];
}
///点击了关注
- (void)xpMineHeadViewClickAttention {
[self pushViewControllerWithType:XPMineItemType_Attention_List functionItem:nil];
}
///点击了技能卡
- (void)xpMineHeadViewClickSkillCard {
[self pushViewControllerWithType:XPMineItemType_Skill_Card functionItem:nil];
}
///点击了账户中心
- (void)xpMineHeadViewClickAccount {
[self pushViewControllerWithType:XPMineItemType_Account functionItem:nil];
}
///点击了VIP中心
- (void)xPMineHeadViewClickNobleCenter {
[self pushViewControllerWithType:XPMineItemType_Noble_Center functionItem:nil];
}
- (void)xPMineHeadViewClickAgency {
[self clickHallAction];
}
- (void)xPMineHeadViewClickVisitors {
self.headView.visitorUnReadCount = 0;
XPMineVisitorViewController *visitorVC = [[XPMineVisitorViewController alloc] initWithVIPVisible:self.userInfo.userVipInfoVO.visitHide
vipLimit:self.visitorVipLimit];
[self.navigationController pushViewController:visitorVC animated:YES];
}
- (void)xPMineHeadViewClickFriends {
XPMineFriendViewController *vc = [[XPMineFriendViewController alloc] init];
vc.isFromMineTab = YES;
[self.navigationController pushViewController:vc animated:YES];
}
#pragma mark - XPMineProtocol
///获取个人中心功能
- (void)onGetMineFuntionItemSuccess:(NSArray<XPMineFunctionItemModel *> *)items {
[self hideHUD];
[self.functionArray removeAllObjects];
[self.functionArray addObjectsFromArray:items];
for (XPMineFunctionItemModel * _Nonnull obj in self.functionArray) {
if(obj.skipType == XPMineItemType_My_Gift && self.isHavePermission == NO){
[self.functionArray removeObject:obj];
break;
}
}
@kWeakify(self);
[self.functionArray enumerateObjectsUsingBlock:^(XPMineFunctionItemModel * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
@kStrongify(self);
if (obj.skipType == XPMineItemType_CP) {
[self.functionArray removeObject:obj];
}
if([obj.centerName isEqualToString:@"切换分区"]){
[self.functionArray removeObject:obj];
}
}];
NSMutableArray *array = [NSMutableArray array];
for (XPMineFunctionItemModel *item in self.functionArray) {
[array addObject:item.centerName];
}
#ifdef DEBUG
XPMineFunctionItemModel *item = [XPMineFunctionItemModel new];
item.centerName = @"切换环境";
item.centerPic = @"mineview_set";
[self.functionArray addObject:item];
#else
#endif
[self.tableView reloadData];
}
- (void)onGetMineFunctionsItemFail{
[self hideHUD];
}
- (void)onGetLittleGameListFail{
}
///获取个人中心banner
- (void)onGetPersonalBannerListSuccess:(NSArray<HomeBannerInfoModel *> *)items {
[self.bannerArray removeAllObjects];
[self.bannerArray addObjectsFromArray:items];
NSMutableArray *array = [NSMutableArray array];
for (HomeBannerInfoModel *item in self.bannerArray) {
[array addObject:item.bannerId];
}
[self.tableView reloadData];
}
-(void)onGetPersonalBannerListFail{
}
- (void)onGetUserInfoSuccess:(UserInfoModel *)userInfo {
[XPSkillCardPlayerManager shareInstance].userInfoModel = userInfo;
///防止重新注册时获取到用户信息不全调用接口时401
[self hideHUD];
if (!userInfo.isBindPhone && [ClientConfig shareConfig].iOSPhoneBind) {
return;
}
if (userInfo.nick == nil || userInfo.avatar == nil ) {
return;
}
self.userInfo = userInfo;
[self checkHaveGiveDiamondsPermission];
[self.tableView reloadData];
[self.headView createNamePlateIdLabelAttribute:userInfo];
self.headView.userInfo = userInfo;
// MARK: 获取配置列表前,需要先执行 checkHaveGiveDiamondsPermission 确认权限
[self.presenter getPersonItemList];
[self.presenter getClanDetailInfo];
[self.presenter getUserWalletInfo];
[self.presenter getNobleInfo];
@kWeakify(self);
[self.presenter visitUserPageSuccess:^(NSNumber * _Nonnull browseNum, NSNumber * _Nonnull friendCount, NSNumber * _Nonnull browseNumTip, NSNumber * _Nonnull visitListVipLimit) {
@kStrongify(self);
[self.headView updateFriendsCount:friendCount browseCount:browseNum browseCountTip:browseNumTip];
self.visitorVipLimit = visitListVipLimit.integerValue;
} failure:^(NSError * _Nonnull error) {
}];
}
- (void)getUserWalletInfo:(WalletInfoModel *)balanceInfo{
self.headView.walletInfo = balanceInfo;
[self.tableView reloadData];
}
- (void)getUserWalletInfoFail{
}
///获取VIP信息成功
- (void)getNobleCenterInfoSuccess:(NobleCenterModel *)model {
NobleInfo *vipInfo ;
for (int index = 0; index < model.vipInfos.count; index++) {
NobleInfo *tagInfo = [model.vipInfos xpSafeObjectAtIndex:index];
if (model.currentLevel > 0){
if (tagInfo.vipLevel == model.currentLevel) {
vipInfo = tagInfo;
break;
}
}
}
self.headView.nobleInfo = model;
[self.tableView reloadData];
}
-(void)getNobleCenterInfoFail{
}
///获取家族信息成功
- (void)onGetClanDetailInfoSuccess:(ClanDetailMainInfoModel *)clanInfo {
self.clanInfo = clanInfo;
self.headView.clanModel = clanInfo;
[self.tableView reloadData];
}
#pragma mark - XPMineHeadItemTableViewCellDelegate
- (void)xPMineHeadItemTableViewCell:(XPMineHeadItemTableViewCell *)cell didSelectItem:(XPMineFunctionItemModel *)item {
[self pushViewControllerWithType:item.skipType functionItem:item];
}
#pragma mark - XPHomeBannerTableViewCellDelegate
///点击了某个banner
- (void)xPHomeBannerTableViewCell:(XPHomeBannerTableViewCell *)view didClickBanner:(HomeBannerInfoModel *)info {
switch (info.skipType) {
case HomeBannerInfoSkipType_Room:
{
if (info.skipUri.length > 0) {
[XPRoomViewController openRoom:info.skipUri viewController:self];
}
}
break;
case HomeBannerInfoSkipType_Web:
{
XPWebViewController *vc = [[XPWebViewController alloc]initWithRoomUID:nil];
vc.url = info.skipUri;
[self.navigationController pushViewController:vc animated:YES];
}
break;
default:
break;
}
}
#pragma mark - NSNotification
- (void)onVisitorUnReadCountUpdate:(NSNotification *)noti {
XPMineVisitorUnReadModel *model = (XPMineVisitorUnReadModel *)noti.object;
self.headView.visitorUnReadCount = model.visitNum;
}
#pragma mark - Getters And Setters
- (UITableView *)tableView {
if (!_tableView) {
_tableView = [[UITableView alloc] initWithFrame:CGRectZero style:UITableViewStylePlain];
_tableView.delegate = self;
_tableView.dataSource = self;
_tableView.showsVerticalScrollIndicator = NO;
_tableView.separatorStyle = UITableViewCellSeparatorStyleNone;;
[_tableView registerClass:[XPMineTheGuildCell class] forCellReuseIdentifier:NSStringFromClass([XPMineTheGuildCell class])];
[_tableView registerClass:[XPMinePersonalCenterCell class] forCellReuseIdentifier:NSStringFromClass([XPMinePersonalCenterCell class])];
[_tableView registerClass:[XPMineListCell class] forCellReuseIdentifier:NSStringFromClass([XPMineListCell class])];
_tableView.backgroundColor = [UIColor clearColor];
}
return _tableView;
}
- (XPMineHeadView *)headView {
if (!_headView) {
CGFloat height = 120;
_headView = [[XPMineHeadView alloc] initWithFrame:CGRectMake(0, 0,KScreenWidth , 146 + height + kStatusBarHeight)];
_headView.delegate = self;
}
return _headView;
}
- (NSMutableArray<XPMineFunctionItemModel *> *)functionArray {
if (!_functionArray) {
_functionArray = [NSMutableArray array];
}
return _functionArray;
}
- (NSMutableArray<HomeBannerInfoModel *> *)bannerArray {
if (!_bannerArray) {
_bannerArray = [NSMutableArray array];
}
return _bannerArray;
}
-(UserInfoModel *)userInfo{
if(!_userInfo){
_userInfo = [UserInfoModel new];
_userInfo.uid = [[AccountInfoStorage instance].getUid integerValue];
}
return _userInfo;
}
@end