IHCurtainApi.swift 3.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. //
  2. // IHCurtainApi.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 CurtainProvider = MoyaProvider<CurtainApi>(plugins: [NetworkLoggerPlugin(verbose: true, responseDataFormatter: JSONResponseDataFormatter),networkActivityPlugin])
  11. enum CurtainApi {
  12. //获取灯控模式
  13. case school_get_curtain_mode(username:String,client_key:String,os:String,version:String,token:String, id:String)
  14. //设置灯控模式
  15. 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)
  16. }
  17. extension CurtainApi : 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_curtain_mode:
  27. return "school/get_curtain_mode"
  28. case .school_set_curtain_mode:
  29. return "school/set_curtain_mode"
  30. }
  31. }
  32. var method: Moya.Method {
  33. return .post
  34. }
  35. // 多用于单元测试
  36. var sampleData: Data {
  37. switch self {
  38. case .school_get_curtain_mode:
  39. return stubbedResponse("school/get_panel_mode")
  40. case .school_set_curtain_mode:
  41. return stubbedResponse("school/set_curtain_mode")
  42. }
  43. }
  44. // parameters,upload or download
  45. var task: Task {
  46. switch self {
  47. 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):
  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_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):
  56. let p = ["username" :username,
  57. "client_key":client_key,
  58. "os":os,
  59. "version":version ,
  60. "token":token,
  61. "id":id,
  62. "close_status": close_status,
  63. "open_status":open_status,
  64. "att_class_status" : att_class_status,
  65. "fin_class_status" : fin_class_status,
  66. "break_status": break_status,
  67. "self_stu_status":self_stu_status,
  68. "blackboard_status":blackboard_status,
  69. "shadow_status":shadow_status,
  70. "clientId":clientId ]
  71. return .requestParameters(parameters: p, encoding: URLEncoding.default)
  72. }
  73. }
  74. var headers: [String : String]? {
  75. return nil
  76. }
  77. }