验证码的获取和注册功能的代码实现

验证码获取的代码实现

上午用两个小时实现了注册功能,其中还有验证码的获取(获取到相应的验证码才能注册成功),先看下注册界面效果图:
验证码的获取和注册功能的代码实现_第1张图片
先说一下验证码如何获取:

  • 点击获取验证码按钮后,发送相应请求,代码如下:
//获取验证码
- (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) {

    }];
}

注:此请求需要keycodetelno两个参数,其中telno必须经过keycode(进入app时服务器返回的临时密钥)加密方可使用

  • 请求成功,服务器会返回:验证码已发送

注册功能的代码实现

注:注册接口需要的参数(较多,共六个,其中还有keycode,除了keycode,其他五个参数必须加密):

验证码的获取和注册功能的代码实现_第2张图片

以下是注册功能请求接口的代码实现:

//注册请求
- (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);
    }];
}

若请求成功,服务器返回:注册成功

你可能感兴趣的:(我的技术博客)