// // IHSensorApi.swift // Inhealth // // Created by weclouds on 2019/12/9. // Copyright © 2019 weclouds. All rights reserved. // import UIKit import Moya import Alamofire //plugins: [NetworkLoggerPlugin(verbose: true, responseDataFormatter: JSONResponseDataFormatter),networkActivityPlugin] let SenSorProvider = MoyaProvider(plugins: [NetworkLoggerPlugin(verbose: true, responseDataFormatter: JSONResponseDataFormatter),networkActivityPlugin]) enum SensorApi { //设备列表 case sensor_sensor_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 sensor_save_sensor(username:String,client_key:String,os:String,version:String,token:String,sensorId:String?,name:String,deviceId:String,floorId:String,roomId:String,image:String,model : String,gatewayId : String) //设备详情 case sensor_sensor_info(username:String,client_key:String,os:String,version:String,token:String,sensorId:String) //删除设备 case sensor_del_sensor(username:String,client_key:String,os:String,version:String,token:String,sensorId:String) //设备历史记录 case sensor_sensor_history(username:String,client_key:String,os:String,version:String,token:String,deviceId:String,date_type:String) //开关探头3秒巡检指令 case sensor_set_status(username:String,client_key:String,os:String,version:String,token:String,clientId:String,id:String,status:String) } extension SensorApi: TargetType{ var base :String { return moyaBase } var baseURL: URL { return URL(string:base)! } var path: String { switch self { case .sensor_sensor_list: return "sensor/sensor_list" case .sensor_save_sensor: return "sensor/save_sensor" case .sensor_sensor_info: return "sensor/sensor_info" case .sensor_del_sensor: return "sensor/del_sensor" case .sensor_sensor_history: return "sensor/sensor_history" case .sensor_set_status: return "sensor/set_status" } } var method: Moya.Method { return .post } var sampleData: Data { switch self { case .sensor_sensor_list: return stubbedResponse("sensor_sensor_list") case .sensor_save_sensor: return stubbedResponse("sensor_save_sensor") case .sensor_sensor_info: return stubbedResponse("sensor_sensor_info") case .sensor_del_sensor: return stubbedResponse("lamp_del_light") case .sensor_sensor_history: return stubbedResponse("sensor_sensor_history") case .sensor_set_status: return stubbedResponse("sensor_set_status") } } var task: Task { switch self { case .sensor_sensor_list(let username, let client_key, let os, let version,let token,let hotelId, let buildId, let roomId, let page, let count,let keywords): var p = ["username" :username, "client_key":client_key, "os":os, "version":version , "token":token, "page":page, "count":count] 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 .sensor_save_sensor(let username, let client_key, let os, let version ,let token, let sensorId, 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 sensorId = sensorId{ p["sensorId"] = sensorId } return .requestParameters(parameters: p as [String : Any], encoding: URLEncoding.default) case .sensor_sensor_info(let username, let client_key, let os, let version ,let token, let sensorId): let p = ["username" :username, "client_key":client_key, "os":os, "version":version, "token":token, "sensorId":sensorId] return .requestParameters(parameters: p, encoding: URLEncoding.default) case .sensor_del_sensor(let username, let client_key, let os, let version ,let token, let sensorId): let p = ["username" :username, "client_key":client_key, "os":os, "version":version, "token":token, "sensorId":sensorId] return .requestParameters(parameters: p, encoding: URLEncoding.default) case .sensor_sensor_history(let username, let client_key, let os, let version ,let token, let deviceId,let date_type): let p = ["username" :username, "client_key":client_key, "os":os, "version":version, "token":token, "deviceId":deviceId, "date_type":date_type] return .requestParameters(parameters: p, encoding: URLEncoding.default) case .sensor_set_status(username: let username, client_key: let client_key, os: let os, version: let version, token: let token, clientId: let clientId, id: let id, status: let status): let p = ["username" :username, "client_key":client_key, "os":os, "version":version, "token":token, "clientId":clientId, "id":id,"status":status] return .requestParameters(parameters: p, encoding: URLEncoding.default) } } var headers: [String : String]? { return nil } }