65 lines
1.5 KiB
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())
|
|
}
|
|
}
|
|
}
|