// // IHClassLightApi.swift // Inhealth // // Created by weclouds on 2020/7/26. // Copyright © 2020 weclouds. All rights reserved. // import UIKit import Moya let ClassLightProvider = MoyaProvider(plugins: [NetworkLoggerPlugin(verbose: true, responseDataFormatter: JSONResponseDataFormatter),networkActivityPlugin]) enum ClassLightApi { //获取灯控模式 case school_get_model(username:String,client_key:String,os:String,version:String,token:String, id:String) //设置灯控模式 case school_set_model(username:String,client_key:String,os:String,version:String,token:String, id:String,close_light:String,close_color:String,open_light:String,open_color:String,att_class_light:String,att_class_color:String,fin_class_light:String,fin_class_color:String,break_light:String,break_color:String,self_stu_light:String,self_stu_color:String,blackboard_light:String,blackboard_color:String,shadow_light:String,shadow_color:String,clientId:String) } extension ClassLightApi : TargetType { var base :String { return moyaBase } var baseURL: URL { return URL.init(string: base)! } var path: String { switch self { case .school_get_model: return "school/get_model" case .school_set_model: return "school/set_model" } } var method: Moya.Method { return .post } // 多用于单元测试 var sampleData: Data { switch self { case .school_get_model: return stubbedResponse("school/get_model") case .school_set_model: return stubbedResponse("school/set_model") } } // parameters,upload or download var task: Task { switch self { case .school_get_model(username: let username, client_key: let client_key, os: let os, version: let version, token: let token, id: 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 .school_set_model(username: let username , client_key: let client_key, os: let os, version: let version, token: let token, id: let id, close_light: let close_light, close_color: let close_color, open_light: let open_light, open_color: let open_color, att_class_light: let att_class_light, att_class_color: let att_class_color, fin_class_light: let fin_class_light, fin_class_color: let fin_class_color, break_light: let break_light, break_color: let break_color, self_stu_light: let self_stu_light, self_stu_color: let self_stu_color, blackboard_light: let blackboard_light, blackboard_color: let blackboard_color, shadow_light: let shadow_light, shadow_color: let shadow_color, clientId: let clientId) : let p = ["username": username,"client_key":client_key,"os":os,"version":version,"token":token,"id":id,"close_light":close_light,"close_color":close_color,"open_light":open_light,"open_color":open_color,"att_class_light":att_class_light,"att_class_color":att_class_color,"fin_class_light":fin_class_light,"fin_class_color":fin_class_color,"break_light":break_light,"break_color":break_color,"self_stu_light":self_stu_light,"self_stu_color":self_stu_color,"blackboard_light":blackboard_light,"blackboard_color":blackboard_color,"shadow_light":shadow_light,"shadow_color":shadow_color,"clientId":clientId] return .requestParameters(parameters: p, encoding: URLEncoding.default) } } var headers: [String : String]? { return nil } }