// // IDSetViewController.m // OneCable // // Created by nComz on 2017. 3. 17.. // Copyright © 2017년 ntels. All rights reserved. // #import "IDSetViewController.h" #import "CustomButton.h" #import "CustomTextField.h" #import "RequestHandler.h" #import "UserNameSetViewController.h" #import "ValidateUtil.h" @interface IDSetViewController () { } @end @implementation IDSetViewController @synthesize signUpModel; - (void)viewDidLoad { [super viewDidLoad]; [self initUI]; } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; } // UI 설정 - (void)initUI { [self.navigationController.navigationBar setHidden:YES]; self.navigationController.interactivePopGestureRecognizer.enabled = NO; _lblMessageId.hidden = YES; _btnOverlap.enabled = NO; _btnNext.enabled = NO; NSLog(@"signUpModel : %@",signUpModel); [_lblStep setColor:kUITextColor03 text:[NSString stringWithFormat:@"%@", @"/ 5"]]; [self.btnOverlap setBackgroundImage:[UIImage imageNamed:@"img_btn_common_active"] forState:UIControlStateNormal capInsets:UIEdgeInsetsMake(kfTopInset,kfRightInset,kfBottomInset,kfLeftInset)]; [self.btnOverlap setBackgroundImage:[UIImage imageNamed:@"img_btn_common_press"] forState:UIControlStateHighlighted capInsets:UIEdgeInsetsMake(kfTopInset,kfRightInset,kfBottomInset,kfLeftInset)]; [self.btnOverlap setBackgroundImage:[UIImage imageNamed:@"img_btn_common_disable"] forState:UIControlStateDisabled capInsets:UIEdgeInsetsMake(kfTopInset,kfRightInset,kfBottomInset,kfLeftInset)]; _txtIdInput.delegate = self; _txtPwInput.delegate = self; _txtPwReInput.delegate = self; _txtIdInput.returnKeyType = UIReturnKeyDone; _txtIdInput.keyboardType = UIKeyboardTypeDefault; _txtPwInput.returnKeyType = UIReturnKeyDone; _txtPwInput.keyboardType = UIKeyboardTypeDefault; _txtPwReInput.returnKeyType = UIReturnKeyDone; _txtPwReInput.keyboardType = UIKeyboardTypeDefault; } // 아이디 중복 여부 확인 - (void)requestIdDuplicateCheck { NSString *path = [[JDFacade facade]getUrlWithCustAndGroupIDAndInputMemId:API_GET_ID_CHK inputId:_txtIdInput.text]; [[RequestHandler handler] sendAsyncGetRequestAPIPath:path parameters:nil modelClass:[JDJSONModel class] completion:^(id responseObject) { _lblMessageId.hidden = NO; } failure:^(id errorObject) { JDErrorModel *error = (JDErrorModel *)errorObject; [[JDFacade facade] alert:error.errorMessage]; _lblMessageId.hidden = YES; }]; } // 마스터 회원가입 요청 - (void)requestMasterSignUp { //parameters NSDictionary *parameter = @{@"member_id" : _txtIdInput.text, @"phone" : signUpModel.phone, @"os_type" : MOBILE_DEVICE_TYPE, @"password" : _txtPwReInput.text, @"quiz_id" : signUpModel.quizId, @"quiz" : signUpModel.quiz, @"status_code" : signUpModel.statusCode, @"answer": signUpModel.answer}; NSString *path = API_POST_MASTER_SIGN_UP; [[RequestHandler handler] sendAsyncPostRequestAPIPath:path parameters:parameter modelClass:[JDJSONModel class] completion:^(id responseObject) { UserNameSetViewController *vc = [CommonUtil instantiateViewControllerWithIdentifier:@"UserNameSetViewController" storyboardName:@"SignUp"]; signUpModel.memberId = _txtIdInput.text; vc.signUpModel = signUpModel; [self.navigationController pushViewController:vc animated:YES]; } failure:^(id errorObject) { JDErrorModel *error = (JDErrorModel *)errorObject; [[JDFacade facade] alert:error.errorMessage]; }]; } // 멤버 회원가입 요청 - (void)requestMemberSignUp { //parameters NSDictionary *parameter = @{@"member_id": _txtIdInput.text, @"phone": signUpModel.phone, @"password": _txtPwReInput.text,}; NSString *path = API_POST_SIMPLE_SIGN_UP; [[RequestHandler handler] sendAsyncPostRequestAPIPath:path parameters:parameter modelClass:[SignUpModel class] completion:^(id responseObject) { signUpModel = (SignUpModel*)responseObject; signUpModel.memberId = _txtIdInput.text; NSLog(@"Response Member Info : %@", signUpModel); UserNameSetViewController *vc = [CommonUtil instantiateViewControllerWithIdentifier:@"UserNameSetViewController" storyboardName:@"SignUp"]; vc.signUpModel = signUpModel; [self.navigationController pushViewController:vc animated:YES]; } failure:^(id errorObject) { JDErrorModel *error = (JDErrorModel *)errorObject; [[JDFacade facade] alert:error.errorMessage]; }]; } // 다음버튼 터치시 비밀번호 유효성 체크 및 회원가입 유형에 따른 회원가입 요청 설정 - (IBAction)btnNextTouched:(id)sender { if (![ValidateUtil validateTextfiled:_txtPwInput type:ValidateTypePassword title:NSLocalizedString(@"비밀번호", @"비밀번호")]) { return; } if (![_txtPwInput.text isEqualToString:_txtPwReInput.text]) { [[JDFacade facade] alert:@"재 입력된 비밀번호가 다릅니다.\n다시 한 번 확인해주세요."]; return; } // 마스터 회원가입 if ([[JDFacade facade].signType isEqualToString:KNEET_MEMBER_MASTER]) { [self requestMasterSignUp]; // 멤버 회원가입 } else { [self requestMemberSignUp]; } } // 아이디,비밀번호 입력시 다음버튼 활성화 - (void)textFieldDidEndEditing:(UITextField *)textField{ if (_txtIdInput.text.length >= 6) { _btnOverlap.enabled = YES; } else { _lblMessageId.hidden = YES; _btnOverlap.enabled = NO; } if (_txtPwInput.text.length >= 8 && _txtPwReInput.text.length >= 8){ _btnNext.enabled = YES; } else { _btnNext.enabled = NO; } } // TextField Done 버튼 설정 - (BOOL)textFieldShouldReturn:(UITextField *)textField { [textField resignFirstResponder]; return YES; } // 메뉴 닫기 - (IBAction)btnCancelTouched:(id)sender { [self dismissViewControllerAnimated:YES completion:nil]; } // 중복 확인 버튼 터치시 - (IBAction)btnOverlapTouched:(id)sender { [self requestIdDuplicateCheck]; } @end