No Description

UserInfoRepository.swift 1.0KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. //
  2. // UserInfoRepository.swift
  3. // PaiAi
  4. //
  5. // Created by FFIB on 16/4/1.
  6. // Copyright © 2016年 FFIB. All rights reserved.
  7. //
  8. import Foundation
  9. import RxSwift
  10. final class UserInfoRepository {
  11. fileprivate var userInfoStore: UserInfoStore
  12. fileprivate var guestRemoteAPI: UserInfoRemoteAPI
  13. fileprivate var wxRemoteAPI: UserInfoRemoteAPI
  14. init(userInfoStore: UserInfoStore,
  15. guestRemoteAPI: UserInfoRemoteAPI,
  16. wxRemoteAPI: UserInfoRemoteAPI) {
  17. self.userInfoStore = userInfoStore
  18. self.guestRemoteAPI = guestRemoteAPI
  19. self.wxRemoteAPI = wxRemoteAPI
  20. }
  21. func guestLogin() -> Single<UserInfo> {
  22. return guestRemoteAPI.login().do(onSuccess: { (userInfo) in
  23. self.userInfoStore.save(userInfo)
  24. })
  25. }
  26. func wxLogin() -> Single<UserInfo> {
  27. return wxRemoteAPI.login().do(onSuccess: { (userInfo) in
  28. self.userInfoStore.save(userInfo)
  29. })
  30. }
  31. func readUserInfo() -> UserInfo {
  32. return userInfoStore.load()
  33. }
  34. }