暂无描述

MessageListRemoteAPI.swift 1.7KB

    // // MessageListRemoteAPI.swift // PaiaiDataKit // // Created by ffib on 2018/12/29. // Copyright © 2018 yb. All rights reserved. // import Foundation import RxSwift struct MessageListRemoteAPI { var type: MessageType init(type: MessageType) { self.type = type } private func parse(_ json: JSON) -> NetworkArrayData<MessageListItem>? { guard let data = json["data"] as? [String: AnyObject] else { return nil } return NetworkArrayData<MessageListItem>(json: data, dataField: "messages") } func loadContent(page: Int) -> Single<NetworkArrayData<MessageListItem>> { let resource = ContentResource<NetworkArrayData<MessageListItem>>(path: type.model.path, parameter: ["user_id": ShareUserId, "page": page], parseJSON: parse) return resource.loadContent() } func remove(pk: Int) -> Completable { let removeResource = StatusResource(path: type.model.removePath, parameter: ["user_id": ShareUserId, "pk": pk]) return removeResource.getStatus() } func removeAll() -> Completable { let removeResource = StatusResource(path: type.model.removePath, parameter: ["user_id": ShareUserId, "all": true]) return removeResource.getStatus() } func readed() -> Completable { let readedResource = StatusResource(path: type.model.readPath, parameter: ["user_id": ShareUserId]) return readedResource.getStatus() } }