IOS - 注册手机号和重置密码请求函数

原创 2015年07月08日 17:07:37

注册手机号请求函数:
通过单例账号类, 设置Post请求信息, 发送请求, 处理返回JSON信息.

/**
 *  注册手机号请求
 * 
 *  POST数据示例: {"version":16,"token":"","msgType":"MSG_USER_REGISTER_REQ","msgSeq":207,
 *  "appType":4,"IMEI":"356199060018702","phoneNo":"18811110000","userName":"cxxxyx18811110000",
 *  "password":"qwertyuiop","msgCode":"151551"}
 */
- (void) registerPhoneNo {

    User* currentUser = [User currentUser]; // 账号

    NSMutableDictionary* paras = [[NSMutableDictionary alloc] init]; // POST参数

    [paras setObject:currentUser.matVersion forKey:@"version"]; // 版本号
    [paras setObject:(currentUser.matToken == nil)?@"":currentUser.matToken forKey:@"token"]; // Token
    [paras setObject:@"MSG_USER_REGISTER_REQ" forKey:@"msgType"]; // 消息类型
    [paras setObject:[NSString stringWithFormat:@"%d",currentUser.matMsgSeq] forKey:@"msgSeq"]; // 消息序列
    [paras setObject:currentUser.matAppType forKey:@"appType"]; // APP类型
    [paras setObject:currentUser.uniqueDeviceToken forKey:@"IMEI"]; // 唯一码
    [paras setObject:currentUser.matPhoneNo forKey:@"phoneNo" ]; // 手机号
    [paras setObject:[NSString stringWithFormat:@"chunyu%@",currentUser.username] forKey:@"userName"]; // 用户名
    [paras setObject:currentUser.matPassword forKey:@"password"]; // 密码
    [paras setObject:_activiateCodeTextField.text forKey:@"msgCode"]; // 验证码[输入]

    NSLog(@"注册手机号参数: %@", paras);

    // POST请求: MSG_USER_REGISTER_REQ
    [[ChunyuAPIClient sharedClient] postPath:[ChunyuAPIClient MAT_NOAUTH_HTTP_URL]
                                  parameters:paras
                          requestContentType:kCYHttpRequestContentTypeJSON
                                     success:^(AFHTTPRequestOperation *operation, id responseObject) {
                                         NSLog(@"MSG_USER_REGISTER_REQ + %@", responseObject);
                                         NSString* loginState = responseObject[@"description"];
                                         NSLog(@"注册状态: %@", loginState);
                                         [SVProgressHUD showErrorWithStatus: loginState duration:2.0f]; // 提示

                                         // 登录成功
                                         if ([responseObject[@"errorCode"] intValue] == 0) {
                                             [self dismissController]; // 关闭验证页面

                                         }
                                     }
                                     failure:^(AFHTTPRequestOperation *operation, NSError *error) {
                                         NSLog(@"请求错误 + %@", error);
                                         [SVProgressHUD showErrorWithStatus: @"服务器异常"]; // 提示
                                     }];
}

重置密码请求函数:
与注册手机号请求类型(msgType)不同, 去掉用户名(userName)参数.

/**
 *  重置密码请求
 *
 *  POST数据示例: {"version":16,"token":"","msgType":"MSG_RESET_PASSWORD_REQ","msgSeq":16,
 *  "appType":4,"IMEI":"356199060018702","phoneNo":"18511452178","password":"qwertyui",
 *  "msgCode":"545767"}
 */
- (void) resetPassword {

    User* currentUser = [User currentUser]; // 账号

    NSMutableDictionary* paras = [[NSMutableDictionary alloc] init]; // POST参数

    [paras setObject:currentUser.matVersion forKey:@"version"]; // 版本号
    [paras setObject:(currentUser.matToken == nil)?@"":currentUser.matToken forKey:@"token"]; // Token
    [paras setObject:@"MSG_RESET_PASSWORD_REQ" forKey:@"msgType"]; // 消息类型
    [paras setObject:[NSString stringWithFormat:@"%d",currentUser.matMsgSeq] forKey:@"msgSeq"]; // 消息序列
    [paras setObject:currentUser.matAppType forKey:@"appType"]; // APP类型
    [paras setObject:currentUser.uniqueDeviceToken forKey:@"IMEI"]; // 唯一码
    [paras setObject:currentUser.matPhoneNo forKey:@"phoneNo" ]; // 手机号
    [paras setObject:currentUser.matPassword forKey:@"password"]; // 密码
    [paras setObject:_activiateCodeTextField.text forKey:@"msgCode"]; // 验证码[输入]

    NSLog(@"重置密码参数: %@", paras);

    // POST请求: MSG_RESET_PASSWORD_REQ
    [[ChunyuAPIClient sharedClient] postPath:[ChunyuAPIClient MAT_NOAUTH_HTTP_URL]
                                  parameters:paras
                          requestContentType:kCYHttpRequestContentTypeJSON
                                     success:^(AFHTTPRequestOperation *operation, id responseObject) {
                                         NSLog(@"MSG_RESET_PASSWORD_REQ + %@", responseObject);
                                         NSString* loginState = responseObject[@"description"];
                                         NSLog(@"注册状态: %@", loginState);

                                         [SVProgressHUD showErrorWithStatus: loginState duration:2.0f]; // 提示

                                         // 登录成功
                                         if ([responseObject[@"errorCode"] intValue] == 0) {
                                             [self dismissController]; // 关闭验证页面
                                         }
                                     }
                                     failure:^(AFHTTPRequestOperation *operation, NSError *error) {
                                         NSLog(@"responseObject + %@", error);
                                         [SVProgressHUD showErrorWithStatus: @"服务器异常"]; // 提示
                                     }];
}

娱乐

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

新网某处设计缺陷可任意用户密码重置及手机号密码密文泄漏(大众点评网为例)

简要描述: 新网某处设计缺陷可任意用户密码重置及手机号密码密文泄漏(大众点评网为例) 详细说明: 重置密码要先从敏感信息泄漏开始 code 区域 POST /user/userl...

iOS正则表达式-验证密码身份证手机号

ios项目中常用的正则表达式及其用法献上,可以直接使用!

ios使用常用正则表达式验证密码身份证手机号【转】

在项目中,我们在验证用户的输入,最简单的方法就是使用正则表达式了,ios系统也提供很方便的方法,让我们可以轻松的来验证用户名,密码,身份证号 ,手机号等;下面附上我在项目中用到的正则表达式的验证方法,...

iOS_正则表达式判断手机型号、邮箱、手机号、身份证、昵称、密码等

//邮箱 + (BOOL) validateEmail:(NSString *)email {     NSString *emailRegex = @"[A-Z0-9a-z._%+-]+@[A-...
  • zhuod
  • zhuod
  • 2016年08月16日 14:34
  • 144

iOS_正则表达式判断手机型号、邮箱、手机号、身份证、昵称、密码等

//邮箱 + (BOOL) validateEmail:(NSString *)email {     NSString *emailRegex = @"[A-Z0-9a-z._%+-]...

Android使用mob实现手机号验证注册

现在很多的app都采用首次进入使用手机号码快速注册成功,然后登入设置各种用户信息。这里使用mob第三方sdk实现手机号码的快速注册,实现起来也很简单,集成文档也有说明,这里把实现的过程和结果都记录下来...
  • linxi7
  • linxi7
  • 2016年09月23日 11:34
  • 3375

httpclient小例子:获取手机号地址、IP地址获取、POST方式注册用户(乐蜂网)

一、HttpClient注册网站用户,拿乐峰网为例,感觉是个不错的网站。我想去面试怕不要我啊。。。 测试可以注册成功,而且参数如果把某个参数都写上验证码功能也就无效了~测试可以连续注册成功。。 (...

Magento 使用手机号注册登录

Magento 使用手机号注册登录。包括用户修改信息,忘记密码通过手机号码重置密码等。...
  • m0sh1
  • m0sh1
  • 2015年05月22日 14:36
  • 1843

注册登录时输入11位手机号,不能输入字母和特殊字符,input number类型去掉上下加减箭头

1、如果使用type=“number”,则为造成能输入“-”、‘+’和“.”,在type为number的时候要可以输入加号、减号和小数点的。 2、在为number类型时,会产生上下可以加减的箭头 3、...

Android使用mob手机号验证注册

Android使用mob手机号验证注册
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:IOS - 注册手机号和重置密码请求函数
举报原因:
原因补充:

(最多只允许输入30个字)