52 lines
1.4 KiB
Swift
52 lines
1.4 KiB
Swift
//
|
|
// PigeonService.swift
|
|
// QuickLocation
|
|
//
|
|
|
|
import RxSwift
|
|
|
|
struct PigeonService {
|
|
static func send(
|
|
groupKey: String,
|
|
toUsers: [String],
|
|
msgType: Int,
|
|
msg: String,
|
|
bgImg: Int64,
|
|
extra: [String: Any]? = nil
|
|
) -> Observable<ResponseModel> {
|
|
let api = PigeonAPI.send(
|
|
groupKey: groupKey,
|
|
toUsers: toUsers,
|
|
msgType: msgType,
|
|
msg: msg,
|
|
bgImg: bgImg,
|
|
expireTime: 0,
|
|
extra: extra
|
|
).multiTarget
|
|
return APIProvider.request(token: api, handle: false)
|
|
.map(ResponseModel.self)
|
|
.asObservable()
|
|
}
|
|
|
|
static func sent(groupKey: String) -> Observable<PigeonSentResponse> {
|
|
let api = PigeonAPI.sent(groupKey: groupKey).multiTarget
|
|
return APIProvider.request(token: api)
|
|
.map(PigeonSentResponse.self)
|
|
.asObservable()
|
|
}
|
|
|
|
static func inbox() -> Observable<PigeonSentResponse> {
|
|
let api = PigeonAPI.inbox.multiTarget
|
|
return APIProvider.request(token: api, handle: false)
|
|
.map(PigeonSentResponse.self)
|
|
.asObservable()
|
|
}
|
|
|
|
static func burn(messageUUID: String) -> Observable<ResponseModel> {
|
|
let api = PigeonAPI.burn(messageUUID: messageUUID).multiTarget
|
|
return APIProvider.request(token: api, handle: false)
|
|
.map(ResponseModel.self)
|
|
.asObservable()
|
|
}
|
|
}
|