导入两个文件夹
配置cocopods
pod ‘ReactiveObjC’
pod ‘mob_sharesdk’
pod ‘mob_sharesdk/ShareSDKUI’
pod ‘mob_sharesdk/ShareSDKPlatforms/QQ’
pod ‘mob_sharesdk/ShareSDKPlatforms/SinaWeibo’
pod ‘mob_sharesdk/ShareSDKPlatforms/WeChat’
@property (weak, nonatomic) IBOutlet UITextField *textOne;
@property (weak, nonatomic) IBOutlet UITextField *textTwo;
@property (weak, nonatomic) IBOutlet UIButton *Btn1;
@property (weak, nonatomic) IBOutlet UIButton *Btn2;
@property (weak, nonatomic) IBOutlet UIButton *wxlogin;
导入头文件
#import <ReactiveObjC.h>
#import “UIButton+Count.h”
#import “NetRequestManager.h”
#import “ShowAlert.h”
#import “AppCheckOut.h”
#import <ShareSDK/ShareSDK.h>
#import “phoneViewController.h”
-(void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view from its nib.
[_wxlogin setImage:[UIImage imageNamed:@"1"] forState:UIControlStateNormal];
[[self.wxlogin rac_signalForControlEvents:UIControlEventTouchUpInside] subscribeNext:^(__kindof UIControl * _Nullable x) {
//吊起微信
[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);
//拿到用户信息
NSDictionary *uesrinfo = @{@"nickname":user.nickname,@"head_img":user.icon,@"sex":@(user.gender)};
//微信登陆接口
[NetRequestManager requestWithUrl:@"http://test.bit.api.meeboo.cc" withRequestType:GET postParameters:@{@"method":@"app.passport.wxauthorizelogin",@"wx_info":uesrinfo,@"device":@"ios",@"device_id":@"1231241232313",@"parent_id":@"1",@"registration_id":@""} success:^(NSDictionary *resDict) {
if ([[[resDict objectForKey:@"data"] objectForKey:@"type"]isEqualToString:@"0"]) {
//直接跳转首页
[UserDefualtUtils setValue:[[resDict objectForKey:@"data"] objectForKey:@"type"] forKey:@"secret_key"];
}else
{
//跳转绑定手机号
[self.navigationController pushViewController:[phoneViewController new] animated:YES];
//调用手机号绑定的接口
[self loadphonenumber:[[resDict objectForKey:@"data"] objectForKey:@"type"]];
[UserDefualtUtils setValue:[[resDict objectForKey:@"data"] objectForKey:@"secret_key"] forKey:@"secret_key"];
}
} failure:^(NSError *error) {
}];
}
else
{
NSLog(@"%@",error);
}
}];
//返回User_token 绑定手机号
}];
APPWeak(self);
//获取验证
[[_Btn1 rac_signalForControlEvents:UIControlEventTouchUpInside] subscribeNext:^(__kindof UIControl * _Nullable x) {
//验证码倒计时
[self.Btn1 countDownWithTimeInterval:60];
//判断手机号为空
if([weakself.textOne.text isEqualToString:@""])
{
[ShowAlert showAlterWithMsg:@"手机号码不正确" withDely:2];
return ;
}
//判断手机号是否正确
BOOL *textOne = [AppCheckOut checkMobile:weakself.textOne.text];
if(!textOne)
{
[ShowAlert showAlterWithMsg:@"手机号错误" withDely:2];
return ;
}
// 根据验证码接口请求验证码http://buluokes.huimor.com/api
[NetRequestManager requestWithUrl:@"http://buluokes.huimor.com/api" withRequestType:GET postParameters:@{@"method":@"app.passport.sendsms",@"mobile":weakself.textOne.text,@"type":@"1",@"user_token":@""} success:^(NSDictionary *resDict) {
} failure:^(NSError *error) {
}];
}];
[[_Btn2 rac_signalForControlEvents:UIControlEventTouchUpInside] subscribeNext:^(__kindof UIControl * _Nullable x) {
if([weakself.textTwo.text isEqualToString:@""])
{
[ShowAlert showAlterWithMsg:@"验证码不能为空" withDely:2];
return ;
}
//判断验证码是否正确
BOOL textTwo = [AppCheckOut checkSecurityCode:weakself.textTwo.text];
if(!textTwo)
{
[ShowAlert showAlterWithMsg:@"验证码错误" withDely:2];
return ;
}
//登陆
[self btn2];
[[self.textOne rac_textSignal] subscribeNext:^(NSString * _Nullable x) {
if(![weakself.textTwo.text isEqualToString:@""] && ![x isEqualToString:@""])
{
weakself.Btn2.enabled = YES;
weakself.Btn2.backgroundColor = [UIColor blueColor];
}
else
{
weakself.Btn2.enabled = NO;
weakself.Btn2.backgroundColor = [UIColor cyanColor];
}
}];
[[self.textTwo rac_textSignal] subscribeNext:^(NSString * _Nullable x) {
if(![weakself.textOne.text isEqualToString:@""] && ![x isEqualToString:@""])
{
weakself.Btn2.enabled = YES;
weakself.Btn2.backgroundColor = [UIColor blueColor];
}
else
{
weakself.Btn2.enabled = NO;
weakself.Btn2.backgroundColor = [UIColor cyanColor];
}
}];
}];
}
-(void)loadphonenumber:(NSString *)token{
// [NetRequestManager requestWithUrl:@“http://test.bit.api.meeboo.cc” withRequestType:GET postParameters:@{@""?"",@""?""} sucgetcess:^(NSDictionary *resDict) {
// [UserDefualtUtils setValue:[[resDict objectForKey:@“data”] objectForKey:@“secret_key”] forKey:@“secret_key”];
//
// } failure:^(NSError *error) {
//
// }];
[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)btn2{
// APPWeak(weakself);
NSDictionary *btn2dic = @{@“method”?“app.passport.login”,@“mobile”:_textOne.text,@“code”:_textTwo.text,@“device”?“ios”,@“device_id”?“123123123123”,@“parent_id”?“1”,@“registration_id”?"",@“user_token”?""};
[NetRequestManager requestWithUrl:@“http://buluokes.huimor.com/api” withRequestType:GET postParameters:btn2dic success:^(NSDictionary *resDict) {
} failure:^(NSError *error) {
}];
}
@end
在plist文件里添加
key:LSApplicationQueriesSchemes 改为Array 添加两个白名单
MOBAppkey 里面为AppKey
MOBAppSecret 里面为 AppSecret
然后在info里面URL Type 加上 URL Schemes
添加.pch
/弱指针/
#define APPWeak(object) __weak typeof(object) weak##object = object;
/强指针/
#define APPStrong(object) __strong typeof(object) strong##object = object;