jsdw_ios/QuickLocation/API/SystemAPI.swift

99 lines
2.5 KiB
Swift

//
// SystemAPI.swift
// SHECommunity
//
// Created by on 2024/11/27.
//
import Moya
internal import Alamofire
/// AppAPI
enum SystemAPI {
///
case userConfig
///
/// - Parameters:
/// - phone:
case sendCode(phone: String)
///
case wechatService
/// SOS
case sos(enable: Bool)
///
/// - Parameters:
/// - op_type: plate_num
/// - phone
case search(op_type: String, number: String)
///
/// - Parameters:
/// - phone
case phoneArea(phone: String)
}
extension SystemAPI: MultiTargetProtocol {
var path: String {
switch self {
case .userConfig:
return "api/user/config"
case .sendCode:
return "api/user/sms/code"
case .wechatService:
return "api/weixin/service"
case .sos:
return "mapi/sos/operate"
case .search:
return "mapi/car/search"
case .phoneArea:
return "mapi/phonearea"
}
}
var method: Moya.Method {
switch self {
case .userConfig, .wechatService, .phoneArea:
return .get
default:
return .post
}
}
var task: Moya.Task {
switch self {
case .userConfig:
return .requestParameters(parameters: parameters, encoding: URLEncoding())
case let .sendCode(phone):
var params = Parameters()
params["phone"] = phone
return .requestParameters(parameters: params, encoding: JSONEncoding())
case .wechatService:
return .requestParameters(parameters: parameters, encoding: URLEncoding())
case let .sos(enable):
var params = Parameters()
params["enable"] = enable
return .requestParameters(parameters: params, encoding: JSONEncoding())
case let .search(op_type, number):
var params = Parameters()
params["op_type"] = op_type
params["number"] = number
return .requestParameters(parameters: params, encoding: JSONEncoding())
case let .phoneArea(phone):
var params = Parameters()
params["phone"] = phone
return .requestParameters(parameters: params, encoding: URLEncoding())
}
}
}