// // IHHomeApi.swift // Inhealth // // Created by weclouds on 2019/12/6. // Copyright © 2019 weclouds. All rights reserved. // import UIKit import Moya import Alamofire let HomeProvider = MoyaProvider(plugins: [NetworkLoggerPlugin(verbose: true, responseDataFormatter: JSONResponseDataFormatter),networkActivityPlugin]) enum HomeApi { //导航栏国家下拉 case area_country_list(username:String,client_key:String,os:String,version:String,token:String) //导航栏省份下拉 case area_province_list(username:String,client_key:String,os:String,version:String,token:String,countryId:String?) //导航栏城市下拉 case area_city_list(username:String,client_key:String,os:String,version:String,token:String,provinceId:String?) //首页概览数据 case home_data(username:String,client_key:String,os:String,version:String,token:String,hotelId:String?) //酒店概览列表 case home_hotel_view(username:String,client_key:String,os:String,version:String,token:String,hotelId:String?) //酒店概览列表 (没有城市id使用h省份id,没有省份使用国家id) case area_hotel_list(username:String,client_key:String,os:String,version:String,token:String,cityId:String?) ///酒店地图筛选(待处理) case app_hotel_map(username:String,client_key:String,os:String,version:String,token:String,lng_low:String,lng_high:String,lat_low:String,lat_high:String) case home_alarm_info(username:String,client_key:String,os:String,version:String,token:String,hotelId:String?) case home_get_hotel_weather(username:String,client_key:String,os:String,version:String,token:String,hotelId:String) case home_room_env_status(username:String,client_key:String,os:String,version:String,token:String,hotelId:String) //设备故障信息 } extension HomeApi: TargetType{ var base :String { return moyaBase } var baseURL: URL { return URL(string:base)! } var path: String { switch self { case .area_country_list: return "area/country_list" case .area_province_list: return "area/province_list" case .area_city_list: return "area/city_list" case .home_data: return "home/data" case .home_hotel_view: return "home/hotel_view" case .area_hotel_list: return "area/hotel_list" case .app_hotel_map: return "home/home_map" case .home_alarm_info: return "home/alarm_info" case .home_get_hotel_weather: return "home/get_hotel_weather" case .home_room_env_status: return "home/room_env_status" } } var method: Moya.Method { return .post } var sampleData: Data { switch self { case .area_country_list: return stubbedResponse("area_country_list") case .area_province_list: return stubbedResponse("area_province_list") case .area_city_list: return stubbedResponse("area_city_list") case .home_data: return stubbedResponse("home_data") case .home_hotel_view: return stubbedResponse("home_hotel_view") case .area_hotel_list: return stubbedResponse("home_hotel_list") case .app_hotel_map: return stubbedResponse("app_hotel_map") case .home_alarm_info: return stubbedResponse("home_alarm_info") case .home_get_hotel_weather: return stubbedResponse("home_get_hotel_weather") case .home_room_env_status: return stubbedResponse("home_room_env_status") } } var task: Task { switch self { case .area_country_list(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) case .area_province_list(let username, let client_key, let os, let version,let token, let countryId): var p = ["username" :username, "client_key":client_key, "os":os, "version":version, "token":token] if let countryId = countryId { p["countryId"] = countryId } return .requestParameters(parameters: p, encoding: URLEncoding.default) case .area_city_list(let username, let client_key, let os, let version,let token, let provinceId): var p = ["username" :username, "client_key":client_key, "os":os, "version":version , "token":token] if let provinceId = provinceId { p["provinceId"] = provinceId } return .requestParameters(parameters: p, encoding: URLEncoding.default) case .home_data(let username, let client_key, let os, let version,let token,let hotelId): var p = ["username" :username, "client_key":client_key, "os":os, "version":version , "token":token] if let hotelId = hotelId { p["hotelId"] = hotelId } return .requestParameters(parameters: p, encoding: URLEncoding.default) case .home_hotel_view(let username, let client_key, let os, let version,let token,let hotelId): var p = ["username" :username, "client_key":client_key, "os":os, "version":version, "token":token] if let hotelId = hotelId { p["hotelId"] = hotelId } return .requestParameters(parameters: p, encoding: URLEncoding.default) case .area_hotel_list(let username, let client_key, let os, let version,let token, let cityId): var p = ["username" :username, "client_key":client_key, "os":os, "version":version , "token":token] if let cityId = cityId { p["cityId"] = cityId } return .requestParameters(parameters: p, encoding: URLEncoding.default) case .app_hotel_map(let username, let client_key, let os, let version, let token, let lng_low, let lng_high, let lat_low, let lat_high): let p = ["username" :username, "client_key":client_key, "os":os, "version":version , "token":token, "lng_low":lng_low, "lng_high":lng_high, "lat_low":lat_low, "lat_high":lat_high] return .requestParameters(parameters: p, encoding: URLEncoding.default) case .home_alarm_info(let username, let client_key, let os, let version, let token,let hotelId): var p = ["username" :username, "client_key":client_key, "os":os, "version":version , "token":token] if let hotelId = hotelId { p["hotelId"] = hotelId } return .requestParameters(parameters: p, encoding: URLEncoding.default) case .home_get_hotel_weather(let username, let client_key, let os, let version, let token, let hotelId): let p = ["username" :username, "client_key":client_key, "os":os, "version":version , "token":token, "hotelId":hotelId] return .requestParameters(parameters: p, encoding: URLEncoding.default) case .home_room_env_status(let username, let client_key, let os, let version, let token, let hotelId): let p = ["username" :username, "client_key":client_key, "os":os, "version":version , "token":token, "lng_low":hotelId] return .requestParameters(parameters: p, encoding: URLEncoding.default) } } var headers: [String : String]? { return nil } }