LoginService.swift 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. //
  2. // LoginService.swift
  3. // JiaPeiManage
  4. //
  5. // Created by Ning.ge on 2023/6/12.
  6. //
  7. import RxSwift
  8. import RxCocoa
  9. import SwiftyJSON
  10. protocol LoginServiceType {
  11. func loginRequest(user_name: String, user_password: String, city:String) -> Single<UserInfo>
  12. func updateRequest(user_name: String, user_password: String,new_password: String, city:String) -> Single<UpdateDataModel>
  13. func dictRequest(dictType:String) -> Single<[CityItem]>
  14. }
  15. final class LoginService: LoginServiceType {
  16. private let networking : LoginNetworking
  17. init(networking: LoginNetworking) {
  18. self.networking = networking
  19. }
  20. //登录
  21. func loginRequest(user_name: String, user_password: String,city:String) -> RxSwift.Single<UserInfo> {
  22. let api = LoginAPI.loginUser(user_name: user_name, user_password: user_password,city: city)
  23. return networking.request(api).map(UserInfo.self)
  24. }
  25. //修改密码
  26. func updateRequest(user_name: String, user_password: String, new_password: String, city: String) -> RxSwift.Single<UpdateDataModel> {
  27. let api = LoginAPI.updateUser(user_name: user_name, user_password: user_password, new_password: new_password, city: city)
  28. return networking.request(api).map(UpdateDataModel.self, isModel: true)
  29. }
  30. //获取地区字典
  31. func dictRequest(dictType: String) -> RxSwift.Single<[CityItem]> {
  32. let api = LoginAPI.dictUser(dictType: dictType)
  33. return networking.request(api).map(CityItem.self)
  34. }
  35. }