// // IHAirPurifiersApi.swift // Inhealth // // Created by weclouds on 2019/12/9. // Copyright © 2019 weclouds. All rights reserved. // import UIKit import Moya import Alamofire let AirPurifiersProvider = MoyaProvider(plugins: [NetworkLoggerPlugin(verbose: true, responseDataFormatter: JSONResponseDataFormatter),networkActivityPlugin]) enum AirPurifiersApi { //设备列表 case purifier_purifier_list(username:String,client_key:String,os:String,version:String,token:String,hotelId:String?,buildId:String?,roomId:String?,page:Int,count:Int,keywords:String?) //添加编辑设备 case purifier_save_purifier(username:String,client_key:String,os:String,version:String,token:String,purifierId:String?,name:String,deviceId:String,floorId:String,roomId:String,image:String,model:String,gatewayId:String) //设备详情 /purifier/purifier_info case purifier_purifier_info(username:String,client_key:String,os:String,version:String,token:String,purifierId:String) //删除设备 case purifier_del_purifier(username:String,client_key:String,os:String,version:String,token:String,purifierId:String) //开关空气净化器 case purifier_trun_off_device(username:String,client_key:String,os:String,version:String,token:String,purifierId:String,status:String,level:String?) //设备日志信息 case purifier_purifier_report(username:String,client_key:String,os:String,version:String,token:String,purifierId:String,dateType:String,date:String?) } extension AirPurifiersApi: TargetType{ var base :String { return moyaBase } var baseURL: URL { return URL(string:base)! } var path: String { switch self { case .purifier_purifier_list: return "purifier/purifier_list" case .purifier_save_purifier: return "purifier/save_purifier" case .purifier_purifier_info: return "purifier/purifier_info" case .purifier_del_purifier: return "purifier/del_purifier" case .purifier_trun_off_device: return "purifier/trun_off_device" case .purifier_purifier_report: return "purifier/purifier_report" } } var method: Moya.Method { return .post } var sampleData: Data { switch self { case .purifier_purifier_list: return stubbedResponse("purifier_purifier_list") case .purifier_save_purifier: return stubbedResponse("purifier_save_purifier") case .purifier_purifier_info: return stubbedResponse("purifier_purifier_info") case .purifier_del_purifier: return stubbedResponse("purifier_del_purifier") case .purifier_trun_off_device: return stubbedResponse("purifier_trun_off_device") case .purifier_purifier_report: return stubbedResponse("purifier_purifier_report") } } var task: Task { switch self { case .purifier_purifier_list(let username, let client_key, let os, let version,let token,let hotelId, let buildId, let roomId, let page, let type, let keywords): var p = ["username" :username, "client_key":client_key, "os":os, "version":version , "token":token, "page":page, "type":type ] as [String : Any] if let keywords = keywords{ p["keywords"] = keywords } if let hotelId = hotelId { p["hotelId"] = hotelId } if let buildId = buildId { p["buildId"] = buildId } if let roomId = roomId { p["roomId"] = roomId } return .requestParameters(parameters: p, encoding: URLEncoding.default) case .purifier_save_purifier(let username, let client_key, let os, let version,let token, let purifierId, let name, let deviceId, let floorId, let roomId,let image,let model,let gatewayId): var p = ["username" :username, "client_key":client_key, "os":os, "version":version , "token":token, "name":name, "deviceId":deviceId, "floorId":floorId , "roomId":roomId,"image":image, "model":model,"gatewayId":gatewayId] if let purifierId = purifierId{ p["purifierId"] = purifierId } return .requestParameters(parameters: p as [String : Any], encoding: URLEncoding.default) case .purifier_purifier_info(let username, let client_key, let os, let version,let token, let purifierId): let p = ["username" :username, "client_key":client_key, "os":os, "version":version, "token":token, "purifierId":purifierId] return .requestParameters(parameters: p, encoding: URLEncoding.default) case .purifier_del_purifier(let username, let client_key, let os, let version, let token,let purifierId): let p = ["username" :username, "client_key":client_key, "os":os, "version":version, "token":token, "purifierId":purifierId] return .requestParameters(parameters: p, encoding: URLEncoding.default) case .purifier_trun_off_device(let username, let client_key, let os, let version,let token, let purifierId, let status, let level): var p = ["username" :username, "client_key":client_key, "os":os, "version":version, "token":token, "purifierId":purifierId, "status":status,] if let level = level{ p["level"] = level } return .requestParameters(parameters: p, encoding: URLEncoding.default) case .purifier_purifier_report(let username, let client_key, let os, let version,let token, let purifierId, let dateType ,let date): var p = ["username" :username, "client_key":client_key, "os":os, "version":version, "token":token, "purifierId":purifierId, "dateType":dateType] if let date = date { p["date"] = date } return .requestParameters(parameters: p, encoding: URLEncoding.default) } } var headers: [String : String]? { return nil } }