12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- //
- // RoomControlApi.swift
- // fiveConstant
- //
- // Created by 李建 on 2023/2/14.
- //
- import Foundation
- import Moya
- import SwiftyUserDefaults
- enum RoomControlApi {
- case power(data: PowerControlReq)
- case fanSpeed(data: FanSpeedControlReq)
- case temp(data: TempControlReq)
- case mode(data: ModeControlReq)
- case timer
- }
-
- extension RoomControlApi: TargetType {
- var baseURL: URL {
- return URL(string: BASE_URL)!
- }
-
- var path: String {
- switch self {
- case .power:
- return "/api/v1/control/power"
- case .mode:
- return "/api/v1/control/mode"
- case .temp:
- return "/api/v1/control/temp"
- case .fanSpeed:
- return "/api/v1/control/speed"
- case .timer:
- return "/api/v1/control/timer"
- }
- }
-
- var method: Moya.Method {
- return .post
- }
-
- var task: Moya.Task {
- switch self {
- case .power(let data):
- return .requestJSONEncodable(data)
- case .mode(let data):
- return .requestJSONEncodable(data)
- case .fanSpeed(let data):
- return .requestJSONEncodable(data)
- case .temp(let data):
- return .requestJSONEncodable(data)
- default:
- return .requestPlain
- }
- }
-
- var headers: [String : String]? {
- return ["Authorization": "Bearer \(Defaults[\.token] ?? "")"]
- }
-
-
- }
|