Proyectos de Subversion Iphone Microlearning - Inconcert

Rev

Rev 18 | Rev 20 | Ir a la última revisión | Mostrar el archivo completo | | | Autoría | Ultima modificación | Ver Log |

Rev 18 Rev 19
Línea 25... Línea 25...
25
    @State private var keyboardHeight : CGFloat = 0
25
    @State private var keyboardHeight : CGFloat = 0
Línea 26... Línea 26...
26
    
26
    
Línea 27... Línea 27...
27
    private var appData = AppData.sharedInstance
27
    private var appData = AppData.sharedInstance
28
 
28
 
29
    
29
    
30
    @State private var email: String = "" {
30
    @State private var email: String = "efrain.yanez@leaderslinked.com " {
31
        didSet {
31
        didSet {
32
            if email.count > 250 {
32
            if email.count > 250 {
Línea 39... Línea 39...
39
    @State private var isProcessing : Bool = false
39
    @State private var isProcessing : Bool = false
Línea 40... Línea 40...
40
    
40
    
41
    @State private var isValidEmail : Bool = true
41
    @State private var isValidEmail : Bool = true
Línea 42... Línea 42...
42
    @State private var isEditingEmail : Bool = false
42
    @State private var isEditingEmail : Bool = false
43
    
43
    
44
    @State private var password: String = ""  {
44
    @State private var password: String = "Cesa2020$ "  {
45
        didSet {
45
        didSet {
46
            if password.count > 25 {
46
            if password.count > 25 {
47
                password = String(password.prefix(25))
47
                password = String(password.prefix(25))
Línea 203... Línea 203...
203
            return
203
            return
204
        }
204
        }
Línea 205... Línea 205...
205
        
205
        
-
 
206
        
-
 
207
        let device_uuid = appData.deviceUuid
206
        
208
        let emailTrimming = email.trimmingCharacters(in: .whitespaces)
207
        let device_uuid = appData.deviceUuid
209
        let passwordTrimming = password.trimmingCharacters(in: .whitespaces)
208
 
210
        
209
        //print("signin")
211
        //print("signin")
210
        //print(" aes  = \(appData.deviceAes) " )
212
        //print(" aes  = \(appData.deviceAes) " )
Línea 241... Línea 243...
241
            return
243
            return
242
        }
244
        }
Línea 243... Línea 245...
243
        
245
        
Línea 244... Línea 246...
244
        self.showProgressView = true;
246
        self.showProgressView = true;
245
 
247
 
246
        let emailData = email.data(using: .utf8)!
248
        let emailData = emailTrimming.data(using: .utf8)!
Línea 247... Línea 249...
247
        let emailCipherData = RNCryptor.encrypt(data: emailData, withPassword: appData.deviceAes)
249
        let emailCipherData = RNCryptor.encrypt(data: emailData, withPassword: appData.deviceAes)
248
        let emailEncrypted = emailCipherData.base64EncodedString()
250
        let emailEncrypted = emailCipherData.base64EncodedString()
249
                  
251
                  
Línea 250... Línea 252...
250
        let passwordData = password.data(using: .utf8)!
252
        let passwordData = passwordTrimming.data(using: .utf8)!
Línea 368... Línea 370...
368
        //print("validate - password : \(password)")
370
        //print("validate - password : \(password)")
Línea 369... Línea 371...
369
        
371
        
370
 
372
 
371
        if email.isEmpty {
373
        if email.isEmpty {
372
            self.isValidEmail = false
374
            self.isValidEmail = false
373
        } else  if !checkEmail(email: email) {
375
        } else  if !Validator.checkEmail(email: email) {
374
            self.isValidEmail = false
376
            self.isValidEmail = false
375
        } else {
377
        } else {
Línea 376... Línea 378...
376
            self.isValidEmail = true
378
            self.isValidEmail = true
377
        }
379
        }
378
        
380
        
379
     
381
     
Línea 380... Línea 382...
380
        
382
        
381
        if password.isEmpty {
383
        if password.isEmpty {
382
            self.isValidPassword = false
384
            self.isValidPassword = false
Línea 383... Línea 385...
383
        } else if(!checkPassword(password: password)) {
385
        } else if(!Validator.checkPassword(password: password)) {
384
            self.isValidPassword = false
386
            self.isValidPassword = false
Línea 385... Línea -...
385
           
-
 
386
        } else {
-
 
387
            self.isValidPassword = true
387
           
388
        }
-
 
389
        
-
 
390
        return  self.isValidEmail &&  self.isValidPassword
-
 
391
    }
-
 
392
    
-
 
393
 
-
 
394
    private func checkEmail(email : String) -> Bool {
-
 
395
        let regex = #"^[a-zA-Z0-9_\-\.~]{2,}@[a-zA-Z0-9_\-\.~]{2,}\.[a-zA-Z]{2,}$"#
-
 
396
 
-
 
397
        let predicate = NSPredicate(format: "SELF MATCHES %@", regex)
-
 
398
        return predicate.evaluate(with: email) ? true : false;
-
 
399
    }
-
 
400
 
-
 
401
    private func checkPassword(password : String) -> Bool {
-
 
402
        let regexOld = #"^(?=.*\d+)(?=.*[a-z])(?=.*[A-Z])[0-9a-zA-Z]{6,16}$"#
-
 
403
        let regexNew = #"^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[\#\?\!\@\$\^\%\*\-]).{6,16}$"#
-
 
404
 
-
 
405
        let predicateNew = NSPredicate(format: "SELF MATCHES %@", regexNew)
-
 
Línea 406... Línea 388...
406
        let predicateOld = NSPredicate(format: "SELF MATCHES %@", regexOld)
388
        } else {