fix `Finger/FaceID login
parent
0d05073e71
commit
0b4a7090ae
@ -1,226 +1,462 @@
|
||||
|
||||
import { Component, OnInit } from "@angular/core";
|
||||
|
||||
import { ElementRef } from "@angular/core";
|
||||
import { NavController } from "@ionic/angular";
|
||||
|
||||
import { NavController, Platform } from "@ionic/angular";
|
||||
|
||||
import { TranslatorService } from "src/app/hmg-common/services/translator/translator.service";
|
||||
|
||||
import { CommonService } from "src/app/hmg-common/services/common/common.service";
|
||||
|
||||
import { SharedDataService } from "src/app/hmg-common/services/shared-data-service/shared-data.service";
|
||||
|
||||
import { SMSCheckRequest } from "src/app/hmg-common/services/authentication/models/smscheck.request";
|
||||
|
||||
import { LoginModel } from "../models/LoginModel";
|
||||
|
||||
import { AuthenticationService } from "src/app/hmg-common/services/authentication/authentication.service";
|
||||
|
||||
import { SMSCheckResponse } from "src/app/hmg-common/services/authentication/models/smscheck.response";
|
||||
|
||||
import { Password } from "../models/password";
|
||||
|
||||
import { GetLoginInfoRequest } from 'src/app/hmg-common/services/authentication/models/get-login-info.request';
|
||||
|
||||
|
||||
|
||||
@Component({
|
||||
|
||||
selector: "app-sms-page",
|
||||
|
||||
templateUrl: "./sms-page.page.html",
|
||||
|
||||
styleUrls: ["./sms-page.page.scss"]
|
||||
|
||||
})
|
||||
|
||||
export class SmsPageComponent implements OnInit {
|
||||
|
||||
public static LOGIN_DATA = "LOGIN_DATA";
|
||||
|
||||
Channel: number = 0;
|
||||
|
||||
activationCode: string;
|
||||
|
||||
P_SESSION_ID: number;
|
||||
|
||||
P_USER_NAME: string;
|
||||
|
||||
timeInSeconds: any;
|
||||
|
||||
time: any;
|
||||
|
||||
runTimer: any;
|
||||
|
||||
hasStarted: any;
|
||||
|
||||
hasFinished: any;
|
||||
|
||||
remainingTime: any;
|
||||
|
||||
displayTime: any;
|
||||
|
||||
loginTokenID: string;
|
||||
|
||||
public isForgetPwd: boolean = false;
|
||||
|
||||
public isExpiredPwd: boolean = false;
|
||||
|
||||
public count: number = 0;
|
||||
|
||||
private loginData = new LoginModel();
|
||||
|
||||
public deviceToken:any;
|
||||
|
||||
public loginTypeData:any;
|
||||
|
||||
constructor(
|
||||
|
||||
public navCtrl: NavController,
|
||||
|
||||
public translate: TranslatorService,
|
||||
|
||||
public common: CommonService,
|
||||
|
||||
private elementRef: ElementRef,
|
||||
|
||||
public authService: AuthenticationService,
|
||||
public sharedData: SharedDataService
|
||||
|
||||
public sharedData: SharedDataService,
|
||||
|
||||
public platform: Platform,
|
||||
|
||||
|
||||
|
||||
) {}
|
||||
|
||||
|
||||
|
||||
ngOnInit() {
|
||||
|
||||
this.count = 0;
|
||||
|
||||
this.initTimer();
|
||||
|
||||
this.startTimer();
|
||||
|
||||
this.isForgetPwd =
|
||||
|
||||
this.sharedData.getSharedData(Password.IS_FORGET_PSW) || false;
|
||||
|
||||
this.isExpiredPwd =
|
||||
|
||||
this.sharedData.getSharedData(Password.IS_EXPIRED_PSW) || false;
|
||||
|
||||
this.loginData= this.sharedData.getSharedData(AuthenticationService.LOGIN_DATA, false);
|
||||
|
||||
console.log("loginData : "+ this.loginData);
|
||||
|
||||
this.deviceToken= this.common.sharedService.getSharedData(AuthenticationService.DEVICE_TOKEN, false);
|
||||
|
||||
if(this.deviceToken == undefined){
|
||||
|
||||
this.deviceToken = localStorage.getItem("deviceToken");
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
console.log("deviceToken :"+this.deviceToken);
|
||||
|
||||
this.loginTypeData= this.common.sharedService.getSharedData(SMSCheckRequest.SHARED_DATA, false);
|
||||
|
||||
console.log("loginType :"+this.loginTypeData.loginType);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
initTimer() {
|
||||
|
||||
// Pomodoro is usually for 25 minutes
|
||||
|
||||
if (!this.timeInSeconds) {
|
||||
|
||||
this.timeInSeconds = 600;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
this.time = this.timeInSeconds;
|
||||
|
||||
this.runTimer = false;
|
||||
|
||||
this.hasStarted = false;
|
||||
|
||||
this.hasFinished = false;
|
||||
|
||||
this.remainingTime = this.timeInSeconds;
|
||||
|
||||
|
||||
|
||||
this.displayTime = this.common.getSecondsAsDigitalClock(this.remainingTime);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
startTimer() {
|
||||
|
||||
this.runTimer = true;
|
||||
|
||||
this.hasStarted = true;
|
||||
|
||||
this.timerTick();
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
pauseTimer() {
|
||||
|
||||
this.runTimer = false;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
resumeTimer() {
|
||||
|
||||
this.startTimer();
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
timerTick() {
|
||||
|
||||
setTimeout(() => {
|
||||
|
||||
if (!this.runTimer) {
|
||||
|
||||
return;
|
||||
|
||||
}
|
||||
|
||||
this.remainingTime--;
|
||||
|
||||
this.displayTime = this.common.getSecondsAsDigitalClock(
|
||||
|
||||
this.remainingTime
|
||||
|
||||
);
|
||||
|
||||
if (this.remainingTime > 0) {
|
||||
|
||||
this.timerTick();
|
||||
|
||||
} else {
|
||||
|
||||
this.hasFinished = true;
|
||||
|
||||
this.pauseTimer();
|
||||
|
||||
this.navCtrl.pop();
|
||||
|
||||
}
|
||||
|
||||
}, 1000);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
ionViewWillLeave() {
|
||||
|
||||
this.pauseTimer();
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
checkOTPLength(){
|
||||
|
||||
console.log(this.activationCode.length);
|
||||
|
||||
if(this.activationCode.length==4){
|
||||
|
||||
this.checkVerificationCode();
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
checkVerificationCode() {
|
||||
|
||||
if (this.count < 3) {
|
||||
|
||||
if (
|
||||
|
||||
this.activationCode == undefined ||
|
||||
|
||||
this.activationCode == null ||
|
||||
|
||||
this.activationCode == ""
|
||||
|
||||
) {
|
||||
|
||||
// this.common.showAlert(this.translate.translate('verificationcode.emptyCode'));
|
||||
|
||||
} else {
|
||||
|
||||
this.count = this.count + 1;
|
||||
|
||||
if (this.isForgetPwd || this.isExpiredPwd) {
|
||||
|
||||
this.checkForgetPwdSMS();
|
||||
|
||||
} else {
|
||||
|
||||
this.checkSMS();
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
} else {
|
||||
|
||||
let msg: string = this.translate.trPK("general", "noOfTriesLogin");
|
||||
|
||||
this.common.JustAlertDialog(this.translate.trPK("general", "ok"), msg);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
public checkSMS() {
|
||||
|
||||
// alert("checkSMS in page")
|
||||
|
||||
const data = this.sharedData.getSharedData(AuthenticationService.LOGIN_DATA, false);
|
||||
|
||||
const request = new SMSCheckRequest();
|
||||
|
||||
|
||||
|
||||
request.LogInTokenID = data.LogInTokenID;
|
||||
|
||||
request.activationCode = this.activationCode;
|
||||
|
||||
request.P_USER_NAME = data.P_USER_NAME;
|
||||
|
||||
request.MobileNumber = data.MobileNumber;
|
||||
|
||||
|
||||
|
||||
this.authService
|
||||
|
||||
.checkSMS(request, () => {}, this.translate.trPK("general", "ok"))
|
||||
|
||||
.subscribe((result: SMSCheckResponse) => {
|
||||
|
||||
console.log(result);
|
||||
|
||||
if (this.common.validResponse(result)) {
|
||||
|
||||
AuthenticationService.servicePrivilage=result.Privilege_List;
|
||||
|
||||
this.authService.setAuthenticatedUser(result).subscribe(() => {
|
||||
|
||||
//call insert Mobile Login
|
||||
this.insertMobileLogin();
|
||||
|
||||
|
||||
|
||||
if (this.platform.is("mobile")) {
|
||||
|
||||
this.insertMobileLogin();
|
||||
|
||||
}
|
||||
|
||||
this.common.openHome();
|
||||
|
||||
|
||||
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
public insertMobileLogin(){
|
||||
|
||||
// alert("insertMobileLogin");
|
||||
|
||||
let request = new GetLoginInfoRequest();
|
||||
|
||||
this.authService.setPublicFields(request);
|
||||
|
||||
request.MobileNumber = this.loginData.MobileNumber;
|
||||
|
||||
request.P_USER_NAME=this.loginData.P_USER_NAME;
|
||||
|
||||
request.UserName=this.loginData.P_USER_NAME;
|
||||
|
||||
request.LogInTokenID =this.loginData.LogInTokenID;
|
||||
|
||||
request.CompanyID =1;//CompanyID
|
||||
|
||||
request.DeviceType= this.common.getDeviceType();
|
||||
|
||||
request.DeviceToken=this.deviceToken;
|
||||
|
||||
request.LoginType=this.loginTypeData.loginType;
|
||||
|
||||
this.authService
|
||||
|
||||
.insertMobileLoginInfo(
|
||||
|
||||
request,
|
||||
|
||||
() => { },
|
||||
|
||||
this.translate.trPK("general", "ok")
|
||||
|
||||
)
|
||||
|
||||
.subscribe((result: any) => {
|
||||
|
||||
|
||||
|
||||
console.log("successful insertMobileLogin" );
|
||||
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
public checkForgetPwdSMS() {
|
||||
|
||||
const data = this.sharedData.getSharedData(AuthenticationService.LOGIN_DATA, false);
|
||||
|
||||
const request = new SMSCheckRequest();
|
||||
|
||||
|
||||
|
||||
request.LogInTokenID = data.LogInTokenID;
|
||||
|
||||
request.activationCode = this.activationCode;
|
||||
|
||||
request.P_USER_NAME = data.P_USER_NAME;
|
||||
|
||||
console.log(data.LogInTokenID);
|
||||
|
||||
console.log(data.P_USER_NAME);
|
||||
|
||||
|
||||
|
||||
this.authService
|
||||
|
||||
.checkForgetSMS(request, () => {}, this.translate.trPK("general", "ok"))
|
||||
|
||||
.subscribe((result: SMSCheckResponse) => {
|
||||
|
||||
console.log(result);
|
||||
|
||||
if (this.common.validResponse(result)) {
|
||||
|
||||
console.log(result);
|
||||
|
||||
if (this.isForgetPwd) {
|
||||
|
||||
this.common.openForgotPassword();
|
||||
|
||||
}
|
||||
|
||||
if(this.isExpiredPwd) {
|
||||
|
||||
this.sharedData.setSharedData(true,Password.IS_EXPIRED_PSW);
|
||||
|
||||
this.common.openChangePassword();
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
Loading…
Reference in New Issue