第三方登录

//qq登录
- (void)qqBtnAction {
    [[DMApi SharedDMApi]removeUserDefault];
   
    [ShareSDK getUserInfoWithType:ShareTypeQQSpace authOptions:nil result:^(BOOL result, id<ISSPlatformUser> userInfo, id<ICMErrorInfo> error) {
        if (result)
        {
            NSLog(@"accessToken = %@", [[userInfo credential] token]);
            NSLog(@"uid = %@",[userInfo uid]);
            NSLog(@"name = %@",[userInfo nickname]);
           
            NSDictionary * paras = @{@"openId":[userInfo uid],@"accessToken":[[userInfo credential] token]};
            [[DMApi SharedDMApi] requestPostMethodUrl:DM_THIRDPART_LOGIN withParas:paras success:^(AFHTTPRequestOperation* operation, NSObject *resultObject) {
                DefaultModel *deModel = [DefaultModel mj_objectWithKeyValues:resultObject];
                    if (deModel.code == 0) { // 直接跳到首页
                        [[NSUserDefaults standardUserDefaults] setObject:[userInfo uid] forKey:@"openId"];
                        [[NSUserDefaults standardUserDefaults] setObject:[[userInfo credential] token] forKey:@"accessToken"];
                       
                        NSString *oldUserId = [[NSUserDefaults standardUserDefaults]objectForKey:@"userId"];
                        UserInfoModel *model = [UserInfoModel mj_objectWithKeyValues:deModel.data];
                        [[NSUserDefaults standardUserDefaults] setObject:model.ID forKey:@"userId"];
                        [self judgeToPushGestureBy:model.ID old:oldUserId];
                    }else if (deModel.code == 2) // 未绑定平台账号!
                    {
                        [[DMToastManager ShardInstance]showtoast:@"尚未绑定平台账号,请先绑定!" wait:1];
                        CompleteRegVC *vc = [CompleteRegVC new];
                        vc.openId = [userInfo uid];
                        vc.accessToken = [[userInfo credential] token];
                        [self.navigationController pushViewController:vc animated:YES];
                       
                    }else{
                        [[DMToastManager ShardInstance]showtoast:deModel.desc];
                    }
                }
              failure:^(AFHTTPRequestOperation *operation, NSError *error) {
                 
              }];
        }else
        {
            NSLog(@"分享失败,错误码:%ld,错误描述:%@", (long)[error errorCode], [error errorDescription]);
            if ([error errorCode] == -6004) {
                [[DMApi SharedDMApi]showAlertWithMsg:@"尚未安装QQ客户端"];
            }
        }
    }];
}
2.微博
//微博登录
- (void)weiboBtnAction {
    [[DMApi SharedDMApi]removeUserDefault];
   
    [ShareSDK getUserInfoWithType:ShareTypeSinaWeibo authOptions:nil result:^(BOOL result, id<ISSPlatformUser> userInfo, id<ICMErrorInfo> error) {
        if (result)
        {
            NSLog(@"accessToken = %@", [[userInfo credential] token]);
            NSLog(@"uid = %@",[userInfo uid]);
            NSLog(@"name = %@",[userInfo nickname]);
           
            NSDictionary * paras = @{@"openId":[userInfo uid],@"accessToken":[[userInfo credential] token]};
            [[DMApi SharedDMApi] requestPostMethodUrl:DM_THIRDPART_LOGIN withParas:paras success:^(AFHTTPRequestOperation* operation, NSObject *resultObject) {
                DefaultModel *deModel = [DefaultModel mj_objectWithKeyValues:resultObject];
                if (deModel.code == 0) { // 直接跳到首页
                    [[NSUserDefaults standardUserDefaults] setObject:[userInfo uid] forKey:@"openId"];
                    [[NSUserDefaults standardUserDefaults] setObject:[[userInfo credential] token] forKey:@"accessToken"];
                   
                    NSString *oldUserId = [[NSUserDefaults standardUserDefaults]objectForKey:@"userId"];
                    UserInfoModel *model = [UserInfoModel mj_objectWithKeyValues:deModel.data];
                    [[NSUserDefaults standardUserDefaults] setObject:model.ID forKey:@"userId"];
                    [self judgeToPushGestureBy:model.ID old:oldUserId];
                }else if (deModel.code == 2) // 未绑定平台账号!
                {
                    [[DMToastManager ShardInstance]showtoast:@"尚未绑定平台账号,请先绑定!" wait:1];
                    CompleteRegVC *vc = [CompleteRegVC new];
                    vc.openId = [userInfo uid];
                    vc.accessToken = [[userInfo credential] token];
                    [self.navigationController pushViewController:vc animated:YES];
                   
                }else{
                    [[DMToastManager ShardInstance]showtoast:deModel.desc];
                }
            }
            failure:^(AFHTTPRequestOperation *operation, NSError *error) {
                                                 
            }];
        }else
        {
            NSLog(@"分享失败,错误码:%ld,错误描述:%@", (long)[error errorCode], [error errorDescription]);
        }
    }];
}
posted @ 2017-02-14 14:49  江南风雨  阅读(226)  评论(0编辑  收藏  举报