No Description

GroupPhotoRemoteAPI.swift 1.9KB

    // // GroupPhotoRemoteAPI.swift // PaiaiDataKit // // Created by ffib on 2019/1/2. // Copyright © 2019 yb. All rights reserved. // import Foundation import RxSwift struct GroupPhotoRemoteAPI { private var groupId: String init(groupId: String) { self.groupId = groupId } private func parse(_ json: JSON) -> [PhotoItem]? { guard let data = json["data"] as? [String: AnyObject], let photos = data["photos"] as? [[String: AnyObject]] else { return nil } let dataArr = photos.compactMap { $0["photos"] as? [[String: AnyObject]] }.flatMap { $0 } return dataArr.map { PhotoItem(json: $0) } } func loadContent() -> Single<[PhotoItem]> { let resource = ContentResource<[PhotoItem]>(path: .groupPhotoList, parameter: ["user_id": ShareUserId, "group_id": groupId, "current_id": -1], parseJSON: parse) return resource.loadContent() } func uploadPhoto(data: Data) -> Single<[PhotoItem]> { let name = ShareUserId + "\(Date.timeIntervalSinceReferenceDate)" print(name) let file = FileModel(fileName: name, fileData: data) let uploadResource = UploadResource<[PhotoItem]>(path: .photoUpload, parameter: ["user_id": ShareUserId, "group_id": groupId, "current_id": -1, "photo": file], parseJSON: parse) return uploadResource.upload() } }