No Description

CreateGroupViewModel.swift 1.7KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. //
  2. // CreateGroupViewModel.swift
  3. // PaiaiDataKit
  4. //
  5. // Created by FFIB on 2018/12/17.
  6. // Copyright © 2018 FFIB. All rights reserved.
  7. //
  8. import Foundation
  9. import RxSwift
  10. import RxCocoa
  11. public protocol CreateGroupViewModelDelegate: class {
  12. func navigateToGroup(_ item: GroupItem)
  13. }
  14. public final class CreateGroupViewModel {
  15. private var repository: PhotoGroupRepository
  16. public var avatar: String
  17. public var name: String
  18. public var mappingIndex: Int
  19. public weak var delegate: CreateGroupViewModelDelegate?
  20. private let defaultGroupNames = ["苹果", "香蕉", "西兰花",
  21. "杨梅", "胡萝卜", "樱桃",
  22. "玉米", "火龙果", "茄子",
  23. "无花果", "葡萄", "柠檬",
  24. "山竹", "橘子", "木瓜",
  25. "水蜜桃", "菠萝", "草莓",
  26. "西瓜"]
  27. private let disposeBag = DisposeBag()
  28. public init(userInfoViewModel: UserInfoViewModel) {
  29. self.mappingIndex = Int(arc4random_uniform(19))
  30. self.repository = PhotoGroupRepository()
  31. self.avatar = "Group\(mappingIndex)"
  32. self.name = userInfoViewModel.shareUserInfo.value.userName + "的" + defaultGroupNames[mappingIndex] + "群"
  33. }
  34. public func createGroup() {
  35. Toast.showActivity(message: "正在创建群")
  36. return repository.create(group_name: name, avatar: "\(mappingIndex)")
  37. .subscribe(onSuccess: {[unowned self] item in
  38. Toast.show(message: "照片分享群已创建")
  39. self.delegate?.navigateToGroup(item)
  40. }).disposed(by: disposeBag)
  41. }
  42. }