// // IHGatewayApi.swift // Inhealth // // Created by weclouds on 2020/4/7. // Copyright © 2020 weclouds. All rights reserved. // import UIKit import Moya import Alamofire //import RxSwift //import RxCocoa let GatewayProvider = MoyaProvider(plugins: [NetworkLoggerPlugin(verbose: true, responseDataFormatter: JSONResponseDataFormatter), networkActivityPlugin]) enum GatewayApi { case network_getlist(username:String,client_key:String,os:String,version:String,token:String,page:String, count:String,keywords:String?,buildid:String) case network_addRoomNet(username:String,client_key:String,os:String,version:String,token:String,id:String?, gatewayId:String,network_name:String,floorId:String,roomId:String,inspecTime:String?) case network_delRoomNet(username:String,client_key:String,os:String,version:String,token:String,id:String) case network_getLamp(username:String,client_key:String,os:String,version:String,token:String,floorId:String,roomId:String,gatewayid:String,bindLamp:String) case network_inspec_time_nav(username:String,client_key:String,os:String,version:String,token:String) } extension GatewayApi: TargetType{ var base :String { return moyaBase } var baseURL: URL { return URL(string:base)! } var path: String { switch self { case .network_getlist: return "network/getlist" case .network_addRoomNet: return "network/addRoomNet" case .network_delRoomNet: return "network/delRoomNet" case .network_getLamp: return "network/getLamp" case .network_inspec_time_nav: return "network/inspec_time_nav" } } var method: Moya.Method { return .post } var sampleData: Data { switch self { // return stubbedResponse("common_get_code_image") case .network_getlist: return stubbedResponse("network_getlist") case .network_addRoomNet: return stubbedResponse("network_addRoomNet") case .network_delRoomNet: return stubbedResponse("network_delRoomNet") case .network_getLamp: return stubbedResponse("network_getLamp") case .network_inspec_time_nav: return stubbedResponse("network_inspec_time_nav") } } var task: Task { switch self { case .network_getlist(let username, let client_key, let os, let version, let token, let page, let count, let keywords, let buildid): var p = ["username" :username, "client_key":client_key, "os":os, "version":version , "token":token, "page":page, "count":count, "buildId":buildid] if let keywords = keywords{ p["keywords"] = keywords } return .requestParameters(parameters: p, encoding: URLEncoding.default) case .network_addRoomNet(let username, let client_key, let os, let version, let token, let id, let gatewayId, let network_name, let floorId, let roomId, let inspecTime): var p = ["username" :username, "client_key":client_key, "os":os, "version":version , "token":token, "gatewayId":gatewayId, "network_name":network_name, "floorId":floorId, "roomId":roomId] if let id = id{ p["id"] = id } if let inspecTime = inspecTime { p["inspecTime"] = inspecTime } return .requestParameters(parameters: p, encoding: URLEncoding.default) case .network_delRoomNet(let username, let client_key, let os, let version, let token, let id): let p = ["username" :username, "client_key":client_key, "os":os, "version":version , "token":token, "id":id ] return .requestParameters(parameters: p, encoding: URLEncoding.default) case .network_getLamp(let username, let client_key, let os, let version, let token, let floorId, let roomId, let gatewayid, let bindLamp): let p = ["username" :username, "client_key":client_key, "os":os, "version":version , "token":token, "floorId":floorId , "roomId":roomId, "gatewayId":gatewayid, "bindLamp":bindLamp] return .requestParameters(parameters: p, encoding: URLEncoding.default) case .network_inspec_time_nav(let username, let client_key, let os, let version, let token): let p = ["username" :username, "client_key":client_key, "os":os, "version":version , "token":token] return .requestParameters(parameters: p, encoding: URLEncoding.default) } } var headers: [String : String]? { return nil } }