1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- //
- // JPushAPI.swift
- // O2Platform
- //
- // Created by FancyLou on 2019/11/8.
- // Copyright © 2019 zoneland. All rights reserved.
- //
- import Moya
- // x_jpush_assemble_control 极光推送模块
- enum JPushAPI {
- case pushConfig
- case bindDevice(JPushDevice)
- case unBindDevice(String)
- case unBindDeviceNew(String, String)
-
- }
- // 上下文根
- extension JPushAPI: OOAPIContextCapable {
- var apiContextKey: String {
- return "x_jpush_assemble_control"
- }
- }
- // 是否需要xtoken
- extension JPushAPI: OOAccessTokenAuthorizable {
- var shouldAuthorize: Bool {
- return true
- }
- }
- extension JPushAPI: TargetType {
-
-
- var baseURL: URL {
- let model = O2AuthSDK.shared.o2APIServer(context: .x_jpush_assemble_control)
- let baseURLString = "\(model?.httpProtocol ?? "http")://\(model?.host ?? ""):\(model?.port ?? 80)\(model?.context ?? "")"
- if let trueUrl = O2AuthSDK.shared.bindUnitTransferUrl2Mapping(url: baseURLString) {
- return URL(string: trueUrl)!
- }
- return URL(string: baseURLString)!
- }
-
-
- var path: String {
- switch self {
- case .pushConfig:
- return "/jaxrs/device/config/push/type"
- case .bindDevice(_):
- return "/jaxrs/device/bind"
- case .unBindDevice(let deviceName):
- return "/jaxrs/device/unbind/\(deviceName)/ios"
- case .unBindDeviceNew(let deviceToken, let pushType):
- return "/jaxrs/device/unbind/new/\(deviceToken)/ios/\(pushType)"
- }
- }
-
- var method: Moya.Method {
- switch self {
- case .pushConfig:
- return .get
- case .bindDevice(_):
- return .post
- case .unBindDevice(_):
- return .delete
- case .unBindDeviceNew(_, _):
- return .get
- }
- }
-
- var sampleData: Data {
- return "".data(using: String.Encoding.utf8)!
- }
-
- var task: Task {
- switch self {
- case .pushConfig:
- return .requestPlain
- case .bindDevice(let device):
- return .requestParameters(parameters: device.toJSON()!, encoding: JSONEncoding.default)
- case .unBindDevice:
- return .requestPlain
- case .unBindDeviceNew(_, _):
- return .requestPlain
- }
- }
-
- var headers: [String : String]? {
- return nil
- }
-
- }
|