|
//
// 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)
}
}
|