IHClassLightApi.swift 3.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. //
  2. // IHClassLightApi.swift
  3. // Inhealth
  4. //
  5. // Created by weclouds on 2020/7/26.
  6. // Copyright © 2020 weclouds. All rights reserved.
  7. //
  8. import UIKit
  9. import Moya
  10. let ClassLightProvider = MoyaProvider<ClassLightApi>(plugins: [NetworkLoggerPlugin(verbose: true, responseDataFormatter: JSONResponseDataFormatter),networkActivityPlugin])
  11. enum ClassLightApi {
  12. //获取灯控模式
  13. case school_get_model(username:String,client_key:String,os:String,version:String,token:String, id:String)
  14. //设置灯控模式
  15. 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)
  16. }
  17. extension ClassLightApi : TargetType {
  18. var base :String {
  19. return moyaBase
  20. }
  21. var baseURL: URL {
  22. return URL.init(string: base)!
  23. }
  24. var path: String {
  25. switch self {
  26. case .school_get_model:
  27. return "school/get_model"
  28. case .school_set_model:
  29. return "school/set_model"
  30. }
  31. }
  32. var method: Moya.Method {
  33. return .post
  34. }
  35. // 多用于单元测试
  36. var sampleData: Data {
  37. switch self {
  38. case .school_get_model:
  39. return stubbedResponse("school/get_model")
  40. case .school_set_model:
  41. return stubbedResponse("school/set_model")
  42. }
  43. }
  44. // parameters,upload or download
  45. var task: Task {
  46. switch self {
  47. case .school_get_model(username: let username, client_key: let client_key, os: let os, version: let version, token: let token, id: let id):
  48. let p = ["username" :username,
  49. "client_key":client_key,
  50. "os":os,
  51. "version":version ,
  52. "token":token,
  53. "id":id]
  54. return .requestParameters(parameters: p, encoding: URLEncoding.default)
  55. 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) :
  56. 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]
  57. return .requestParameters(parameters: p, encoding: URLEncoding.default)
  58. }
  59. }
  60. var headers: [String : String]? {
  61. return nil
  62. }
  63. }