app.m
导入第三方:
#import <ShareSDK/ShareSDK.h>
[ShareSDK registPlatforms:^(SSDKRegister *platformsRegister) {
//QQ
[platformsRegister setupQQWithAppId:@"100371282" appkey:@"aed9b0303e3ed1e27bae87c33761161d"];
//微信
[platformsRegister setupWeChatWithAppId:@"wx617c77c82218ea2c" appSecret:@"c7253e5289986cf4c4c74d1ccc185fb1"];
//新浪
[platformsRegister setupSinaWeiboWithAppkey:@"568898243" appSecret:@"38a4f8204cc784f81f9f0daaf31e02e3" redirectUrl:@"http://www.sharesdk.cn"];
}];
代码块
vc.m:
#import "MessageViewController.h"
#import <ReactiveObjC.h>
#import "UIButton+Count.h"
#import "NetRequestManager.h"
#import "ShowAlert.h"
#import "AppCheckOut.h"
#import <ShareSDK/ShareSDK.h>
#import "PhoneNumberViewController.h"
@interface MessageViewController ()
@property (weak, nonatomic) IBOutlet UITextField *phoneText;
@property (weak, nonatomic) IBOutlet UITextField *cedeText;
@property (weak, nonatomic) IBOutlet UIButton *getCedeBtn;
@property (weak, nonatomic) IBOutlet UIButton *loginBtn;
@property (weak, nonatomic) IBOutlet UIButton *WXLogin;
@end
@implementation MessageViewController
- (void)viewDidLoad {
[super viewDidLoad];
[_WXLogin setImage:[UIImage imageNamed:@"login"] forState:UIControlStateNormal];
[[self.WXLogin rac_signalForControlEvents:UIControlEventTouchUpInside]subscribeNext:^(__kindof UIControl * _Nullable x) {
//1、吊起微信:
[ShareSDK getUserInfo:SSDKPlatformTypeWechat
onStateChanged:^(SSDKResponseState state, SSDKUser *user, NSError *error)
{
if (state == SSDKResponseStateSuccess)
{
NSLog(@"uid=%@",user.uid);
NSLog(@"%@",user.credential);
NSLog(@"token=%@",user.credential.token);
NSLog(@"nickname=%@",user.nickname);
//2、拿到用户信息
NSDictionary *userInfo = @{@"nickname":user.nickname,@"head_img":user.icon,@"sex":@(user.gender)};
//3、微信登录接口调用
[NetRequestManager requestWithUrl:@"http://test.bit.api.meeboo.cc" withRequestType:GET postParameters:@{@"method":@"app.passport.wxauthorizelogin",@"wx_info":userInfo,@"device":@"ios",@"device_id":@"1231241232313",@"parent_id":@"1",@"registration_id":@""} success:^(NSDictionary *resDict) {
NSLog(@"+++++++++%@",resDict);
if ([[[resDict objectForKey:@"data"] objectForKey:@"type"] isEqualToString:@"0"]) {
//直接跳到首页,secret_key则为user_token。
[UserDefualtUtils setValue:[[resDict objectForKey:@"data"] objectForKey:@"secret_key"] forKey:@"secret_key"];
}else{
//跳转到手机号绑定,secret_key仍为secret_key。
[self.navigationController pushViewController:[[PhoneNumberViewController alloc]init] animated:YES];
4、user_token 绑定手机号 调用手机号绑定的接口:
[self loadPhoneNumberWithTonken:[[resDict objectForKey:@"data"] objectForKey:@"secret_key"]];
}
} failure:^(NSError *error) {
}];
}
else
{
NSLog(@"%@",error);
}
}];
}];
APPWeak(self);
//1、获取验证码:
[[_getCedeBtn rac_signalForControlEvents:UIControlEventTouchUpInside] subscribeNext:^(__kindof UIControl * _Nullable x) {
//(1)、判断手机号是否为空:
if ([weakself.phoneText.text isEqualToString:@""]) {
[ShowAlert showAlterWithMsg:@"手机号不正确" withDely:2];
return ;
}
//(2)、判断手机号是否正确:
BOOL isPhoneNumber = [AppCheckOut checkMobile:weakself.phoneText.text];
if (!isPhoneNumber) {
[ShowAlert showAlterWithMsg:@"手机号格式不正确" withDely:2];
return ;
}
//(3)、点击获取验证码按钮开始倒计时:
[self.getCedeBtn countDownWithTimeInterval:60];
//(4)、根据验证码接口请求验证码:
[NetRequestManager requestWithUrl:@"http://buluokes.huimor.com/api" withRequestType:GET postParameters:@{@"method":@"app.passport.sendsms",@"mobile":weakself.phoneText.text,@"type":@"1",@"user_token":@""} success:^(NSDictionary *resDict) {
NSLog(@"=========%@",resDict);
} failure:^(NSError *error) {
}];
}];
//2、根据登录接口点击登录按钮
[[_loginBtn rac_signalForControlEvents:UIControlEventTouchUpInside]subscribeNext:^(__kindof UIControl * _Nullable x) {
//(1)非空
if ([weakself.cedeText.text isEqualToString:@""]) {
[ShowAlert showAlterWithMsg:@"请填入已经发送的验证码" withDely:2];
return ;
}
//(2)、正则验证;
BOOL isCodeNumber = [AppCheckOut checkSecurityCode:weakself.cedeText.text];
if (!isCodeNumber) {
[ShowAlert showAlterWithMsg:@"验证码不符合规范" withDely:2];
return ;
}
//(3)、调用登录接口:
[self login];
}];
[[self.phoneText rac_textSignal]subscribeNext:^(NSString * _Nullable x) {
//两个都为空:
if (![weakself.cedeText.text isEqualToString:@""] && ![x isEqualToString:@""]) {
weakself.loginBtn.enabled = YES;
weakself.loginBtn.backgroundColor = [UIColor blueColor];
}else{
weakself.loginBtn.enabled = NO;
weakself.loginBtn.backgroundColor = [UIColor cyanColor];
}
}];
[[self.cedeText rac_textSignal]subscribeNext:^(NSString * _Nullable x) {
//两个都为空:
if (![weakself.phoneText.text isEqualToString:@""] && ![x isEqualToString:@""]) {
weakself.loginBtn.enabled = YES;
weakself.loginBtn.backgroundColor = [UIColor blueColor];
}else{
weakself.loginBtn.enabled = NO;
weakself.loginBtn.backgroundColor = [UIColor cyanColor];
}
}];
}
- (void)loadPhoneNumberWithTonken:(NSString *)token{
[NetRequestManager requestWithUrl:@"http://test.bit.api.meeboo.cc" withRequestType:GET postParameters:@{@"method":@"app.passport.bindingmobile",@"mobile":@"13439297398",@"code":@"1234",@"secret_key":token,@"registration_id":@""} success:^(NSDictionary *resDict) {
//绑定以后的信息,返回一个token
[UserDefualtUtils setValue:[[resDict objectForKey:@"data"] objectForKey:@"secret_key"] forKey:@"secret_key"];
} failure:^(NSError *error) {
}];
}
- (void)login{
APPWeak(self);
NSDictionary *loginDic = @{@"method":@"app.passport.login",@"mobile":weakself.phoneText.text,@"code":self.cedeText.text,@"device":@"ios",@"device_id":@"123123123123",@"parent_id":@"1",@"registration_id":@"",@"user_token":@""};
[NetRequestManager requestWithUrl:@"http://buluokes.huimor.com/api" withRequestType:GET postParameters:loginDic success:^(NSDictionary *resDict) {
NSLog(@"+++++++++%@",resDict);
} failure:^(NSError *error) {
}];
}
@end
调取微信注册登录
最新推荐文章于 2022-08-23 14:55:07 发布