IHPanelApi.swift 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. //
  2. // IHPanelApi.swift
  3. // Inhealth
  4. //
  5. // Created by weclouds on 2020/7/27.
  6. // Copyright © 2020 weclouds. All rights reserved.
  7. //
  8. import UIKit
  9. import Moya
  10. let PanelProvider = MoyaProvider<PanelApi>(plugins: [NetworkLoggerPlugin(verbose: true, responseDataFormatter: JSONResponseDataFormatter),networkActivityPlugin])
  11. enum PanelApi {
  12. //获取灯控模式
  13. case school_get_panel_mode(username:String,client_key:String,os:String,version:String,token:String, id:String)
  14. //设置灯控模式
  15. case school_set_panel_mode(username:String,client_key:String,os:String,version:String,token:String, id:String,key1:String,key2:String,key3:String,key4:String,key5:String,key6:String,clientId:String)
  16. }
  17. extension PanelApi : 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_panel_mode:
  27. return "school/get_panel_mode"
  28. case .school_set_panel_mode:
  29. return "school/set_panel_mode"
  30. }
  31. }
  32. var method: Moya.Method {
  33. return .post
  34. }
  35. // 多用于单元测试
  36. var sampleData: Data {
  37. switch self {
  38. case .school_get_panel_mode:
  39. return stubbedResponse("school/get_panel_mode")
  40. case .school_set_panel_mode:
  41. return stubbedResponse("school/set_panel_mode")
  42. }
  43. }
  44. // parameters,upload or download
  45. var task: Task {
  46. switch self {
  47. case .school_get_panel_mode(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_panel_mode(username: let username , client_key: let client_key, os: let os, version: let version, token: let token, id: let id, key1: let key1, key2: let key2, key3: let key3, key4: let key4, key5: let key5, key6: let key6, clientId: let clientId) :
  56. let p = ["username": username,"client_key":client_key,"os":os,"version":version,"token":token,"id":id,"key1":key1,"key2":key2,"key3":key3,"key4":key4,"key5":key5,"key6":key6,"clientId":clientId]
  57. return .requestParameters(parameters: p, encoding: URLEncoding.default)
  58. }
  59. }
  60. var headers: [String : String]? {
  61. return nil
  62. }
  63. }