驗證碼獲取的代碼實現
上午用兩個小時實現了註冊功能,其中還有驗證碼的獲取(獲取到相應的驗證碼才能註冊成功),先看下注冊界面效果圖:
先說一下驗證碼如何獲取:
- 點擊獲取驗證碼按鈕後,發送相應請求,代碼如下:
//獲取驗證碼
- (IBAction)getMessage:(id)sender {
AFHTTPSessionManager * man = [AFHTTPSessionManager manager];
//AES加密
NSString * numStr = [AESCrypt encrypt:_numLabel.text password:_keycode];
NSLog(@"num:%@",numStr);
NSDictionary * pDic = [NSDictionary dictionaryWithObjectsAndKeys:_pwd,@"keycode",numStr,@"telno", nil];
[man POST:Message_url parameters:pDic success:^(NSURLSessionDataTask *task, id responseObject) {
NSLog(@"\n驗證碼返回值:%@",responseObject[@"result"]);
} failure:^(NSURLSessionDataTask *task, NSError *error) {
}];
}
注:此請求需要keycode和telno兩個參數,其中telno必須經過keycode(進入app時服務器返回的臨時密鑰)加密方可使用
- 請求成功,服務器會返回:驗證碼已發送
註冊功能的代碼實現
注:註冊接口需要的參數(較多,共六個,其中還有keycode,除了keycode,其他五個參數必須加密):
以下是註冊功能請求接口的代碼實現:
//註冊請求
- (IBAction)registButton:(id)sender {
//AES加密
NSLog(@"------------------------------------------------------");
NSLog(@"\n解密前手機號:%@",_numLabel.text);
NSString * numStr = [AESCrypt encrypt:_numLabel.text password:_keycode];
NSLog(@"\n\nnumStr:%@",numStr);
NSString * messageStr = [AESCrypt encrypt:_messageLabel.text password:_keycode];
NSLog(@"\n\nmessageStr:%@",messageStr);
NSString * emailStr = [AESCrypt encrypt:_emailLabel.text password:_keycode];
NSLog(@"\n\nemailStr:%@",emailStr);
NSString * nameStr = [AESCrypt encrypt:_nameLabel.text password:_keycode];
NSLog(@"\n\nnameStr:%@",nameStr);
NSString * passStr = [AESCrypt encrypt:_passLabel.text password:_keycode];
NSLog(@"\n\npassStr:%@",passStr);
NSDictionary * pdic = [NSDictionary dictionaryWithObjectsAndKeys:_pwd,@"keycode",numStr,@"telno",messageStr,@"msgcode",emailStr,@"email",nameStr,@"nickname",passStr,@"password", nil];
AFHTTPSessionManager * man = [AFHTTPSessionManager manager];
[man POST:Register_url parameters:pdic success:^(NSURLSessionDataTask *task, id responseObject) {
NSLog(@"\n\n註冊請求結果:%@",responseObject[@"result"]);
} failure:^(NSURLSessionDataTask *task, NSError *error) {
NSLog(@"註冊失敗:%@",error);
}];
}
若請求成功,服務器返回:註冊成功