// // EditMeViewController.m // watch // // Created by xTT on 2017/7/13. // Copyright © 2017年 xTT. All rights reserved. // #import "EditMeViewController.h" #import "ShowWXViewController.h" #import //#import "WXApiObject.h" #import "WechatAuthSDK.h" #import "AppDelegate.h" #import "WatchHomeViewController.h" #import "CommonPopView.h" @interface EditMeViewController () @property (strong, nonatomic) User *editUser; /// 头像 @property (nonatomic ,weak) UIImageView *iconImg; /// 昵称 @property (nonatomic ,weak) UITextField *nameField; /// 手机号码 @property (nonatomic ,weak) UITextField *phoneField; @end @implementation EditMeViewController - (User *)editUser{ if (!_editUser) { _editUser = [[User alloc] init]; _editUser.openid = cUser.openid; _editUser.image = cUser.image; _editUser.name = cUser.name; _editUser.phone = cUser.phone; } return _editUser; } -(void)viewWillAppear:(BOOL)animated{ [self refreshData]; } - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. WEAKSELF self.zx_navTitle = @"我的账号"; [self zx_setRightBtnWithText:@"保存" clickedBlock:^(ZXNavItemBtn * _Nonnull btn) { [weakSelf rightBarItemClick]; }]; NSArray *titleArr = @[@"头像",@"昵称",@"手机号码"]; UIView *bgView = [UICommon ui_view:CGRectZero backgroundColor:KKWhiteColorColor cornerRadius:12 borderWidth:0 borderColor:KKWhiteColorColor]; [self.view addSubview:bgView]; [bgView mas_makeConstraints:^(MASConstraintMaker *make) { make.left.right.equalTo(self.view).inset(15); make.top.equalTo(self.view).offset(iPhoneX_NavHeight+15); make.height.mas_equalTo(titleArr.count*Adapted(55)); }]; for (int i = 0; i < titleArr.count; i++) { UILabel *titleLabel = [UICommon ui_label:CGRectZero lines:0 align:NSTextAlignmentLeft font:Font_(16) textColor:KKBlack20 text:titleArr[i] Radius:0]; [bgView addSubview:titleLabel]; [titleLabel mas_makeConstraints:^(MASConstraintMaker *make) { make.top.equalTo(bgView).offset(i*Adapted(55)); make.left.right.equalTo(bgView).inset(15); make.height.mas_equalTo(Adapted(55)); }]; if (i == 0) { /// 右箭头 UIImageView *rightImg = [UICommon ui_imageView:CGRectZero fileName:@"icon_enter_gray"]; [bgView addSubview:rightImg]; [rightImg mas_makeConstraints:^(MASConstraintMaker *make) { make.centerY.equalTo(titleLabel); make.right.equalTo(bgView.mas_right).inset(15); make.size.mas_equalTo(rightImg.image.size); }]; UIImageView *iconImg = [UIImageView new]; iconImg.layer.cornerRadius = Adapted(16); iconImg.layer.masksToBounds = YES; [iconImg sd_setImageWithURL:[NSURL URLWithString:cUser.avator] placeholderImage:[myHelper getImageWithName:@"默认头像"] options:SDWebImageRetryFailed]; self.iconImg = iconImg; [bgView addSubview:iconImg]; [iconImg mas_makeConstraints:^(MASConstraintMaker *make) { make.centerY.equalTo(titleLabel); make.right.equalTo(rightImg.mas_left).inset(10); make.size.mas_equalTo(CGSizeMake(Adapted(32), Adapted(32))); }]; titleLabel.userInteractionEnabled = YES; UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(iconGuestures:)]; [titleLabel addGestureRecognizer:tapGesture]; } else { UITextField *fieldView = [UICommon ui_textField:CGRectZero textColor:KKBlack20 backColor:KKClearColor font:FontBold_(14) maxTextNum:i == 1 ? 30 : 11 placeholderColor:KKGrey153 placeholder:@"" toMaxNum:nil change:nil]; if (i == 1) { fieldView.text = self.editUser.name; self.nameField = fieldView; } else { fieldView.text = self.editUser.phone; self.phoneField = fieldView; } [bgView addSubview:fieldView]; fieldView.textAlignment = NSTextAlignmentRight; [fieldView mas_makeConstraints:^(MASConstraintMaker *make) { make.right.equalTo(bgView.mas_right).inset(15); make.centerY.equalTo(titleLabel); make.size.mas_equalTo(CGSizeMake(150, 40)); }]; } if (i < titleArr.count-1) { UIImageView *line = [UIImageView new]; line.backgroundColor = RGB(240, 240, 240); [bgView addSubview:line]; [line mas_makeConstraints:^(MASConstraintMaker *make) { make.left.right.equalTo(bgView).inset(15); make.top.equalTo(titleLabel.mas_bottom); make.height.mas_equalTo(0.4); }]; } } UIButton *outLogin = [UICommon ui_buttonSimple:CGRectZero font:Font_(16) normalColor:RGB(102, 102, 100) normalText:@"退出登录" click:^(id x) { [weakSelf signOutClick]; }]; outLogin.backgroundColor = KKWhiteColorColor; outLogin.layer.cornerRadius = Adapted(26); outLogin.layer.masksToBounds = YES; [self.view addSubview:outLogin]; [outLogin mas_makeConstraints:^(MASConstraintMaker *make) { make.left.equalTo(self.view).offset(15); make.top.equalTo(bgView.mas_bottom).offset(12); make.right.equalTo(self.view.mas_centerX).inset(7.5); make.height.mas_equalTo(Adapted(52)); }]; UIButton *cancellation = [UICommon ui_buttonSimple:CGRectZero font:Font_(16) normalColor:RGB(254, 83, 71) normalText:@"注销用户 (谨慎)" click:^(id x) { [weakSelf unregister]; }]; cancellation.backgroundColor = KKWhiteColorColor; cancellation.layer.cornerRadius = Adapted(26); cancellation.layer.masksToBounds = YES; [self.view addSubview:cancellation]; [cancellation mas_makeConstraints:^(MASConstraintMaker *make) { make.right.equalTo(self.view.mas_right).inset(15); make.top.equalTo(outLogin.mas_top); make.left.equalTo(self.view.mas_centerX).offset(7.5); make.height.mas_equalTo(Adapted(52)); }]; } -(void)refreshData{ WEAKSELF [cUser getUserInfoSuccess:^(id responseObject) { } failure:^(id faiObject) { }]; } - (void)rightBarItemClick { self.editUser.phone = self.phoneField.text; self.editUser.name = self.nameField.text; [self.view endEditing:YES]; //取消 所有的输入框的焦点 if (self.editUser.phone.length != 11) { [UICommon MessageErrorText:@"请输入11位号码"]; }else if(self.editUser.name.length == 0){ [UICommon MessageErrorText:@"请输入昵称"]; }else if(self.editUser.name.length >8) { [UICommon MessageErrorText:@"昵称不能大于8个字符"]; } else{ [self.editUser saveUserInfoSuccess:^(id responseObject) { // cUser.image = self.editUser.image; [UICommon MessageSuccessText:@"保存成功" isImg:YES]; if (self.willLoadBlack) self.willLoadBlack(); [self refreshData]; cUser.phone = self.editUser.phone; cUser.name = self.editUser.name; cUser.avator = self.editUser.avator; } failure:^(id faiObject) { }]; } } #pragma mark UIImagePickerControllerDelegate - (void)navigationController:(UINavigationController *)navigationController didShowViewController:(UIViewController *)viewController animated:(BOOL)animated { if ([UIDevice currentDevice].systemVersion.floatValue < 11) { return; } if ([viewController isKindOfClass:NSClassFromString(@"PUPhotoPickerHostViewController")]) { [viewController.view.subviews enumerateObjectsUsingBlock:^(__kindof UIView * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) { if (obj.frame.size.width < 42) { [viewController.view sendSubviewToBack:obj]; *stop = YES; } }]; } } - (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info { [picker dismissViewControllerAnimated:YES completion:^{}]; UIImage *image = [info objectForKey:UIImagePickerControllerEditedImage]; self.editUser.image = image; self.iconImg.image = image; } - (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker { [picker dismissViewControllerAnimated:YES completion:nil]; } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated. } /// 注销 - (void)unregister { CommonPopView *popView = [CommonPopView new]; [popView subPopView:popViewType_zx PopTitle:@"警告" PopText:@"注销用户信息将被清空无法恢复,请确认是否注销!" okTouchBlock:^{ AppDelegate * appDelegate = (AppDelegate*)[UIApplication sharedApplication].delegate; UITabBarController *tabBarVC = (UITabBarController*)appDelegate.window.rootViewController; UINavigationController *navVC = (UINavigationController*)tabBarVC.viewControllers.firstObject; for (UIViewController *vc in navVC.viewControllers) { if([vc isKindOfClass:[WatchHomeViewController class]]) { WatchHomeViewController *tempVC = (WatchHomeViewController*)vc; tempVC.closeFocusTips = NO; } } [User unregisterWithSuccess:^(id responseObject) { [[NSNotificationCenter defaultCenter] postNotificationName:@"outLogin" object:nil]; [User setCurrentUser:nil]; [UserDefaults removeObjectForKey:FirstEveryDayKey]; } failure:^(id faiObject) { }]; }]; } /// 退出登录 - (void)signOutClick { CommonPopView *popView = [CommonPopView new]; [popView subPopView:popViewType_outLogin PopTitle:@"是否退出当前账号?" PopText:@"" okTouchBlock:^{ AppDelegate * appDelegate = (AppDelegate*)[UIApplication sharedApplication].delegate; UITabBarController *tabBarVC = (UITabBarController*)appDelegate.window.rootViewController; UINavigationController *navVC = (UINavigationController*)tabBarVC.viewControllers.firstObject; for (UIViewController *vc in navVC.viewControllers) { if([vc isKindOfClass:[WatchHomeViewController class]]) { WatchHomeViewController *tempVC = (WatchHomeViewController*)vc; tempVC.closeFocusTips = NO; } } [User logoutWithSuccess:^(id responseObject) { [[NSNotificationCenter defaultCenter] postNotificationName:@"outLogin" object:nil]; [User setCurrentUser:nil]; //退出登录,清除每天第一次登陆的记录 [UserDefaults removeObjectForKey:FirstEveryDayKey]; } failure:^(id faiObject) { }]; }]; } /// 选择头像 - (void)iconGuestures:(UITapGestureRecognizer *)sender { UIAlertController *sheet = [myHelper getAlertWithPicture:^(UIImagePickerController *imagePickerVC) { imagePickerVC.delegate = self; [self presentViewController:imagePickerVC animated:YES completion:^{}]; }]; if(sheet){ [self presentViewController:sheet animated:YES completion:nil]; } } /* #pragma mark - Navigation // In a storyboard-based application, you will often want to do a little preparation before navigation - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { // Get the new view controller using [segue destinationViewController]. // Pass the selected object to the new view controller. } */ @end