Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import Foundation
- import Alamofire
- class User {
- let defaults = UserDefaults.standard
- var email: String
- var password: String
- var isLoggedIn: Bool
- init(email: String, password: String) {
- self.email = email
- self.password = password
- self.isLoggedIn = false
- }
- // Perform authentication
- func authenticateUser(user: User, completionHandler: @escaping (_ result: Bool) -> ()) {
- makeAuthenticateUserCall(user: user, completionHandler: completionHandler)
- }
- // Perform POST request
- func makeAuthenticateUserCall(user: User, completionHandler: @escaping (Bool) -> ()) {
- let parameters = [
- "email" : user.email,
- "password" : user.password
- ]
- Alamofire.request("http://apistaging.server.com/api/v1/login", method: .post, parameters: parameters, encoding: URLEncoding.httpBody).responseJSON {response in
- switch response.result {
- case .success:
- if let json = response.result.value as? [String: Any],
- let status = json["status"] as? String,
- status == "success" {
- completionHandler(true)
- }
- case .failure:
- completionHandler(false)
- }
- }
- }
- }
- // Код из ViewController:
- @IBAction func loginButtonPressed(_ sender: UIButton) {
- if let email = _email.text {
- if let password = _password.text {
- let user = User(email: email, password: password)
- user.authenticateUser(user: user) {resultBool in
- user.isLoggedIn = resultBool
- }
- if user.isLoggedIn {
- self.performSegue(withIdentifier: "MainPageViewController", sender: nil)
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement