iOS-study
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

LoginViewModel.swift 1.4KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. //
  2. // LoginViewModel.swift
  3. // iOSFirst
  4. //
  5. // Created by 孙宇峰 on 2023/2/3.
  6. //
  7. import Foundation
  8. import Moya
  9. import RxSwift
  10. import RxCocoa
  11. import RxRelay
  12. import SwiftyJSON
  13. import HandyJSON
  14. class LoginViewModel {
  15. private var bag = DisposeBag()
  16. var userResponse = PublishSubject<LoginUserInfo>()
  17. func loginUser(username:String,password:String) {
  18. NetworkManaer
  19. .request(AccountService.login(username, password, false)) {[weak self] json in
  20. // self?.mTextView.text = String(describing: JSON(json))
  21. self?.userResponse.onNext(json)
  22. let userDefault=UserDefaults.standard
  23. userDefault.setValue(true, forKey: "isLogin")
  24. let bool = userDefault.bool(forKey: "isLogin")
  25. log.info(bool)
  26. // 实例对象转化成NSData
  27. let encodedObject = NSKeyedArchiver.archivedData(withRootObject: json)
  28. // 储存NSData对象
  29. userDefault.set(encodedObject, forKey: "userinfo")
  30. let decodeObject = NSKeyedUnarchiver.unarchiveObject(with: userDefault.object(forKey: "userinfo") as! Data ) as! LoginUserInfo
  31. print(decodeObject.token_value ?? "")
  32. } failure: {code, msg in
  33. log.info("code : \(code!)")
  34. log.info("message : \(msg)")
  35. }
  36. }
  37. }