暂无描述

ScanQRViewModel.swift 1.5KB

    // // ScanQRViewModel.swift // PaiAi // // Created by ffib on 2018/12/18. // Copyright © 2018 yb. All rights reserved. // import Foundation import RxSwift public protocol ScanQRViewModelDelegate: class { func navigateToGroupFromScanQR(_ item: GroupItem) } public final class ScanQRViewModel { public weak var delegate: ScanQRViewModelDelegate? var repository: PhotoGroupRepository var disposeBag = DisposeBag() public init() { repository = PhotoGroupRepository() } public func join(code: String) { let strs = code.components(separatedBy: "/") guard strs.count > 2, let params = strs.last else { return } let flag = strs[strs.count - 2] switch flag { case "s": guard let lensman_id = params.components(separatedBy: "=").last, let session_id = params.components(separatedBy: "?").first else { return } repository.join(type: .session, parameter: ["session_id": session_id, "lensman_id": lensman_id]) .subscribe(onSuccess: { item in self.delegate?.navigateToGroupFromScanQR(item) }).disposed(by: disposeBag) case "g": repository.join(type: .group, parameter: ["group_id": params]) .subscribe(onSuccess: { item in self.delegate?.navigateToGroupFromScanQR(item) }).disposed(by: disposeBag) default: return } } }