// // My_CenterVC.m // smartRhino // // Created by armin on 2019/11/1. // Copyright © 2019 tederen. All rights reserved. // #import "My_CenterVC.h" #import "My_CenterCell.h" #import "MyInfoVC.h" #import "SettingVC.h" #import "FavoritesViewController.h" #import "MyFavoriteVC.h" #import "MyCardVC.h" #import "NoteBookVC.h" #import "MyAccountVC.h" #import "MailListVC.h" #import "SWQRCodeViewController.h" #import "MailListDetailVC.h" #import "ChatJoinGroupVC.h" #import "TDGroupInfoListVC.h" #import "TDQrJoinVC.h" #import "LoginPCVC.h" @interface My_CenterVC () @property (strong,nonatomic) UITableView *tableView; @end @implementation My_CenterVC - (UITableView *)tableView { if (!_tableView) { _tableView = [[UITableView alloc] initWithFrame:CGRectZero style:UITableViewStylePlain]; _tableView.delegate = self; _tableView.dataSource = self; _tableView.separatorStyle = UITableViewCellSeparatorStyleNone; } return _tableView; } - (void)viewDidLoad { [super viewDidLoad]; self.fd_prefersNavigationBarHidden = YES; self.view.backgroundColor = RGB(240, 239, 244); self.tableView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever; self.tableView.delegate = self; self.tableView.dataSource = self; [self.view addSubview:self.tableView]; [self.tableView mas_makeConstraints:^(MASConstraintMaker *make) { make.edges.mas_offset(UIEdgeInsetsZero); }]; [self.tableView setScrollEnabled:NO]; self.tableView.backgroundColor = [UIColor clearColor]; self.tableView.estimatedRowHeight = 0; self.tableView.estimatedSectionHeaderHeight = 0; self.tableView.estimatedSectionFooterHeight = 0; [UserManager getUserInfoDetail]; if (self.systemNar) { [self pushVC]; self.systemNar = NO; } [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(updataIcon) name:UPDATAUSERICON object:nil]; } - (void)dealloc { [[NSNotificationCenter defaultCenter] removeObserver:self]; } - (void)updataIcon { [UserManager getUserInfoDetail]; [self.tableView reloadData]; } - (void)pushVC { switch (self.barIndex) { case 2: { MyFavoriteVC *vc = [MyFavoriteVC initMyFavoriteVC]; vc.listType = MyFavoriteListLevelTypeA; vc.FolderId = 0; vc.operationStateEnum = OperationStateEnum0; vc.myTitle = @"我的收藏"; [self.navigationController pushViewController:vc animated:YES]; } break; case 3: { NoteBookVC *vc = [NoteBookVC initNoteBookVC]; vc.listType = MyNoteBookListLevelTypeA; vc.FolderId = 0; vc.myTitle = @"我的笔记"; vc.VisitUserId = 0; vc.operationStateEnum = OperationStateEnum0; [self.navigationController pushViewController:vc animated:YES]; } break; case 5: { MailListVC * vc = [MailListVC initMailListVC]; [self.navigationController pushViewController:vc animated:YES]; } break; case 6: { SettingVC *vc = [SettingVC initSettingVC]; [self.navigationController pushViewController:vc animated:YES]; } break; default: { } break; } } - (void)viewWillAppear:(BOOL)animated{ [super viewWillAppear:animated]; [self.tableView reloadData]; } - (BOOL)hidesBottomBarWhenPushed { return YES; } - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{ return 2; } - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{ switch (section) { case 0:{ return 1; }break; default:{ return 5; }break; } } - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{ switch (indexPath.section) { case 0:{ return [My_CenterCell configCell0Height]; }break; default:{ return [My_CenterCell configCell1Height]; }break; } } - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ switch (indexPath.section) { case 0:{ My_CenterCell *cell = [My_CenterCell configCell0:tableView indexPath:indexPath]; [cell.cell0UserImgView sd_setImageWithURL:[NSURL URLWithString:[AppUserModel sharedAppUserModel].AvatarUrl] placeholderImage:[UIImage imageNamed:@"my_conter_TestUserImg"]]; NSLog(@"%@",[AppUserModel sharedAppUserModel].Name); cell.cell0UserName.text = [AppUserModel sharedAppUserModel].Name; [cell.backBtn setAction:^{ [super backAction:nil]; }]; [cell.menuBtn setAction:^{ [super menuAction:nil]; }]; cell.cell0Intrt.text = ISEmptyString([AppUserModel sharedAppUserModel].Description) ? @"自我介绍":[AppUserModel sharedAppUserModel].Description ; return cell; }break; default:{ My_CenterCell *cell = [My_CenterCell configCell1:tableView indexPath:indexPath]; switch (indexPath.row) { case 0: { cell.cell1IconImg.image = [UIImage imageNamed:@"mine_account"]; cell.cell1TitleLabel.text = @"账户"; }break; case 1: { cell.cell1IconImg.image = [UIImage imageNamed:@"mine_wuxianka"]; cell.cell1TitleLabel.text = @"无限卡"; }break; case 2: { cell.cell1IconImg.image = [UIImage imageNamed:@"mine_txl_icon"]; cell.cell1TitleLabel.text = @"通讯录"; }break; case 3: { cell.cell1IconImg.image = [UIImage imageNamed:@"mine_scan"]; cell.cell1TitleLabel.text = @"扫一扫"; }break; default: { cell.cell1IconImg.image = [UIImage imageNamed:@"my_conter_setting_icon"]; cell.cell1TitleLabel.text = @"设置"; } break; } cell.selectionStyle = UITableViewCellSelectionStyleGray; return cell; }break; } } - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{ [tableView deselectRowAtIndexPath:indexPath animated:YES]; switch (indexPath.section) { case 0:{ switch (indexPath.row) { case 0:{ MyInfoVC *vc = [MyInfoVC initMyInfoVC]; vc.hidesBottomBarWhenPushed = YES; [self.navigationController pushViewController:vc animated:YES]; }break; default: break; } }break; default:{ switch (indexPath.row) { case 0:{ MyAccountVC *vc = [MyAccountVC initMyAccountVC]; vc.hidesBottomBarWhenPushed = YES; [self.navigationController pushViewController:vc animated:YES]; }break; case 1:{ MyCardVC * vc = [MyCardVC initMyCardVC]; vc.hidesBottomBarWhenPushed = YES; [self.navigationController pushViewController:vc animated:YES]; }break; case 2:{ MailListVC *vc = [MailListVC initMailListVC]; vc.hidesBottomBarWhenPushed = YES; [self.navigationController pushViewController:vc animated:YES]; }break; case 3:{ [self scanAction]; }break; default: { SettingVC *vc = [SettingVC initSettingVC]; vc.hidesBottomBarWhenPushed = YES; [self.navigationController pushViewController:vc animated:YES]; } break; } }break; } } - (void)scanAction{ SWQRCodeConfig *config = [[SWQRCodeConfig alloc]init]; config.scannerType = SWScannerTypeBoth; SWQRCodeViewController *qrcodeVC = [[SWQRCodeViewController alloc]init]; qrcodeVC.codeConfig = config; qrcodeVC.delegate = self; [self.navigationController pushViewController:qrcodeVC animated:YES]; } #pragma mark - 扫一扫结果 - (void)scanResult:(NSString *)scanStr{ ScanResultModel *model = [[ScanResultModel alloc]initWithString:scanStr error:nil]; NSLog(@"%@",model); WEAKSELF switch (model.key) { case 1:// 用户 { [self scanNetWork:model.value urlStrong:SaoYiSao_Post ScanKey:@"Guid" success:^(id responseObject) { NSDictionary *dic = responseObject; AddressUserModel *model = [[AddressUserModel alloc] initWithDictionary:dic error:nil]; dispatch_async(dispatch_get_main_queue(), ^{ MailListDetailVC *vc = [MailListDetailVC initMailListDetailVC]; vc.indexId = model.Id; vc.isAdd = YES; [weakSelf.navigationController pushViewController:vc animated:YES]; }); } failure:^(NSError *error) { SHOWERROR([ZYCTool handerResultData:error]); }]; } break; case 2:// 群聊 { [self scanToNetWork:model.value urlStrong:SaoYiSao2_Post success:^(id responseObject) { ChatJoinGroupVC * vc = [ChatJoinGroupVC initChatJoinGroupVC]; vc.dict = responseObject; [weakSelf.navigationController pushViewController:vc animated:YES]; } failure:^(NSError *error) { SHOWERROR([ZYCTool handerResultData:error]); }]; } break; case 3://小组 { [self scanToNetWork:model.value urlStrong:SaoYiSao3_Post success:^(id responseObject) { if ([responseObject[@"IsUser"] boolValue]) { TDGroupInfoListVC * vc = [TDGroupInfoListVC initTDGroupInfoListVC]; vc.GroupId = [responseObject[@"Id"] integerValue]; vc.titleStr = responseObject[@"Name"]; [weakSelf.navigationController pushViewController:vc animated:YES]; }else{ dispatch_async(dispatch_get_main_queue(), ^{ TDQrJoinVC * vc = [TDQrJoinVC initTDQrJoinVC]; vc.dict = responseObject; [weakSelf.navigationController pushViewController:vc animated:YES]; }); } } failure:^(NSError *error) { SHOWERROR([ZYCTool handerResultData:error]); }]; } break; case 4://扫码登录 { LoginPCVC * vc = [LoginPCVC initLoginPCVC]; vc.key = model.value; vc.modalPresentationStyle = UIModalPresentationFullScreen; [self presentViewController:vc animated:YES completion:^{ }]; } break; default: break; } } - (void)scanNetWork:(NSString *)scanStr urlStrong:(NSString *)urlstring ScanKey:(NSString*)key success:(void (^) (id responseObject))successful failure:(void (^) (NSError *error))failure{ SHOWLOADING [[HttpManager sharedHttpManager] POSTUrl:[NSString stringWithFormat:@"%@%@",BaseUrl,urlstring] parameters:@{key:scanStr} responseStyle:JOSN success:^(id _Nonnull responseObject) { successful(responseObject); REMOVESHOW } failure:^(NSError * _Nonnull error) { REMOVESHOW failure(error); }]; } - (void)scanToNetWork:(NSString *)scanStr urlStrong:(NSString *)urlstring success:(void (^) (id responseObject))successful failure:(void (^) (NSError *error))failure{ SHOWLOADING NSString * url = [NSString stringWithFormat:@"%@%@",Host(urlstring),scanStr]; [[HttpManager sharedHttpManager] GETUrl:url parameters:@{} success:^(id _Nonnull responseObject) { REMOVESHOW successful(responseObject); } failure:^(NSError * _Nonnull error) { REMOVESHOW }]; } @end