123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621 |
- //
- // IHAreaApi.swift
- // Inhealth
- //
- // Created by weclouds on 2019/12/9.
- // Copyright © 2019 weclouds. All rights reserved.
- //
- import UIKit
- import Moya
- import Alamofire
- //import RxSwift
- //import RxCocoa
- struct JSONArrayEncoding: ParameterEncoding {
- static let `default` = JSONArrayEncoding()
- func encode(_ urlRequest: URLRequestConvertible, with parameters: Parameters?) throws -> URLRequest {
- var request = try urlRequest.asURLRequest()
- guard let json = parameters?["deviceList"] else {
- return request
- }
- let data = try JSONSerialization.data(withJSONObject: json, options: [])
- if request.value(forHTTPHeaderField: "Content-Type") == nil {
- request.setValue("application/json", forHTTPHeaderField: "Content-Type")
- }
- request.httpBody = data
- return request
- }
- }
- class ArrayEncode {
- static let share = ArrayEncode()
- func dataTypeTurnJson(element:Any) -> String {
- let jsonData = try! JSONSerialization.data(withJSONObject: element, options: .prettyPrinted)
- var str = String(data: jsonData, encoding: .utf8)
- log.debug("测试 数组转json -\(str!)")
- str = str?.replacingOccurrences(of: "\n", with: "")
- str = str?.replacingOccurrences(of: " ", with: "")
- return str ?? ""
- }
- }
- let AreaProvider = MoyaProvider<AreaApi>(plugins: [NetworkLoggerPlugin(verbose: true, responseDataFormatter: JSONResponseDataFormatter),
- networkActivityPlugin])
- enum AreaApi {
- //楼房下拉列表
- case room_build_nav(username:String,client_key:String,os:String,version:String,token:String,hotelId:String?)
-
- //房间列表
- case room_room_list(username:String,client_key:String,os:String,version:String,token:String,buildId:String,keywords:String?)
- //添加酒店国家下拉列表
- case common_get_country(username:String,client_key:String,os:String,version:String,token:String)
- //添加酒店省份下拉列表
- case common_get_province(username:String,client_key:String,os:String,version:String,token:String,countryId:String)
- //添加酒店城市下拉列表
- case common_get_city(username:String,client_key:String,os:String,version:String,token:String,provinceId:String)
- //添加编辑酒店
- case area_save_hotel(username:String,client_key:String,os:String,version:String,token:String,cityId:String,name:String,hotelId:String?)
- //删除酒店
- case area_del_hotel(username:String,client_key:String,os:String,version:String,token:String,hotelId:String)
- //添加编辑楼房
- case area_save_build(username:String,client_key:String,os:String,version:String,token:String,hotelId:String,name:String,floorCount:Int,buildId:String?)
- //删除楼房
- case area_del_build(username:String,client_key:String,os:String,version:String,token:String,buildId:String)
- //酒店详情
- case area_hotel_info(username:String,client_key:String,os:String,version:String,token:String,hotelId:String)
- //楼房详情
- case area_build_info(username:String,client_key:String,os:String,version:String,token:String,buildId:String)
- //添加编辑房间
- case room_save_room(username:String,client_key:String,os:String,version:String,token:String,buildId:String,floor:String,number:String,sn:String,image:String,roomId:String?,optionalDict:[[String:String]]?)
- //获取房间详细信息
- case room_room_info(username:String,client_key:String,os:String,version:String,token:String,roomId:String)
- //删除房间
- case room_del_room(username:String,client_key:String,os:String,version:String,token:String,roomId:String)
- //楼层下拉列表
- case area_floor_nav(username:String,client_key:String,os:String,version:String,token:String,buildId:String?)
-
- //房间下拉列表
- case room_room_nav(username:String,client_key:String,os:String,version:String,token:String,floorId:String)
-
-
- //获取楼层跟楼房概览图片
- case area_floor_build_image(username:String,client_key:String,os:String,version:String,token:String,floorId:String)
-
- //房间指令
- case room_room_cmd(username:String,client_key:String,os:String,version:String,token:String,roomId:String,light:String,color:String,colorR:String,colorG:String,colorB:String)
-
- //酒店/楼房二级下拉列表
- //cityId : 城市id(没有城市使用省份id,没有省份使用国家id)
- case area_hotel_list(username:String,client_key:String,os:String,version:String,token:String,cityId:String)
-
- //获取学校房间-设备
- case school_dev_list(username:String,client_key:String,os:String,version:String,token:String,roomId: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)
- //修改学校房间--灯位置信息
- case school_charge_location(username:String,client_key:String,os:String,version:String,token:String,infoList:[[String:String]])
- //修改学校房间--开关窗帘
- case school_set_curtain(username:String,client_key:String,os:String,version:String,token:String,id:String,status:String,clientId:String)
-
- //修改学校房间--灯的色温
- case school_set_color(username:String,client_key:String,os:String,version:String,token:String,id:String,color:String,clientId: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:String,count:String,type:String,keywords:String?)
-
- //修改学校房间--删除设备
- case school_del_light(username:String,client_key:String,os:String,version:String,token:String,lightId:String,clientId:String)
- //修改学校房间--设置亮度值
- case school_set_light(username:String,client_key:String,os:String,version:String,token:String,id:String,light:String,clientId:String)
-
- //修改学校房间--全部灯的开关
- case charge_mode(username:String,client_key:String,os:String,version:String,token:String,roomId :String,type:String,clientId:String)
-
- //修改学校房间--单个灯的开关
- case set_on_off(username:String,client_key:String,os:String,version:String,token:String,id :String,status:String,clientId:String)
-
- }
- extension AreaApi: TargetType{
- var base :String {
- return moyaBase
- }
- var baseURL: URL {
- return URL(string:base)!
- }
-
- var path: String {
- switch self {
- case .room_build_nav:
- return "room/build_nav"
- case .room_room_list:
- return "room/room_list"
- case .common_get_country:
- return "common/get_country"
- case .common_get_province:
- return "common/get_province"
- case .common_get_city:
- return "common_get_city"
- case .area_save_hotel:
- return "area/save_hotel"
- case .area_del_hotel:
- return "area/del_hotel"
- case .area_save_build:
- return "area/save_build"
- case .area_del_build:
- return "area/del_build"
- case .area_hotel_info:
- return "area/hotel_info"
- case .area_build_info:
- return "area/build_info"
- case .room_save_room:
- return "room/save_room"
- case .room_room_info:
- return "room/room_info"
- case .room_del_room:
- return "room/del_room"
- case .area_floor_nav:
- return "area/floor_nav"
- case .room_room_nav:
- return "room/room_nav"
-
- case .area_floor_build_image:
- return "area/floor_build_image"
- case .room_room_cmd:
- return "room/room_cmd"
- case .area_hotel_list:
- return "area/hotel_list"
-
- case .school_dev_list:
- return "school/dev_list"
- case .school_save_light:
- return "school/save_light"
- case .school_charge_location:
- return "school/charge_location"
- case .school_set_curtain:
- return "school/set_curtain"
- case .school_set_color:
- return "school/set_color"
- case .school_light_list:
- return "school/light_list"
- case .school_del_light:
- return "school/del_light"
- case .school_set_light:
- return "school/set_light"
- case .charge_mode:
- return "school/charge_mode"
- case .set_on_off:
- return "school/set_on_off"
-
- }
-
- }
-
- var method: Moya.Method {
- return .post
- }
-
- var sampleData: Data {
- switch self {
- case .room_build_nav:
- return stubbedResponse("room_build_nav")
- case .room_room_list:
- return stubbedResponse("room_room_list")
- case .common_get_country:
- return stubbedResponse("common_get_country")
- case .common_get_province:
- return stubbedResponse("common_get_province")
- case .common_get_city:
- return stubbedResponse("commonget_city")
- case .area_save_hotel:
- return stubbedResponse("area_save_hotel")
- case .area_del_hotel:
- return stubbedResponse("area_del_hotel")
- case .area_save_build:
- return stubbedResponse("area_save_build")
- case .area_del_build:
- return stubbedResponse("area_del_build")
- case .area_hotel_info:
- return stubbedResponse("area_hotel_info")
- case .area_build_info:
- return stubbedResponse("area_build_info")
- case .room_save_room:
- return stubbedResponse("room_save_room")
- case .room_room_info:
- return stubbedResponse("room_room_info")
- case .room_del_room:
- return stubbedResponse("room_del_room")
- case .area_floor_nav:
- return stubbedResponse("area_floor_nav")
- case .room_room_nav:
- return stubbedResponse("room_room_nav")
- case .area_floor_build_image:
- return stubbedResponse("area_floor_build_image")
- case .room_room_cmd:
- return stubbedResponse("room_room_cmd")
- case .area_hotel_list:
- return stubbedResponse("area_hotel_list")
-
-
- case .school_dev_list:
- return stubbedResponse("school_dev_list")
- case .school_save_light:
- return stubbedResponse("school_save_light")
- case .school_charge_location:
- return stubbedResponse("school_charge_location")
- case .school_set_curtain:
- return stubbedResponse("school_set_curtain")
- case .school_set_color:
- return stubbedResponse("school_set_color")
- case .school_light_list:
- return stubbedResponse("school_light_list")
- case .school_del_light:
- return stubbedResponse("school_del_light")
- case .school_set_light:
- return stubbedResponse("school_set_light")
- case .charge_mode:
- return stubbedResponse("charge_mode")
- case .set_on_off:
- return stubbedResponse("set_on_off")
-
- }
- }
-
- var task: Task {
- switch self {
- case .room_build_nav(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 .room_room_list(let username, let client_key, let os, let version,let token, let buildId, let keywords):
- var p = ["username" :username,
- "client_key":client_key,
- "os":os,
- "version":version,
- "token":token,
- "buildId":buildId]
- if let keywords = keywords{
- p["keywords"] = keywords
- }
- return .requestParameters(parameters: p,
- encoding: URLEncoding.default)
- case .common_get_country(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 .common_get_province(let username, let client_key, let os, let version,let token, let countryId):
- let p = ["username" :username,
- "client_key":client_key,
- "os":os,
- "version":version,
- "token":token,
- "countryId" : countryId]
-
- return .requestParameters(parameters: p,
- encoding: URLEncoding.default)
- case .common_get_city(let username, let client_key, let os, let version,let token, let provinceId):
- let p = ["username" :username,
- "client_key":client_key,
- "os":os,
- "version":version,
- "token":token,
- "provinceId":provinceId]
- return .requestParameters(parameters: p,
- encoding: URLEncoding.default)
-
-
- case .area_save_hotel(let username, let client_key, let os, let version,let token, let cityId, let name, let hotelId):
- var p = ["username" :username,
- "client_key":client_key,
- "os":os,
- "version":version,
- "token":token,
- "cityId":cityId,
- "name":name]
- if let hotelId = hotelId{
- p["hotelId"] = hotelId
- }
- return .requestParameters(parameters: p,
- encoding: URLEncoding.default)
- case .area_del_hotel(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 .area_save_build(let username, let client_key, let os, let version,let token, let hotelId, let name, let floorCount,let buildId):
- var p = ["username" :username,
- "client_key":client_key,
- "os":os,
- "version":version,
- "token":token,
- "hotelId":hotelId,
- "name":name,
- "floorCount":floorCount] as [String : Any]
- if let buildId = buildId{
- p["buildId"] = buildId
- }
- return .requestParameters(parameters: p,
- encoding: URLEncoding.default)
- case .area_del_build(let username, let client_key, let os, let version,let token, let buildId):
- let p = ["username" :username,
- "client_key":client_key,
- "os":os,
- "version":version,
- "token":token,
- "buildId":buildId ]
- return .requestParameters(parameters: p,
- encoding: URLEncoding.default)
- case .area_hotel_info(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 .area_build_info(let username, let client_key, let os, let version,let token, let buildId):
- let p = ["username" :username,
- "client_key":client_key,
- "os":os,
- "version":version,
- "token":token,
- "buildId":buildId ]
- return .requestParameters(parameters: p,
- encoding: URLEncoding.default)
-
- case .room_room_info(let username, let client_key, let os, let version,let token, let roomId):
- let p = ["username" :username,
- "client_key":client_key,
- "os":os,
- "version":version,
- "token":token,
- "roomId":roomId ]
- return .requestParameters(parameters: p,
- encoding: URLEncoding.default)
- case .room_del_room(let username, let client_key, let os, let version,let token, let roomId):
- let p = ["username" :username,
- "client_key":client_key,
- "os":os,
- "version":version,
- "token":token,
- "roomId":roomId ]
- return .requestParameters(parameters: p,
- encoding: URLEncoding.default)
- case .area_floor_nav(let username, let client_key, let os, let version,let token, let buildId):
- var p = ["username" :username,
- "client_key":client_key,
- "os":os,
- "version":version,
- "token":token]
- if let buildId = buildId{
- p["buildId"] = buildId
- }
- return .requestParameters(parameters: p,
- encoding: URLEncoding.default)
- case .room_room_nav(let username, let client_key, let os, let version,let token, let floorId):
- let p = ["username" :username,
- "client_key":client_key,
- "os":os,
- "version":version,
- "token":token,
- "floorId":floorId]
- return .requestParameters(parameters: p,
- encoding: URLEncoding.default)
- case .room_save_room(let username, let client_key, let os, let version, let token, let buildId, let floor, let number, let sn, let image, let roomId, let optionalDict):
- var p : [String:Any] = ["username" :username,
- "client_key":client_key,
- "os":os,
- "version":version,
- "token":token,
- "buildId":buildId,
- "floorId":floor,
- "number":number,
- "sn":sn,
- "image":image]
- if let roomId = roomId {
- p["roomId"] = roomId
- }
- if let optionalDict = optionalDict {
- p["deviceList"] = ArrayEncode.share.dataTypeTurnJson(element: optionalDict)
- }
- return .requestParameters(parameters: p,
- encoding: URLEncoding.default)
-
- case .area_floor_build_image(let username, let client_key, let os, let version, let token, let floorId):
- let p = ["username" :username,
- "client_key":client_key,
- "os":os,
- "version":version,
- "token":token,
- "floorId":floorId]
- return .requestParameters(parameters: p,
- encoding: URLEncoding.default)
- case .room_room_cmd(let username, let client_key, let os, let version, let token, let roomId, let light, let color, let colorR, let colorG, let colorB):
- let p = ["username" :username,
- "client_key":client_key,
- "os":os,
- "version":version,
- "token":token,
- "roomId":roomId,
- "light":light,
- "color":color,
- "colorR":colorR,
- "colorG":colorG,
- "colorB":colorB]
- return .requestParameters(parameters: p,
- encoding: URLEncoding.default)
- case .area_hotel_list(let username, let client_key, let os, let version, let token, let cityId):
- let p = ["username" :username,
- "client_key":client_key,
- "os":os,
- "version":version,
- "token":token,
- "cityId":cityId]
- return .requestParameters(parameters: p,
- encoding: URLEncoding.default)
-
- case .school_dev_list(username: let username, client_key: let client_key, os: let os, version: let version, token: let token, roomId: let roomId):
- let p = ["username" :username,
- "client_key":client_key,
- "os":os,
- "version":version,
- "token":token,
- "roomId":roomId]
- 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):
- var p = ["username" :username,
- "client_key":client_key,
- "os":os,
- "version":version,
- "token":token,
- "name":name,
- "deviceId":deviceId,
- "floorId": floorId,
- "roomId":roomId,
- "image":image,
- "type" : type,
- "model" : model]
-
- if let lightId = lightId {
- p["lightId"] = lightId
- }
-
- return .requestParameters(parameters: p, encoding: URLEncoding.default)
-
- case .school_charge_location(username: let username, client_key: let client_key, os: let os, version: let version, token: let token, infoList: let infoList):
-
-
- var p : [String : Any] = ["username":username,
- "client_key":client_key,
- "os":os,
- "version":version,
- "token":token
- ]
- p["infoList"] = ArrayEncode.share.dataTypeTurnJson(element: infoList)
- return .requestParameters(parameters: p, encoding: URLEncoding.default)
-
- case .school_set_curtain(username: let username, client_key: let client_key, os: let os, version: let version, token: let token, id: let id, status: let status, clientId: let clientId):
- let p = ["username" :username,
- "client_key":client_key,
- "os":os,
- "version":version,
- "token":token,
- "id":id,
- "status":status,
- "clientId": clientId]
- return .requestParameters(parameters: p, encoding: URLEncoding.default)
-
- case .school_set_color(username: let username, client_key: let client_key, os: let os, version: let version, token: let token, id: let id, color: let color, clientId: let clientId):
- let p = ["username" :username,
- "client_key":client_key,
- "os":os,
- "version":version,
- "token":token,
- "id":id,
- "color":color,
- "clientId": clientId]
- 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]
- 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_del_light(username: let username, client_key: let client_key, os: let os, version: let version, token: let token, lightId: let lightId, clientId: let clientId):
- let p = ["username" :username,
- "client_key":client_key,
- "os":os,
- "version":version,
- "token":token,
- "lightId":lightId,
- "clientId":clientId]
- return .requestParameters(parameters: p, encoding: URLEncoding.default)
-
- case .school_set_light(username: let username, client_key: let client_key, os: let os, version: let version, token: let token, id: let id, light: let light, clientId: let clientId):
- let p = ["username" :username,
- "client_key":client_key,
- "os":os,
- "version":version,
- "token":token,
- "id":id,
- "light":light,
- "clientId":clientId]
- return .requestParameters(parameters: p, encoding: URLEncoding.default)
-
- case .charge_mode(username: let username, client_key: let client_key, os: let os, version: let version, token: let token, roomId: let roomId, type: let type, clientId: let clientId):
- let p = ["username" :username,
- "client_key":client_key,
- "os":os,
- "version":version,
- "token":token,
- "roomId":roomId,
- "type":type,
- "clientId":clientId]
- return .requestParameters(parameters: p, encoding: URLEncoding.default)
- case .set_on_off(username: let username, client_key: let client_key, os: let os, version: let version, token: let token, id: let id, status: let status, clientId: let clientId):
- let p = ["username" :username,
- "client_key":client_key,
- "os":os,
- "version":version,
- "token":token,
- "id":id,
- "status":status,
- "clientId":clientId]
- return .requestParameters(parameters: p, encoding: URLEncoding.default)
- }
- }
-
- var headers: [String : String]? {
- return nil
- }
-
- }
|