jsdw_ios/QuickLocation/API/DrivingAPI.swift

65 lines
1.5 KiB
Swift

//
// DrivingAPI.swift
// QuickLocation
//
// Created by on 2026/6/30.
//
import Moya
import SwiftyUserDefaults
internal import Alamofire
/// API
enum DrivingAPI {
///
case drivingEvents(user_id: String, start_time: String, end_time: String)
///
case playback(user_id: String, date: String)
}
extension DrivingAPI: MultiTargetProtocol {
var path: String {
switch self {
case .drivingEvents:
return "mapi/driving-events/stats"
case .playback:
return "mapi/trips/playback"
}
}
var method: Moya.Method {
switch self {
case .drivingEvents, .playback:
return .get
default:
return .post
}
}
var suppressResponseLog: Bool {
switch self {
case .playback: return true
default: return false
}
}
var task: Moya.Task {
switch self {
case let .drivingEvents(user_id, start_time, end_time):
var params = Parameters()
params["user_id"] = user_id
params["start_time"] = start_time
params["end_time"] = end_time
return .requestParameters(parameters: params, encoding: URLEncoding())
case let .playback(user_id, date):
var params = Parameters()
params["user_id"] = user_id
params["date"] = date
params["simplify"] = true
return .requestParameters(parameters: params, encoding: URLEncoding())
}
}
}