1234567891011121314151617181920212223242526272829303132333435363738394041 |
- import Foundation
- import RxSwift
- final class UserInfoRepository {
- fileprivate var userInfoStore: UserInfoStore
- fileprivate var guestRemoteAPI: UserInfoRemoteAPI
- fileprivate var wxRemoteAPI: UserInfoRemoteAPI
-
- init(userInfoStore: UserInfoStore,
- guestRemoteAPI: UserInfoRemoteAPI,
- wxRemoteAPI: UserInfoRemoteAPI) {
- self.userInfoStore = userInfoStore
- self.guestRemoteAPI = guestRemoteAPI
- self.wxRemoteAPI = wxRemoteAPI
- }
-
- func guestLogin() -> Single<UserInfo> {
- return guestRemoteAPI.login().do(onSuccess: { (userInfo) in
- self.userInfoStore.save(userInfo)
- })
- }
-
- func wxLogin() -> Single<UserInfo> {
- return wxRemoteAPI.login().do(onSuccess: { (userInfo) in
- self.userInfoStore.save(userInfo)
- })
- }
-
- func readUserInfo() -> UserInfo {
- return userInfoStore.load()
- }
- }
|