驗證碼的獲取和註冊功能的代碼實現

驗證碼獲取的代碼實現

上午用兩個小時實現了註冊功能,其中還有驗證碼的獲取(獲取到相應的驗證碼才能註冊成功),先看下注冊界面效果圖:
這裏寫圖片描述
先說一下驗證碼如何獲取:

  • 點擊獲取驗證碼按鈕後,發送相應請求,代碼如下:
//獲取驗證碼
- (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,其他五個參數必須加密):

這裏寫圖片描述

以下是註冊功能請求接口的代碼實現:

//註冊請求
- (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);
    }];
}

若請求成功,服務器返回:註冊成功

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章