205 lines
7.0 KiB
Objective-C
205 lines
7.0 KiB
Objective-C
//
|
|
// 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
|