// // CreateGroupViewModel.swift // PaiaiDataKit // // Created by FFIB on 2018/12/17. // Copyright © 2018 FFIB. All rights reserved. // import Foundation import RxSwift import RxCocoa public protocol CreateGroupViewModelDelegate: class { func navigateToGroup(_ item: GroupItem) } public final class CreateGroupViewModel { private var repository: PhotoGroupRepository public var avatar: String public var name: String public var mappingIndex: Int public weak var delegate: CreateGroupViewModelDelegate? private let defaultGroupNames = ["苹果", "香蕉", "西兰花", "杨梅", "胡萝卜", "樱桃", "玉米", "火龙果", "茄子", "无花果", "葡萄", "柠檬", "山竹", "橘子", "木瓜", "水蜜桃", "菠萝", "草莓", "西瓜"] private let disposeBag = DisposeBag() public init(userInfoViewModel: UserInfoViewModel) { self.mappingIndex = Int(arc4random_uniform(19)) self.repository = PhotoGroupRepository() self.avatar = "Group\(mappingIndex)" self.name = userInfoViewModel.shareUserInfo.value.userName + "的" + defaultGroupNames[mappingIndex] + "群" } public func createGroup() { Toast.showActivity(message: "正在创建群") return repository.create(group_name: name, avatar: "\(mappingIndex)") .subscribe(onSuccess: {[unowned self] item in Toast.show(message: "照片分享群已创建") self.delegate?.navigateToGroup(item) }).disposed(by: disposeBag) } }