No Description

ScanQRViewModel.swift 1.1KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. //
  2. // ScanQRViewModel.swift
  3. // PaiAi
  4. //
  5. // Created by ffib on 2018/12/18.
  6. // Copyright © 2018 yb. All rights reserved.
  7. //
  8. import Foundation
  9. protocol ScanQRViewModelDelegate: class {
  10. func navigateToGroupPage(item: GroupItem)
  11. }
  12. public final class ScanQRViewModel {
  13. weak var delegate: ScanQRViewModelDelegate?
  14. var respository: PhotoGroupRepository
  15. public init() {
  16. respository = PhotoGroupRepository()
  17. }
  18. public func join(code: String) {
  19. let strs = code.components(separatedBy: "/")
  20. guard strs.count > 2, let params = strs.last else { return }
  21. let flag = strs[strs.count - 2]
  22. switch flag {
  23. case "s":
  24. guard let lensman_id = params.components(separatedBy: "=").last,
  25. let session_id = params.components(separatedBy: "?").first else { return }
  26. respository.join(type: .session, parameter: ["session_id": session_id, "lensman_id": lensman_id])
  27. case "g":
  28. respository.join(type: .session, parameter: ["group_id": params])
  29. default:
  30. return
  31. }
  32. }
  33. }