暫無描述

GroupDetailViewModel.swift 3.0KB

    // // GroupDetailViewModel.swift // PaiAi // // Created by zhengjianfei on 2017/1/3. // Copyright © 2017年 FFIB. All rights reserved. // import Foundation import RxSwift protocol GroupDetailViewModelDelegate { } public typealias GroupDetailSource = GroupDetailRepositorable & Gettable & GroupDetailUpdatable & Quittable public class GroupDetailViewModel<T: GroupDetailSource> { fileprivate let respository: T public init(respository: T) { self.respository = respository } public var groupDetailContents: Observable<T.Content> { return respository.content } public func toggle(isLock: Bool) -> Observable<Void> { return respository.update(data: isLock) } public func reload() { respository.loadContent(isRefresh: true) } public func quit() -> Observable<Void> { return respository.quit() } } //public struct GroupDetailViewModel { // public var groupDetailData = Variable<GroupDetailModel>(GroupDetailModel()) // // public init() { // // } // // public func fetchGroupDetailData(groupId: String) { // let params = ["group_id": groupId, // "user_id": SharedUserInfo.userId] as [String: AnyObject] // let request = GroupDetailNetworkQequest(param: params, path: .groupDetail) // networkApi.post(request: request) { (res) in // self.groupDetailData.value = res //// FFToastView.hideLoadingToast() // } // } // // public func quitQroup(success: @escaping () -> Void) { //// if groupDetailData.value.group?.admin_id == SharedUserInfo.userId { //// FFToastView.showToast(inView: UIApplication.shared.keyWindow!, withText: "管理员不能退出") //// return //// } else { // let params = ["group_id": groupDetailData.value.group_id, // "user_id": SharedUserInfo.userId] as [String: AnyObject] // let request = StatusNetworkRequest(param: params, path: .groupQuit) // networkApi.post(request: request, handler: { (res) in // guard res.status == 200 else { // return // } // success() // PhotoLocalStorage.instance.removeLocalData(group_id: self.groupDetailData.value.group_id) // }) //// } // } // // public func postLock(isLock: Bool) { // let url = isLock ? Interfaces.groupLock : Interfaces.groupUnlock //// self.groupDetailData.value.group?.group_lock = isLock // let params = ["group_id": groupDetailData.value.group_id, // "user_id": SharedUserInfo.userId] as [String: AnyObject] // let request = StatusNetworkRequest(param: params, path: url) // networkApi.post(request: request) { (res) in // guard res.status == 200 else { // return // } //// FFToastView.showToast(inView: UIApplication.shared.keyWindow!, withText: res.message) // } // } //}