// // IHCurtainApi.swift // Inhealth // // Created by weclouds on 2020/7/27. // Copyright © 2020 weclouds. All rights reserved. // import UIKit import Moya let CurtainProvider = MoyaProvider(plugins: [NetworkLoggerPlugin(verbose: true, responseDataFormatter: JSONResponseDataFormatter),networkActivityPlugin]) enum CurtainApi { //获取灯控模式 case school_get_curtain_mode(username:String,client_key:String,os:String,version:String,token:String, id:String) //设置灯控模式 case school_set_curtain_mode(username:String,client_key:String,os:String,version:String,token:String, id:String,close_status:String,open_status:String,att_class_status:String,fin_class_status:String,break_status:String,self_stu_status:String,blackboard_status:String,shadow_status:String,clientId:String) } extension CurtainApi : TargetType { var base :String { return moyaBase } var baseURL: URL { return URL.init(string: base)! } var path: String { switch self { case .school_get_curtain_mode: return "school/get_curtain_mode" case .school_set_curtain_mode: return "school/set_curtain_mode" } } var method: Moya.Method { return .post } // 多用于单元测试 var sampleData: Data { switch self { case .school_get_curtain_mode: return stubbedResponse("school/get_panel_mode") case .school_set_curtain_mode: return stubbedResponse("school/set_curtain_mode") } } // parameters,upload or download var task: Task { switch self { case .school_get_curtain_mode(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_curtain_mode(username: let username, client_key: let client_key, os: let os, version: let version, token: let token, id: let id, close_status: let close_status, open_status: let open_status, att_class_status: let att_class_status, fin_class_status: let fin_class_status, break_status: let break_status, self_stu_status: let self_stu_status, blackboard_status: let blackboard_status, shadow_status: let shadow_status, clientId: let clientId): let p = ["username" :username, "client_key":client_key, "os":os, "version":version , "token":token, "id":id, "close_status": close_status, "open_status":open_status, "att_class_status" : att_class_status, "fin_class_status" : fin_class_status, "break_status": break_status, "self_stu_status":self_stu_status, "blackboard_status":blackboard_status, "shadow_status":shadow_status, "clientId":clientId ] return .requestParameters(parameters: p, encoding: URLEncoding.default) } } var headers: [String : String]? { return nil } }