IHHomeApi.swift 9.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221
  1. //
  2. // IHHomeApi.swift
  3. // Inhealth
  4. //
  5. // Created by weclouds on 2019/12/6.
  6. // Copyright © 2019 weclouds. All rights reserved.
  7. //
  8. import UIKit
  9. import Moya
  10. import Alamofire
  11. let HomeProvider = MoyaProvider<HomeApi>(plugins: [NetworkLoggerPlugin(verbose: true, responseDataFormatter: JSONResponseDataFormatter),networkActivityPlugin])
  12. enum HomeApi {
  13. //导航栏国家下拉
  14. case area_country_list(username:String,client_key:String,os:String,version:String,token:String)
  15. //导航栏省份下拉
  16. case area_province_list(username:String,client_key:String,os:String,version:String,token:String,countryId:String?)
  17. //导航栏城市下拉
  18. case area_city_list(username:String,client_key:String,os:String,version:String,token:String,provinceId:String?)
  19. //首页概览数据
  20. case home_data(username:String,client_key:String,os:String,version:String,token:String,hotelId:String?)
  21. //酒店概览列表
  22. case home_hotel_view(username:String,client_key:String,os:String,version:String,token:String,hotelId:String?)
  23. //酒店概览列表 (没有城市id使用h省份id,没有省份使用国家id)
  24. case area_hotel_list(username:String,client_key:String,os:String,version:String,token:String,cityId:String?)
  25. ///酒店地图筛选(待处理)
  26. 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)
  27. case home_alarm_info(username:String,client_key:String,os:String,version:String,token:String,hotelId:String?)
  28. case home_get_hotel_weather(username:String,client_key:String,os:String,version:String,token:String,hotelId:String)
  29. case home_room_env_status(username:String,client_key:String,os:String,version:String,token:String,hotelId:String)
  30. //设备故障信息
  31. }
  32. extension HomeApi: TargetType{
  33. var base :String {
  34. return moyaBase
  35. }
  36. var baseURL: URL {
  37. return URL(string:base)!
  38. }
  39. var path: String {
  40. switch self {
  41. case .area_country_list:
  42. return "area/country_list"
  43. case .area_province_list:
  44. return "area/province_list"
  45. case .area_city_list:
  46. return "area/city_list"
  47. case .home_data:
  48. return "home/data"
  49. case .home_hotel_view:
  50. return "home/hotel_view"
  51. case .area_hotel_list:
  52. return "area/hotel_list"
  53. case .app_hotel_map:
  54. return "home/home_map"
  55. case .home_alarm_info:
  56. return "home/alarm_info"
  57. case .home_get_hotel_weather:
  58. return "home/get_hotel_weather"
  59. case .home_room_env_status:
  60. return "home/room_env_status"
  61. }
  62. }
  63. var method: Moya.Method {
  64. return .post
  65. }
  66. var sampleData: Data {
  67. switch self {
  68. case .area_country_list:
  69. return stubbedResponse("area_country_list")
  70. case .area_province_list:
  71. return stubbedResponse("area_province_list")
  72. case .area_city_list:
  73. return stubbedResponse("area_city_list")
  74. case .home_data:
  75. return stubbedResponse("home_data")
  76. case .home_hotel_view:
  77. return stubbedResponse("home_hotel_view")
  78. case .area_hotel_list:
  79. return stubbedResponse("home_hotel_list")
  80. case .app_hotel_map:
  81. return stubbedResponse("app_hotel_map")
  82. case .home_alarm_info:
  83. return stubbedResponse("home_alarm_info")
  84. case .home_get_hotel_weather:
  85. return stubbedResponse("home_get_hotel_weather")
  86. case .home_room_env_status:
  87. return stubbedResponse("home_room_env_status")
  88. }
  89. }
  90. var task: Task {
  91. switch self {
  92. case .area_country_list(let username, let client_key, let os, let version,let token):
  93. let p = ["username" :username,
  94. "client_key":client_key,
  95. "os":os,
  96. "version":version,
  97. "token":token ]
  98. return .requestParameters(parameters: p,
  99. encoding: URLEncoding.default)
  100. case .area_province_list(let username, let client_key, let os, let version,let token, let countryId):
  101. var p = ["username" :username,
  102. "client_key":client_key,
  103. "os":os,
  104. "version":version,
  105. "token":token]
  106. if let countryId = countryId {
  107. p["countryId"] = countryId
  108. }
  109. return .requestParameters(parameters: p,
  110. encoding: URLEncoding.default)
  111. case .area_city_list(let username, let client_key, let os, let version,let token, let provinceId):
  112. var p = ["username" :username,
  113. "client_key":client_key,
  114. "os":os,
  115. "version":version ,
  116. "token":token]
  117. if let provinceId = provinceId {
  118. p["provinceId"] = provinceId
  119. }
  120. return .requestParameters(parameters: p,
  121. encoding: URLEncoding.default)
  122. case .home_data(let username, let client_key, let os, let version,let token,let hotelId):
  123. var p = ["username" :username,
  124. "client_key":client_key,
  125. "os":os,
  126. "version":version ,
  127. "token":token]
  128. if let hotelId = hotelId {
  129. p["hotelId"] = hotelId
  130. }
  131. return .requestParameters(parameters: p,
  132. encoding: URLEncoding.default)
  133. case .home_hotel_view(let username, let client_key, let os, let version,let token,let hotelId):
  134. var p = ["username" :username,
  135. "client_key":client_key,
  136. "os":os,
  137. "version":version,
  138. "token":token]
  139. if let hotelId = hotelId {
  140. p["hotelId"] = hotelId
  141. }
  142. return .requestParameters(parameters: p,
  143. encoding: URLEncoding.default)
  144. case .area_hotel_list(let username, let client_key, let os, let version,let token, let cityId):
  145. var p = ["username" :username,
  146. "client_key":client_key,
  147. "os":os,
  148. "version":version ,
  149. "token":token]
  150. if let cityId = cityId {
  151. p["cityId"] = cityId
  152. }
  153. return .requestParameters(parameters: p,
  154. encoding: URLEncoding.default)
  155. 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):
  156. let p = ["username" :username,
  157. "client_key":client_key,
  158. "os":os,
  159. "version":version ,
  160. "token":token,
  161. "lng_low":lng_low,
  162. "lng_high":lng_high,
  163. "lat_low":lat_low,
  164. "lat_high":lat_high]
  165. return .requestParameters(parameters: p,
  166. encoding: URLEncoding.default)
  167. case .home_alarm_info(let username, let client_key, let os, let version, let token,let hotelId):
  168. var p = ["username" :username,
  169. "client_key":client_key,
  170. "os":os,
  171. "version":version ,
  172. "token":token]
  173. if let hotelId = hotelId {
  174. p["hotelId"] = hotelId
  175. }
  176. return .requestParameters(parameters: p,
  177. encoding: URLEncoding.default)
  178. case .home_get_hotel_weather(let username, let client_key, let os, let version, let token, let hotelId):
  179. let p = ["username" :username,
  180. "client_key":client_key,
  181. "os":os,
  182. "version":version ,
  183. "token":token,
  184. "hotelId":hotelId]
  185. return .requestParameters(parameters: p,
  186. encoding: URLEncoding.default)
  187. case .home_room_env_status(let username, let client_key, let os, let version, let token, let hotelId):
  188. let p = ["username" :username,
  189. "client_key":client_key,
  190. "os":os,
  191. "version":version ,
  192. "token":token,
  193. "lng_low":hotelId]
  194. return .requestParameters(parameters: p,
  195. encoding: URLEncoding.default)
  196. }
  197. }
  198. var headers: [String : String]? {
  199. return nil
  200. }
  201. }