//
|
// MineInfoViewModel.swift
|
// OKProject
|
//
|
// Created by alvin_y on 2020/6/13.
|
// Copyright © 2020 yangwang. All rights reserved.
|
//
|
|
import UIKit
|
import RxSwift
|
import RxCocoa
|
class MineInfoViewModel: YYViewModel {
|
|
/// 头像
|
let avatar = BehaviorRelay<String?>(value: nil)
|
|
/// 生日
|
let birthday = BehaviorRelay<String?>(value: nil)
|
|
/// 昵称
|
let nickname = BehaviorRelay<String?>(value: nil)
|
|
/// 性别
|
let sex = BehaviorRelay<Int?>(value: nil)
|
|
/// 更新信息
|
let updateInfoSubject = PublishSubject<RequestStatus>()
|
|
/// 获取用户详情
|
func queryUserInfo() {
|
requestSubject.onNext(.loading)
|
APIManager.shared.provider.rx
|
.request(.queryUserInfo)
|
.map(YYModel<UserInfoModel>.self)
|
.validate()
|
.subscribe(onSuccess: { [unowned self] (model) in
|
guard let data = model.data else{return}
|
app.userInfo.save(model: data)
|
self.requestSubject.onNext(.success(data))
|
}) {[unowned self] (error) in
|
self.requestSubject.onNext(.error(error))
|
}
|
.disposed(by: disposeBag)
|
}
|
|
/// 更新用户信息
|
func updateInfo() {
|
updateInfoSubject.onNext(.loading)
|
APIManager.shared.provider.rx
|
.request(.updateInfo(avatar: avatar.value, birthday: birthday.value, nickname: nickname.value, sex: sex.value))
|
.map(YYModel<UserInfoModel>.self)
|
.validate()
|
.subscribe(onSuccess: { [unowned self] (model) in
|
guard let data = model.data else{return}
|
self.queryUserInfo()
|
self.updateInfoSubject.onNext(.success(data))
|
}) {[unowned self] (error) in
|
self.updateInfoSubject.onNext(.error(error))
|
}
|
.disposed(by: disposeBag)
|
}
|
}
|