验证码获取的代码实现
上午用两个小时实现了注册功能,其中还有验证码的获取(获取到相应的验证码才能注册成功),先看下注册界面效果图:
先说一下验证码如何获取:
- 点击获取验证码按钮后,发送相应请求,代码如下:
//获取验证码
- (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);
}];
}
若请求成功,服务器返回:注册成功