Как проверить состояние, если пользователь уже зарегистрирован по номеру телефона или новый пользователь при регистрации, в парсинге в swift - PullRequest
0 голосов
/ 07 ноября 2019

У меня есть regButton и verifyOtpButtn для успешной регистрации. в regButton я даю номер телефона, для нового пользователя я получу otp, после ввода otp мне нужно нажать verifyOtpButtn, здесь после успешной регистрации я получу Uid в verifyOtpButtn ...

теперь как проверить пользователяновый пользователь или уже зарегистрированный пользователь при регистрации. Я могу зарегистрировать нового пользователя, но не могу проверить, пользователь уже зарегистрирован или нет .., пожалуйста, помогите мне в приведенном ниже коде.

здесь я сохраняю успешный зарегистрированный uid в verifyOtpButtn:

  do{

  let json = try JSONSerialization.jsonObject(with: data, options: .mutableContainers) as! [String: Any]
                print("the json of otppppppppp \(json)")
                DispatchQueue.main.async {

                    if (self.otpTextField.text == String(self.otpField ?? 12)){

                        print("registration successfullllll...")
                        let mobileNum = json["mobile_number"] as! [String : Any]
                        self.regUid = mobileNum["id"] as? String

                        print("otp uid \(String(describing: self.regUid))")

                        DispatchQueue.main.async {
                            KeychainWrapper.standard.set(self.regUid!, forKey: "regUid")
                        }
                        let loginVC = self.storyboard?.instantiateViewController(withIdentifier: "LoginViewController") as! LoginViewController
                        self.present(loginVC, animated: true)
                    }
                }
     }

если я пытаюсь проверить, что пользователь уже зарегистрирован или нет, нажимая regButton, все время я получаю только недавно зарегистрированный идентификатор пользователя, даже для нового пользователя также он говорит, что пользователь существует, почему? я получаю правильное сообщение от бэкэнда, но не могу проверить его во внешнем интерфейсе?

do{

     let userId: String? = KeychainWrapper.standard.string(forKey: "regUid")
                print("reg userid \(userId)")
                if userId != nil{
                    DispatchQueue.main.async {
                        AlertFun.ShowAlert(title: "Title", message: "user exist", in: self)
                    }
                }
                else{
                    let json = try JSONSerialization.jsonObject(with: data, options: .mutableContainers) as! [String: Any]
                    print("the json regggggggggggis \(json)")
                    let phNum = json["mobile_number"] as? Int
                    let status = json["status"] as? String
                    self.otpField = json["otp"] as? Int
                }
   }

Пожалуйста, помогите мне, как проверить, если пользователь уже зарегистрирован или нет при регистрации.

...