Commit 58a060fc authored by “Icebear”'s avatar “Icebear”

添加腾讯识别文件忽略,手动添加到Podfile里,因为其中有引用文件上传不了,完成登录页验证码登录、密码登录测试、完成注册页面测试

parent 792807de
......@@ -50,6 +50,7 @@ playground.xcworkspace
#
Podfile.lock
Pods/
WBCloudReflectionFaceVerify_framework/
#
# Add this line if you want to avoid checking in source code from the Xcode workspace
*.xcworkspace
......
......@@ -19,6 +19,7 @@
334824EA2535AC5B00EB3141 /* NRHomeViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 334824E82535AC5B00EB3141 /* NRHomeViewController.xib */; };
334824F42535AF3300EB3141 /* Target_HomeCoordinator.m in Sources */ = {isa = PBXBuildFile; fileRef = 334824F32535AF3300EB3141 /* Target_HomeCoordinator.m */; };
334824F92535AFB300EB3141 /* CTMediator+HomeCoordinatorActions.m in Sources */ = {isa = PBXBuildFile; fileRef = 334824F82535AFB300EB3141 /* CTMediator+HomeCoordinatorActions.m */; };
3348250E2536C81300EB3141 /* WXCloudManage.m in Sources */ = {isa = PBXBuildFile; fileRef = 3348250C2536C81300EB3141 /* WXCloudManage.m */; };
335609B7251B23E500628080 /* Target_LoginCoordinator.m in Sources */ = {isa = PBXBuildFile; fileRef = 335609B6251B23E500628080 /* Target_LoginCoordinator.m */; };
335609EA251B4D9900628080 /* CTMediator+LoginCoordinatorActions.m in Sources */ = {isa = PBXBuildFile; fileRef = 335609E9251B4D9900628080 /* CTMediator+LoginCoordinatorActions.m */; };
33560A01251B5AAF00628080 /* NRPasswordLoginRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = 33560A00251B5AAF00628080 /* NRPasswordLoginRequest.m */; };
......@@ -79,6 +80,8 @@
334824F32535AF3300EB3141 /* Target_HomeCoordinator.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = Target_HomeCoordinator.m; sourceTree = "<group>"; };
334824F72535AFB300EB3141 /* CTMediator+HomeCoordinatorActions.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "CTMediator+HomeCoordinatorActions.h"; sourceTree = "<group>"; };
334824F82535AFB300EB3141 /* CTMediator+HomeCoordinatorActions.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "CTMediator+HomeCoordinatorActions.m"; sourceTree = "<group>"; };
3348250C2536C81300EB3141 /* WXCloudManage.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WXCloudManage.m; sourceTree = "<group>"; };
3348250D2536C81300EB3141 /* WXCloudManage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WXCloudManage.h; sourceTree = "<group>"; };
335609B5251B23E500628080 /* Target_LoginCoordinator.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Target_LoginCoordinator.h; sourceTree = "<group>"; };
335609B6251B23E500628080 /* Target_LoginCoordinator.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = Target_LoginCoordinator.m; sourceTree = "<group>"; };
335609E8251B4D9900628080 /* CTMediator+LoginCoordinatorActions.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "CTMediator+LoginCoordinatorActions.h"; sourceTree = "<group>"; };
......@@ -195,6 +198,15 @@
path = Coordinator;
sourceTree = "<group>";
};
3348250B2536C81300EB3141 /* WXCloudManage */ = {
isa = PBXGroup;
children = (
3348250D2536C81300EB3141 /* WXCloudManage.h */,
3348250C2536C81300EB3141 /* WXCloudManage.m */,
);
path = WXCloudManage;
sourceTree = "<group>";
};
335609B4251B23D100628080 /* Coordinator */ = {
isa = PBXGroup;
children = (
......@@ -335,6 +347,7 @@
335F6ABC251895660083A571 /* Manager */ = {
isa = PBXGroup;
children = (
3348250B2536C81300EB3141 /* WXCloudManage */,
334824CA25357FA400EB3141 /* NetworkManager */,
);
path = Manager;
......@@ -538,6 +551,7 @@
335F6A5625184A5D0083A571 /* Frameworks */,
335F6A5725184A5D0083A571 /* Resources */,
0BD46D426B97060152956B4A /* [CP] Embed Pods Frameworks */,
5BC835D7CBE8E9B628DED090 /* [CP] Copy Pods Resources */,
);
buildRules = (
);
......@@ -641,6 +655,23 @@
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
showEnvVarsInLog = 0;
};
5BC835D7CBE8E9B628DED090 /* [CP] Copy Pods Resources */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputFileListPaths = (
"${PODS_ROOT}/Target Support Files/Pods-NetrainFrame/Pods-NetrainFrame-resources-${CONFIGURATION}-input-files.xcfilelist",
);
name = "[CP] Copy Pods Resources";
outputFileListPaths = (
"${PODS_ROOT}/Target Support Files/Pods-NetrainFrame/Pods-NetrainFrame-resources-${CONFIGURATION}-output-files.xcfilelist",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-NetrainFrame/Pods-NetrainFrame-resources.sh\"\n";
showEnvVarsInLog = 0;
};
/* End PBXShellScriptBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
......@@ -653,6 +684,7 @@
33E97AED251CB37200437015 /* NSString+NRAdd.m in Sources */,
335F6AD125189B130083A571 /* AppDelegate+AppService.m in Sources */,
33E979C1251CA2E100437015 /* NRLoginPublicKeyRequest.m in Sources */,
3348250E2536C81300EB3141 /* WXCloudManage.m in Sources */,
33E97993251C476300437015 /* NRBaseModelAgent.m in Sources */,
335609EA251B4D9900628080 /* CTMediator+LoginCoordinatorActions.m in Sources */,
334824F92535AFB300EB3141 /* CTMediator+HomeCoordinatorActions.m in Sources */,
......
......@@ -15,6 +15,8 @@ typedef enum : NSUInteger {
kHttpCode_Success = 0,
kHttpCode_NotPublic,
kHttpCode_OtherLogin,
kHttpCode_NoRegister = 30106,
kHttpCode_tencentFaceAuth = 13060108
} kHttpCode;
@interface BaseHttpModel : NSObject
......
//
// WXCloudManage.h
// ShenWeiHospital
//
// Created by zouzhisheng on 2020/5/1.
// Copyright © 2020 HC. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <WBCloudReflectionFaceVerify/WBFaceVerifyCustomerService.h>
NS_ASSUME_NONNULL_BEGIN
@interface WXCloudManage : NSObject<WBFaceVerifyCustomerServiceDelegate>
@property (nonatomic, copy) void(^cloundBlock)(WBFaceVerifyResult* result);
+(WXCloudManage*)shareWXCloudManage;
-(void)loginWXCloudWith:(NSDictionary *)cloudJSon;
@end
NS_ASSUME_NONNULL_END
//
// WXCloudManage.m
// ShenWeiHospital
//
// Created by zouzhisheng on 2020/5/1.
// Copyright © 2020 HC. All rights reserved.
//
#import "WXCloudManage.h"
static WXCloudManage *shareWXCloudManage=nil;
@implementation WXCloudManage
+(WXCloudManage*)shareWXCloudManage{
static dispatch_once_t predicate;
dispatch_once(&predicate, ^{
shareWXCloudManage = [[self alloc] init];
});
return shareWXCloudManage;
}
-(WBFaceVerifySDKConfig *)getSDKSettings{
WBFaceVerifySDKConfig *config = [WBFaceVerifySDKConfig sdkConfig];
config.recordVideo = YES;
config.theme = WBFaceVerifyThemeDarkness;
return config;
}
-(void)loginWXCloudWith:(NSDictionary *)cloudJSon{
[QMUITips hideAllTips];
[WBFaceVerifyCustomerService sharedInstance].delegate = self;
NSLog(@"openApiUserId==%@",[cloudJSon objectForKey:@"openApiUserId"]);
// QLKSubBasicData *modle = [QLKUser sharedInstance].basicData.data[0];
dispatch_async(dispatch_get_main_queue(), ^{
///TO DO 通过app启动获取到的基础配置信息,添加腾讯人脸识别ID
[[WBFaceVerifyCustomerService sharedInstance] loginInLiveCheckAndCompareWithIdImageService:[cloudJSon objectForKey:@"openApiUserId"] nonce:[cloudJSon objectForKey:@"openApiNonce"] sign:[cloudJSon objectForKey:@"openApiSign"] appid:@"" orderNo:[cloudJSon objectForKey:@"agreementNo"] apiVersion:@"1.0.0" licence:@"" faceType:WBFaceVerifyLivingType_Action faceId:[cloudJSon objectForKey:@"faceId"] sdkConfig:[self getSDKSettings] success:^{
NSLog(@"识别成功");
} failure:^(WBFaceError * _Nonnull error) {
NSLog(@"错误==%@",error);
}];
});
}
-(void)wbfaceVerifyCustomerServiceDidFinishedWithFaceVerifyResult:(WBFaceVerifyResult *)faceVerifyResult{
NSLog(@"%@",faceVerifyResult);
if (self.cloundBlock) {
self.cloundBlock(faceVerifyResult);
}
}
@end
......@@ -212,7 +212,7 @@
<color key="titleColor" red="0.0" green="0.60392156860000001" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
</state>
<connections>
<segue destination="h8n-sm-Z0M" kind="push" id="9nW-H0-Bk4"/>
<action selector="registerBtnClick:" destination="lEQ-vc-MoR" eventType="touchUpInside" id="W9t-dl-CSf"/>
</connections>
</button>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="2wm-Ty-33d">
......@@ -309,11 +309,11 @@
<viewControllerLayoutGuide type="bottom" id="8YR-t7-0xR"/>
</layoutGuides>
<view key="view" clearsContextBeforeDrawing="NO" contentMode="scaleToFill" id="gET-G4-phc">
<rect key="frame" x="0.0" y="0.0" width="414" height="842"/>
<rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="lPh-dV-0j3" userLabel="scroll content view">
<rect key="frame" x="0.0" y="0.0" width="414" height="842"/>
<rect key="frame" x="0.0" y="44" width="414" height="852"/>
<subviews>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="zEA-3t-Mru" userLabel="account view">
<rect key="frame" x="20" y="20" width="379" height="50"/>
......
......@@ -11,6 +11,8 @@
- (void)loginSuccessAction;
- (void)toRegisterAction;
@end
NS_ASSUME_NONNULL_BEGIN
......
......@@ -146,12 +146,17 @@ typedef NS_ENUM(NSUInteger, UserSelectLoginMode) {
btn.selected = !btn.selected;
self.passwdField.secureTextEntry = btn.selected ? NO : YES;
}
- (IBAction)registerBtnClick:(id)sender {
if(self.controllerDelegate && [self.controllerDelegate respondsToSelector:@selector(toRegisterAction)]){
[self.controllerDelegate toRegisterAction];
}
}
///点击登录
- (IBAction)loginBtnClick:(id)sender {
[QMUITips showLoadingInView:self.view];
if(self.loginMode == verificationLogin){
[self.loginLogic verifyCodeLoginAction];
[self.loginLogic verifyCodeLoginWithPhoneNumber:self.phoneNumberField.text verifyCode:self.passwdField.text];
}else{
[self.loginLogic passwordLoginWithPhoneNumber:self.phoneNumberField.text password:self.passwdField.text];
}
......
......@@ -8,6 +8,8 @@
#import "NRCommonViewController.h"
@protocol NRRegisterViewControllerDelegate <NSObject>
///注册完成登录成功
- (void)registerLoginSuccessAction;
///用户协议
- (void)toUserProtocolAction;
///隐私政策
......
......@@ -9,7 +9,7 @@
#import "NRRegisterLogic.h"
#import "NRCountDownButton.h"
@interface NRRegisterViewController ()<QMUITextFieldDelegate>
@interface NRRegisterViewController ()<QMUITextFieldDelegate,NRRegisterLogicDelegate>
@property (weak, nonatomic) IBOutlet UIView *backView;
@property (weak, nonatomic) IBOutlet QMUITextField *nameTextField;//姓名输入框
......@@ -109,6 +109,29 @@
}
}
#pragma mark -- NRLoginLogicDelegate
-(void)sendMessageCompleted:(BaseHttpModel *)httpModel{
[QMUITips hideAllTips];
if(httpModel.isSucc){
[QMUITips showSucceed:httpModel.errorMsg];
[self.verificationBtn startTimer];
}else{
[QMUITips showError:httpModel.errorMsg];
}
}
-(void)requestDataCompleted:(BaseHttpModel *)httpModel{
[QMUITips hideAllTips];
if(httpModel.isSucc){
[QMUITips showSucceed:httpModel.errorMsg];
if(self.controllerDelegate && [self.controllerDelegate respondsToSelector:@selector(registerLoginSuccessAction)]){
[self.controllerDelegate registerLoginSuccessAction];
}
}else{
[QMUITips showError:httpModel.errorMsg];
}
}
#pragma mark -- IBAaction
- (IBAction)privacyPolicyBtnAction:(id)sender {//隐私政策];
if(self.controllerDelegate && [self.controllerDelegate respondsToSelector:@selector(toPrivacyPolicyAction)]){
......@@ -145,14 +168,12 @@
params[@"phoneNum"] = self.phoneTextField.text;
params[@"inviterCode"] = self.checkCodeTF.text;
params[@"password"] = self.passwordTextField.text;
params[@"purepassword"] = self.passwordTextField.text;
params[@"regSource"] = @"0";
[self.registerLogic registerRequestStepWithParams:params.copy];
[self.registerLogic registerRequestStepWithParams:params.mutableCopy];
}
- (IBAction)getVerficationAction:(id)sender {
[self.verificationBtn startTimer];
// [self.registerLogic getVerifyCodeWithPhoneNumber:self.phoneTextField.text];
[self.registerLogic getVerifyCodeWithPhoneNumber:self.phoneTextField.text];
}
- (IBAction)isShowAction:(id)sender {
UIButton *btn = (UIButton *)sender;
......@@ -184,7 +205,7 @@
-(NRRegisterLogic *)registerLogic{
if(!_registerLogic){
_registerLogic = [[NRRegisterLogic alloc] init];
// _registerLogic.logicDelegate = self;
_registerLogic.logicDelegate = self;
}
return _registerLogic;
}
......
......@@ -7,11 +7,12 @@
#import "Target_LoginCoordinator.h"
#import "NRLoginViewController.h"
#import "NRRegisterViewController.h"
#import "NRCommonNavigationViewController.h"
#import "CTMediator+LoginCoordinatorActions.h"
#import "CTMediator+HomeCoordinatorActions.h"
@interface Target_LoginCoordinator()<NRLoginViewControllerDelegate>
@interface Target_LoginCoordinator()<NRLoginViewControllerDelegate,NRRegisterViewControllerDelegate>
@property(nonatomic, weak) UINavigationController *navigationController;
......@@ -23,6 +24,7 @@
NRLoginViewController *loginVC = [NRLoginViewController instantiateWithStoryboardName:@"NRLogin"];
loginVC.controllerDelegate = self;
NRCommonNavigationViewController *navigationController = [[NRCommonNavigationViewController alloc] initWithRootViewController:loginVC];
self.navigationController = navigationController;
return navigationController;
}
......@@ -36,6 +38,22 @@
[[CTMediator sharedInstance] CTMediator_removeLoginCoordinator];
}
- (void)toRegisterAction{
NRRegisterViewController *registerVC = [NRRegisterViewController instantiateWithStoryboardName:@"NRLogin"];
registerVC.controllerDelegate = self;
[self.navigationController pushViewController:registerVC animated:YES];
}
- (void)registerLoginSuccessAction{
UIWindow *window = [UIApplication sharedApplication].windows.firstObject;
UIViewController *viewController = [[CTMediator sharedInstance] CTMediator_viewControllerForHomeCoordinator];
window.rootViewController = viewController;
[window makeKeyAndVisible];
// 在Controller被回收的时候,把相关的target也回收掉
[[CTMediator sharedInstance] CTMediator_removeLoginCoordinator];
}
-(void)dealloc{
NSLog(@"Target_LoginCoordinator dealloc");
}
......
......@@ -11,6 +11,7 @@
#import "NRVerifyCodeRequest.h"
#import "NRLoginKeyRequest.h"
#import "NRLoginPublicKeyRequest.h"
#import "NRVerifyCodeLoginRequest.h"
@protocol NRLoginLogicDelegate <NSObject>
@optional
......@@ -34,7 +35,7 @@ NS_ASSUME_NONNULL_BEGIN
- (void)getVerifyCodeWithPhoneNumber:(NSString *)phoneNumber;
- (void)verifyCodeLoginAction;
- (void)verifyCodeLoginWithPhoneNumber:(NSString *)phoneNumber verifyCode:(NSString *)verifyCode;
- (void)passwordLoginWithPhoneNumber:(NSString *)phoneNumber password:(NSString *)password;
......
......@@ -7,6 +7,15 @@
#import "NRLoginLogic.h"
#import "NRUserModel.h"
#import "WXCloudManage.h"
@interface NRLoginLogic()
@property(nonatomic, copy) NSString *phoneNumer;
@property(nonatomic, copy) NSString *password;
@property(nonatomic, copy) NSString *verifyCode;
@end
@implementation NRLoginLogic
......@@ -39,11 +48,41 @@
}];
}
- (void)verifyCodeLoginAction{
- (void)verifyCodeLoginWithPhoneNumber:(NSString *)phoneNumber verifyCode:(NSString *)verifyCode{
self.phoneNumer = phoneNumber;
self.verifyCode = verifyCode;
NSMutableDictionary *params = [[NSMutableDictionary alloc] init];
NRVerifyCodeLoginRequest *verifyLoginRequest = [[NRVerifyCodeLoginRequest alloc] init];
NSString *deviceIdentifier = [UIDevice deviceIdentifier];
if (!deviceIdentifier.isNotBlank) {
deviceIdentifier = [[[UIDevice currentDevice] identifierForVendor] UUIDString];
}
if(deviceIdentifier.isNotBlank){
[params setObject:deviceIdentifier forKey:@"deviceSN"];
}
params[@"phoneNum"] = phoneNumber;
params[@"verifyCode"] = verifyCode;
verifyLoginRequest.params = params;
[verifyLoginRequest startWithCompletionBlock:^(NRBaseRequest * _Nonnull request, NSString * _Nonnull error) {
if(!error){
[verifyLoginRequest saveModel];
if (self.logicDelegate && [self.logicDelegate respondsToSelector:@selector(requestDataCompleted:)]) {
[self.logicDelegate requestDataCompleted:request.httpModel];
}
}else if(request.httpModel.code == kHttpCode_tencentFaceAuth){
[self wbcloudFaceAuthAction:params requset:request isPasswordLogin:NO];
}else{
if (self.logicDelegate && [self.logicDelegate respondsToSelector:@selector(requestDataCompleted:)]) {
[self.logicDelegate requestDataCompleted:request.httpModel];
}
}
}];
}
- (void)passwordLoginWithPhoneNumber:(NSString *)phoneNumber password:(NSString *)password{
self.phoneNumer = phoneNumber;
self.password = password;
NSMutableDictionary *params = [[NSMutableDictionary alloc] init];
NRLoginKeyRequest *loginKeyRequest = [[NRLoginKeyRequest alloc] init];
loginKeyRequest.phoneNumber = phoneNumber;
......@@ -101,12 +140,40 @@
[pwdLoginRequest startWithCompletionBlock:^(NRBaseRequest * _Nonnull request, NSString * _Nonnull error) {
if(!error){
[pwdLoginRequest saveModel];
if (self.logicDelegate && [self.logicDelegate respondsToSelector:@selector(requestDataCompleted:)]) {
[self.logicDelegate requestDataCompleted:request.httpModel];
}
///TO DO 当deviceFlag == 0时,说明退出过程中有其他人登录该账号,该设备的记录将被清除
}else if(request.httpModel.code == kHttpCode_tencentFaceAuth){
[self wbcloudFaceAuthAction:params requset:request isPasswordLogin:YES];
}else{
if (self.logicDelegate && [self.logicDelegate respondsToSelector:@selector(requestDataCompleted:)]) {
[self.logicDelegate requestDataCompleted:request.httpModel];
}
}
if (self.logicDelegate && [self.logicDelegate respondsToSelector:@selector(requestDataCompleted:)]) {
[self.logicDelegate requestDataCompleted:request.httpModel];
}];
}
- (void)wbcloudFaceAuthAction:(NSDictionary *)params requset:(NRBaseRequest *)request isPasswordLogin:(BOOL)isPasswordLogin{
[[WXCloudManage shareWXCloudManage] loginWXCloudWith:params];
[[WXCloudManage shareWXCloudManage] setCloundBlock:^(WBFaceVerifyResult *result) {
if (result.isSuccess) {
if(isPasswordLogin){
[self passwordLoginWithPhoneNumber:self.phoneNumer password:self.password];
}else{
[self verifyCodeLoginWithPhoneNumber:self.phoneNumer verifyCode:self.verifyCode];
}
}else{
request.httpModel.code = kHttpCode_NotPublic;
request.httpModel.msg = result.description;
if (self.logicDelegate && [self.logicDelegate respondsToSelector:@selector(requestDataCompleted:)]) {
[self.logicDelegate requestDataCompleted:request.httpModel];
}
}
}];
}
@end
......@@ -18,6 +18,10 @@
@protocol NRRegisterLogicDelegate <NSObject>
@optional
/**
发送短信
*/
-(void)sendMessageCompleted:(BaseHttpModel *_Nullable)httpModel;
/**
数据加载完成
*/
......
......@@ -7,6 +7,11 @@
#import "NRRegisterLogic.h"
@interface NRRegisterLogic()
@property(nonatomic, copy) NSString *password;
@end
@implementation NRRegisterLogic
......@@ -17,9 +22,9 @@
NSString *tvalue = [servertimeRequest.httpModel.data objectAtIndex:0];
[self sendVerifyCodeRequest:tvalue phoneNumber:phoneNumber];
}else{
// if (self.logicDelegate && [self.logicDelegate respondsToSelector:@selector(requestDataCompleted:)]) {
// [self.logicDelegate requestDataCompleted:request.httpModel];
// }
if (self.logicDelegate && [self.logicDelegate respondsToSelector:@selector(sendMessageCompleted:)]) {
[self.logicDelegate sendMessageCompleted:request.httpModel];
}
}
}];
}
......@@ -33,13 +38,14 @@
if (!error) {
}
// if (self.logicDelegate && [self.logicDelegate respondsToSelector:@selector(requestDataCompleted:)]) {
// [self.logicDelegate requestDataCompleted:request.httpModel];
// }
if (self.logicDelegate && [self.logicDelegate respondsToSelector:@selector(sendMessageCompleted:)]) {
[self.logicDelegate sendMessageCompleted:request.httpModel];
}
}];
}
///注册
- (void)registerRequestStepWithParams:(NSMutableDictionary *)params{
self.password = params[@"password"];
///检查验证码
NRRegisterCheckVerifyCodeRequest *checkVerifyCodeRequest = [[NRRegisterCheckVerifyCodeRequest alloc] init];
checkVerifyCodeRequest.phoneNumber = params[@"phoneNum"];
......@@ -48,6 +54,10 @@
[checkVerifyCodeRequest startWithCompletionBlock:^(NRBaseRequest * _Nonnull request, NSString * _Nonnull error) {
if (!error) {
[self getRegisterPublicKeyRequest:params];
}else{
if (self.logicDelegate && [self.logicDelegate respondsToSelector:@selector(requestDataCompleted:)]) {
[self.logicDelegate requestDataCompleted:request.httpModel];
}
}
}];
}
......@@ -62,12 +72,12 @@
if(!publicKey.isNotBlank){
return ;
}
[params setObject:publicKey forKey:@"password"];
params[@"password"] = publicKey;
[self registerActionRequest:params];
}else{
// if (self.logicDelegate && [self.logicDelegate respondsToSelector:@selector(requestDataCompleted:)]) {
// [self.logicDelegate requestDataCompleted:request.httpModel];
// }
if (self.logicDelegate && [self.logicDelegate respondsToSelector:@selector(requestDataCompleted:)]) {
[self.logicDelegate requestDataCompleted:request.httpModel];
}
}
}];
}
......@@ -78,11 +88,12 @@
registerRequest.params = params;
[registerRequest startWithCompletionBlock:^(NRBaseRequest * _Nonnull request, NSString * _Nonnull error) {
if(!error){
[self passwordLoginWithPhoneNumber:params[@"phoneNum"] password:params[@"purepassword"]];
[self passwordLoginWithPhoneNumber:params[@"phoneNum"] password:self.password];
}else{
if (self.logicDelegate && [self.logicDelegate respondsToSelector:@selector(requestDataCompleted:)]) {
[self.logicDelegate requestDataCompleted:request.httpModel];
}
}
// if (self.logicDelegate && [self.logicDelegate respondsToSelector:@selector(requestDataCompleted:)]) {
// [self.logicDelegate requestDataCompleted:request.httpModel];
// }
}];
}
......@@ -93,15 +104,15 @@
[loginKeyRequest startWithCompletionBlock:^(NRBaseRequest * _Nonnull request, NSString * _Nonnull error) {
if(!error){
NSDictionary *loginKeyDict = [loginKeyRequest.httpModel.data objectAtIndex:0];
[params setObject:[loginKeyDict objectForKey:@"loginKey"] forKey:@"loginKey"];
[params setObject:[loginKeyDict objectForKey:@"loginId"] forKey:@"loginId"];
[params setObject:phoneNumber forKey:@"phoneNum"];
[params setObject:password forKey:@"password"];
params[@"loginKey"] = [loginKeyDict objectForKey:@"loginKey"];
params[@"loginId"] = [loginKeyDict objectForKey:@"loginId"];
params[@"phoneNum"] = phoneNumber;
params[@"password"] = password;
[self getLoginPublicKeyRequest:params];
}else{
// if (self.logicDelegate && [self.logicDelegate respondsToSelector:@selector(requestDataCompleted:)]) {
// [self.logicDelegate requestDataCompleted:request.httpModel];
// }
if (self.logicDelegate && [self.logicDelegate respondsToSelector:@selector(requestDataCompleted:)]) {
[self.logicDelegate requestDataCompleted:request.httpModel];
}
}
}];
}
......@@ -116,17 +127,17 @@
if(!publicKey.isNotBlank){
request.httpModel.code = kHttpCode_NotPublic;
request.httpModel.msg = @"登录失败,请重新登录";
// if (self.logicDelegate && [self.logicDelegate respondsToSelector:@selector(requestDataCompleted:)]) {
// [self.logicDelegate requestDataCompleted:request.httpModel];
// }
if (self.logicDelegate && [self.logicDelegate respondsToSelector:@selector(requestDataCompleted:)]) {
[self.logicDelegate requestDataCompleted:request.httpModel];
}
return ;
}
[params setObject:publicKey forKey:@"password"];
params[@"password"] = publicKey;
[self passwordLoginRequest:params];
}else{
// if (self.logicDelegate && [self.logicDelegate respondsToSelector:@selector(requestDataCompleted:)]) {
// [self.logicDelegate requestDataCompleted:request.httpModel];
// }
if (self.logicDelegate && [self.logicDelegate respondsToSelector:@selector(requestDataCompleted:)]) {
[self.logicDelegate requestDataCompleted:request.httpModel];
}
}
}];
}
......@@ -138,17 +149,16 @@
deviceIdentifier = [[[UIDevice currentDevice] identifierForVendor] UUIDString];
}
if(deviceIdentifier.isNotBlank){
[params setObject:deviceIdentifier forKey:@"deviceSN"];
params[@"deviceSN"] = deviceIdentifier;
}
pwdLoginRequest.params = params;
[pwdLoginRequest startWithCompletionBlock:^(NRBaseRequest * _Nonnull request, NSString * _Nonnull error) {
if(!error){
[pwdLoginRequest saveModel];
///TO DO 退出过程中有其他人登录该账号,该设备的记录将被清除
}
// if (self.logicDelegate && [self.logicDelegate respondsToSelector:@selector(requestDataCompleted:)]) {
// [self.logicDelegate requestDataCompleted:request.httpModel];
// }
if (self.logicDelegate && [self.logicDelegate respondsToSelector:@selector(requestDataCompleted:)]) {
[self.logicDelegate requestDataCompleted:request.httpModel];
}
}];
}
......
......@@ -11,6 +11,10 @@ NS_ASSUME_NONNULL_BEGIN
@interface NRVerifyCodeLoginRequest : NRBaseRequest
@property(copy, nonatomic) NSDictionary *params;
-(void)saveModel;
@end
NS_ASSUME_NONNULL_END
......@@ -6,6 +6,7 @@
//
#import "NRVerifyCodeLoginRequest.h"
#import "NRUserModel.h"
@implementation NRVerifyCodeLoginRequest
......@@ -14,6 +15,16 @@
}
-(id)requestArgument{
return @{};
return self.params;
}
-(void)saveModel{
NSArray *arr = [[NRBaseModelAgent agent] createModel:NRUserModel.class fromJson:self.httpModel.data];
NRUserModel *userModel = [arr objectAtIndex:0];
if(!userModel.status){
userModel.status = @"4";
}
userModel.phoneNum = [self.params objectForKey:@"phoneNum"];
[[NRBaseModelAgent agent] writeModel:userModel];
}
@end
......@@ -44,5 +44,7 @@
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
<key>NSCameraUsageDescription</key>
<string>APP需要您的同意,才能访问相机,以便于上传照片信息</string>
</dict>
</plist>
......@@ -14,6 +14,8 @@ pod 'QMUIKit','4.2.0'
pod "CTMediator",'44'
pod 'YYCategories','1.0.4'
pod 'RSA', '1.0.1'
pod WBCloudReflectionFaceVerify_framework, :path=> ./WBCloudReflectionFaceVerify_framework
end
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment