// // IHLightApi.swift // Inhealth // // Created by weclouds on 2019/12/9. // Copyright © 2019 weclouds. All rights reserved. // import UIKit import Moya import Alamofire let LightProvider = MoyaProvider(plugins: [NetworkLoggerPlugin(verbose: true, responseDataFormatter: JSONResponseDataFormatter), networkActivityPlugin]) enum LightApi { //所有设备列表 case app_dev_list(username:String,client_key:String,os:String,version:String,token:String,hotelId:String?, buildId:String?,floorId:String?,roomId:String?,devType:String,keywords:String?) //设备列表 case lamp_light_list(username:String,client_key:String,os:String,version:String,token:String,hotelId:String?, buildId:String?,roomId:String?,page:Int,count:Int,type:String,keywords:String?) //添加编辑设备 case lamp_save_light(username:String,client_key:String,os:String,version:String,token:String,lightId:String?,name:String,deviceId:String,floorId:String,roomId:String,type:String,image:String,model:String,gatewayId:String) //设备详情 case lamp_light_info(username:String,client_key:String,os:String,version:String,token:String,lightId:String) //删除设备 case lamp_del_light(username:String,client_key:String,os:String,version:String,token:String,lightId:String) //设备给调光调色温 case lamp_lamp_cmd(username:String,client_key:String,os:String,version:String,token:String,lightId:String,light:Int,color:Int,colorR:Int,colorG:Int,colorB:String) //设备日志信息 case lamp_lamp_report(username:String,client_key:String,os:String,version:String,token:String,lightId:String,type:String,dataType:String) //单独调光 case lamp_lamp_light(username:String,client_key:String,os:String,version:String,token:String,lightId:String,light:Int) //单独调色温 case lamp_lamp_color(username:String,client_key:String,os:String,version:String,token:String,lightId:String,color:Int) //单独设置颜色 case lamp_lamp_color_rgb(username:String,client_key:String,os:String,version:String,token:String,lightId:String,colorR:Int,colorG:Int,colorB:Int) //开关灯 case lamp_lamp_turn(username:String,client_key:String,os:String,version:String,token:String,lightId:String,status:String) //用电量统计信息】 case home_energy_consumption(username:String,client_key:String,os:String,version:String,token:String,hotelId:String?,devId:String?,dateType:String,date:String?) //亮灯时间统计信息 case home_lighting_use_schedule(username:String,client_key:String,os:String,version:String,token:String,hotelId:String?,devId:String?,dateType:String,date:String?) //获取学校的所有设备 case school_light_list(username:String,client_key:String,os:String,version:String,token:String,hotelId:String?,buildId:String?,floorId:String?,roomId:String?,page:Int,count:Int,type:String,keywords:String?) //学校--添加编辑设备 case school_save_light(username:String,client_key:String,os:String,version:String,token:String,lightId:String?,name:String,deviceId:String,floorId:String,roomId:String,image:String?,type:String,model:String?,gatewayId:String) //检查固件有没有升级 case network_check_update(username:String,client_key:String,os:String,version:String,token:String,id:String,type:String) //检查固件有没有升级 case network_update_fire(username:String,client_key:String,os:String,version:String,token:String,id:String,type:String,clientId:String) } extension LightApi: TargetType{ var base :String { return moyaBase } var baseURL: URL { return URL(string:base)! } var path: String { switch self { case .lamp_light_list: return "lamp/light_list" case .lamp_save_light: return "lamp/save_light" case .lamp_light_info: return "lamp/light_info" case .lamp_del_light: return "lamp/del_light" case .lamp_lamp_cmd: return "lamp/lamp_cmd" case .lamp_lamp_report: return "lamp/lamp_report" case .lamp_lamp_light: return "lamp/lamp_light" case .lamp_lamp_color: return "lamp/lamp_color" case .lamp_lamp_color_rgb: return "lamp/lamp_color_rgb" case .lamp_lamp_turn: return "lamp/lamp_turn" case .app_dev_list: return "app/dev_list" case .home_energy_consumption: return "home/energy_consumption" case .home_lighting_use_schedule: return "home/lighting_use_schedule" case .school_light_list: return "school/light_list" case .school_save_light: return "school/save_light" case .network_check_update: return "network/check_update" case .network_update_fire: return "network/update_fire" } } var method: Moya.Method { return .post } var sampleData: Data { switch self { case .lamp_light_list: return stubbedResponse("lamp_light_list") case .lamp_save_light: return stubbedResponse("lamp_save_light") case .lamp_light_info: return stubbedResponse("lamp_light_info") case .lamp_del_light: return stubbedResponse("lamp_del_light") case .lamp_lamp_cmd: return stubbedResponse("lamp_lamp_cmd") case .lamp_lamp_report: return stubbedResponse("lamp_lamp_report") case .lamp_lamp_light: return stubbedResponse("lamp_lamp_light") case .lamp_lamp_color: return stubbedResponse("lamp_lamp_color") case .lamp_lamp_color_rgb: return stubbedResponse("lamplamp_color_rgb") case .lamp_lamp_turn: return stubbedResponse("lamp_lamp_turn") case .app_dev_list: return stubbedResponse("app_dev_list") case .home_energy_consumption: return stubbedResponse("home_energy_consumption") case .home_lighting_use_schedule: return stubbedResponse("home_lighting_use_schedule") case .school_light_list: return stubbedResponse("school_light_list") case .school_save_light: return stubbedResponse("school_save_light") case .network_check_update: return stubbedResponse("network_check_update") case .network_update_fire: return stubbedResponse("network_update_fire") } } var task: Task { switch self { case .lamp_light_list(let username, let client_key, let os, let version,let token ,let hotelId, let buildId, let roomId, let page, let count, let type, let keywords): var p = ["username" :username, "client_key":client_key, "os":os, "version":version , "token":token, "page":page, "count":count, "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 .lamp_save_light(let username, let client_key, let os, let version,let token, let lightId, let name, let deviceId, let floorId, let roomId, let type,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, "type":type, "image":image, "model":model,"gatewayId":gatewayId] if let lightId = lightId{ p["lightId"] = lightId } return .requestParameters(parameters: p as [String : Any], encoding: URLEncoding.default) case .lamp_light_info(let username, let client_key, let os, let version,let token, let lightId): let p = ["username" :username, "client_key":client_key, "os":os, "version":version, "token":token, "lightId":lightId] return .requestParameters(parameters: p, encoding: URLEncoding.default) case .lamp_del_light(let username, let client_key, let os, let version,let token, let lightId): let p = ["username" :username, "client_key":client_key, "os":os, "version":version, "token":token, "lightId":lightId] return .requestParameters(parameters: p, encoding: URLEncoding.default) case .lamp_lamp_cmd(let username, let client_key, let os, let version,let token, let lightId, let light, let color, let colorR, let colorG, let colorB): let p = ["username" :username, "client_key":client_key, "os":os, "version":version, "token":token, "lightId":lightId, "light":light, "color":color, "colorR":colorR, "colorG":colorG, "colorB":colorB] as [String : Any] return .requestParameters(parameters: p, encoding: URLEncoding.default) case .lamp_lamp_report(let username, let client_key, let os, let version,let token, let lightId, let type, let dataType): let p = ["username" :username, "client_key":client_key, "os":os, "version":version, "token":token, "lightId":lightId, "type":type, "dataType":dataType] return .requestParameters(parameters: p, encoding: URLEncoding.default) case .lamp_lamp_light(let username, let client_key, let os, let version,let token, let lightId, let light): let p = ["username" :username, "client_key":client_key, "os":os, "version":version, "token":token, "lightId":lightId, "light":light] as [String : Any] return .requestParameters(parameters: p, encoding: URLEncoding.default) case .lamp_lamp_color(let username, let client_key, let os, let version,let token, let lightId, let color): let p = ["username" :username, "client_key":client_key, "os":os, "version":version, "token":token, "lightId":lightId, "color":color] as [String : Any] return .requestParameters(parameters: p, encoding: URLEncoding.default) case .lamp_lamp_color_rgb(let username, let client_key, let os, let version,let token, let lightId, let colorR, let colorG, let colorB): let p = ["username" :username, "client_key":client_key, "os":os, "version":version, "token":token, "lightId":lightId, "colorR":colorR, "colorG":colorG, "colorB":colorB] as [String : Any] return .requestParameters(parameters: p, encoding: URLEncoding.default) case .lamp_lamp_turn(let username, let client_key, let os, let version, let token, let lightId, let status): let p = ["username" :username, "client_key":client_key, "os":os, "version":version, "token":token, "lightId":lightId, "status":status] return .requestParameters(parameters: p, encoding: URLEncoding.default) case .app_dev_list(let username, let client_key, let os, let version, let token, let hotelId, let buildId, let floorId, let roomId, let devType,let keywords): var p = ["username" :username, "client_key":client_key, "os":os, "version":version , "token":token, "devType":devType ] as [String : Any] if let floorId = floorId{ p["floorId"] = floorId } if let hotelId = hotelId { p["hotelId"] = hotelId } if let buildId = buildId { p["buildId"] = buildId } if let roomId = roomId { p["roomId"] = roomId } if let keywords = keywords { p["keywords"] = keywords } return .requestParameters(parameters: p, encoding: URLEncoding.default) case .home_energy_consumption(let username, let client_key, let os, let version, let token, let hotelId, let devId, let dateType, let date): var p = ["username" :username, "client_key":client_key, "os":os, "version":version , "token":token, "dateType":dateType ] if let hotelId = hotelId{ p["hotelId"] = hotelId } if let devId = devId { p["devId"] = devId } if let date = date { p["date"] = date } return .requestParameters(parameters: p, encoding: URLEncoding.default) case .home_lighting_use_schedule(let username, let client_key, let os, let version, let token, let hotelId, let devId, let dateType, let date): var p = ["username" :username, "client_key":client_key, "os":os, "version":version , "token":token, "dateType":dateType ] if let hotelId = hotelId{ p["hotelId"] = hotelId } if let devId = devId { p["devId"] = devId } if let date = date { p["date"] = date } return .requestParameters(parameters: p, encoding: URLEncoding.default) case .school_light_list(username: let username, client_key: let client_key, os: let os, version: let version, token: let token, hotelId: let hotelId, buildId: let buildId, floorId: let floorId, roomId: let roomId, page: let page, count: let count, type: let type, keywords: let keywords): var p = ["username" :username, "client_key":client_key, "os":os, "version":version , "token":token, "page":page, "count":count, "type":type] as [String : Any] if let hotelId = hotelId{ p["hotelId"] = hotelId } if let buildId = buildId{ p["buildId"] = buildId } if let floorId = floorId{ p["floorId"] = floorId } if let roomId = roomId{ p["roomId"] = roomId } if let keywords = keywords{ p["keywords"] = keywords } return .requestParameters(parameters: p, encoding: URLEncoding.default) case .school_save_light(username: let username, client_key: let client_key, os: let os, version: let version, token: let token, lightId: let lightId, name: let name, deviceId: let deviceId, floorId: let floorId, roomId: let roomId, image: let image, type: let type, model: let model,gatewayId: let gatewayId): var p = ["username" :username, "client_key":client_key, "os":os, "version":version , "token":token, "name":name, "deviceId":deviceId, "floorId":floorId, "roomId" : roomId, "type" : type, "gatewayId" : gatewayId] if let lightId = lightId{ p["lightId"] = lightId } if let image = image{ p["image"] = image } if let model = model{ p["model"] = model } return .requestParameters(parameters: p, encoding: URLEncoding.default) case .network_check_update(username: let username, client_key: let client_key, os: let os, version: let version, token: let token, id: let id, type: let type): let p = ["username" :username, "client_key":client_key, "os":os, "version":version , "token":token, "id":id, "type":type] return .requestParameters(parameters: p, encoding: URLEncoding.default) case .network_update_fire(username: let username, client_key: let client_key, os: let os, version: let version, token: let token, id: let id, type: let type, clientId: let clientId): let p = ["username" :username, "client_key":client_key, "os":os, "version":version , "token":token, "id":id, "type":type,"clientId":clientId] return .requestParameters(parameters: p, encoding: URLEncoding.default) } } var headers: [String : String]? { return nil } }