// // GiGaUserLoginVC.m // GIGA // // Created by lianxiang on 2018/8/20. // Copyright © 2018年 com.giga.ios. All rights reserved. // #import "GiGaUserLoginVC.h" #import "UINavigationBar+Custom.h" #import "PassWordResetVC.h" #import "GiGaRegistViewController.h" #import "GiGaUserDefault.h" #import "WXApi.h" #import "GiGaNetManager.h" #import "WeiIXinApiManager.h" @interface GiGaUserLoginVC () @property (weak, nonatomic) IBOutlet UIImageView *userImagView; @property (weak, nonatomic) IBOutlet UITextField *acountTextField; @property (weak, nonatomic) IBOutlet UITextField *passwordTextField; @property (weak, nonatomic) IBOutlet UIButton *loginBtn; @property (weak, nonatomic) IBOutlet UIButton *weiXinLoginBtn; @property (weak, nonatomic) IBOutlet UIButton *registBtn; @end @implementation GiGaUserLoginVC - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view from its nib. [self setUpX]; [self textFieldUI]; [self.registBtn addTarget:self action:@selector(registBtnAction) forControlEvents:UIControlEventTouchUpInside]; [self.loginBtn addTarget:self action:@selector(loginBtnAction:) forControlEvents:UIControlEventTouchUpInside]; [self.weiXinLoginBtn addTarget:self action:@selector(weiXinLoginAction) forControlEvents:UIControlEventTouchUpInside]; NC_ADD_TARGET_NAME_OBJECT(self, @selector(WeiXinLongIn:), kWeiXinAuthrization_Success, nil) if (![WXApi isWXAppInstalled]) { self.weiXinLoginBtn.hidden = YES; } } -(void)dealloc{ NC_REMOVE_NAME(self, kWeiXinAuthrization_Success,nil); } -(void)setUpX{ UIButton *rightBtn = [UIButton buttonWithType:UIButtonTypeCustom]; rightBtn.frame = CGRectMake(0, 0, 40, 40); rightBtn.backgroundColor = [UIColor blueColor]; [rightBtn setImage:[UIImage imageNamed:@"maske_dismiss_waring"] forState:UIControlStateNormal]; [rightBtn addTarget:self action:@selector(rightBtnAction) forControlEvents:UIControlEventTouchUpInside]; self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:rightBtn]; } -(void)textFieldUI{ //self.acountTextField.attributedPlaceholder = @""; UIView *acountView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 40, 40)]; acountView.backgroundColor = [UIColor redColor]; UIImageView *acountViewIcon = [[UIImageView alloc] initWithFrame:CGRectMake(15, 5, 16, 18)]; acountViewIcon.image = [UIImage imageNamed:@""]; [acountView addSubview:acountViewIcon]; self.acountTextField.leftView = acountView; self.acountTextField.leftViewMode = UITextFieldViewModeAlways; // NSAttributedString *passholderText = [[NSAttributedString alloc] initWithString:@"密码" attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:14],NSForegroundColorAttributeName:[UIColor redColor]}]; // self.passwordTextField.attributedPlaceholder = passholderText; UIView *passView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 40, 40)]; passView.backgroundColor = [UIColor redColor]; UIImageView *passViewIcon = [[UIImageView alloc] initWithFrame:CGRectMake(15, 5, 16, 18)]; passViewIcon.image = [UIImage imageNamed:@""]; [passView addSubview:passViewIcon]; self.passwordTextField.leftView = passView; self.passwordTextField.leftViewMode = UITextFieldViewModeAlways; self.loginBtn.layer.masksToBounds = YES; self.loginBtn.layer.cornerRadius = self.loginBtn.frame.size.height / 2; self.weiXinLoginBtn.layer.masksToBounds = YES; self.weiXinLoginBtn.layer.cornerRadius = self.weiXinLoginBtn.frame.size.height / 2; } -(void)rightBtnAction{ [self dismissViewControllerAnimated:YES completion:nil]; } -(void)viewWillAppear:(BOOL)animated{ [super viewWillAppear:animated]; [self.navigationController.navigationBar setClearNav]; } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated. } - (IBAction)forgetPassBtn:(id)sender { PassWordResetVC *passVC= [[PassWordResetVC alloc] init]; [self.navigationController pushViewController:passVC animated:YES]; } #pragma mark - 去注册 -(void)registBtnAction{ GiGaRegistViewController *registVC = [[GiGaRegistViewController alloc] init]; [self.navigationController pushViewController:registVC animated:YES]; } #pragma mark - 登录 -(void)loginBtnAction:(UIButton *)btn{ if (self.acountTextField.text == nil) { GIGA_ShowToast(@"请输入手机号"); return; } if (![GiGaHelper isPhoneNumber:self.acountTextField.text]) { GIGA_ShowToast(@"请输入正确手机号"); return; } if (self.passwordTextField.text == nil) { GIGA_ShowToast(@"密码不能为空"); return; } if (self.passwordTextField.text.length < 6) { GIGA_ShowToast(@"密码长度不能小于六位字符"); return; } //埋点 [MobClick endEvent:MobClick_UserLogin]; [GiGaUserDefault saveUserId:@"123"]; [self dismissViewControllerAnimated:YES completion:nil]; } #pragma mark - 微信登录 // 授权 -(void)weiXinLoginAction{ if ([WXApi isWXAppInstalled]) { SendAuthReq * req = [[SendAuthReq alloc] init] ; req.scope = @"snsapi_userinfo"; req.state = @"wx_oauth2_authorization_state"; [WXApi sendReq:req]; } } //授权成功获取access_token -(void)WeiXinLongIn:(NSNotification *)notification{ NSDictionary *param = @{ @"appid":WXin_APPID, @"secret":WXin_APPSecret, @"code":notification.object[@"code"], @"grant_type":@"authorization_code" }; [WeiIXinApiManager weixinAccessTokeRequstUrl:@"https://api.weixin.qq.com/sns/oauth2/access_token" parameters:param success:^(id response) { NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:response options:NSJSONReadingAllowFragments error:nil]; GILog(@"access_token back -->%@",dict); [GiGaUserDefault saveWeiXinaccesstokenInfoWithDic:dict]; [self requstWeiXinUserinfo]; } failure:^(NSError *err) { GILog(@"access_token err-->%@",err.localizedDescription); }]; } //获取微信用户信息 -(void)requstWeiXinUserinfo{ NSDictionary *tokenDic = [GiGaUserDefault getWeiXinAccessToenDic]; NSDictionary *param = @{ @"openid":tokenDic[@"openid"], @"access_token":tokenDic[@"access_token"], }; [WeiIXinApiManager getWeiXinUserInfoUrl:@"https://api.weixin.qq.com/sns/userinfo" parameters:param success:^(id response) { NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:response options:NSJSONReadingAllowFragments error:nil]; GILog(@"weixinUser info back -->%@",dict); } failure:^(NSError *err) { GILog(@"weixin_userinfoApi err-->%@",err.localizedDescription); }]; } @end