OOWorkAPI.swift 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. //
  2. // OOWorkAPI.swift
  3. // o2app
  4. //
  5. // Created by 刘振兴 on 2018/3/13.
  6. // Copyright © 2018年 zone. All rights reserved.
  7. //
  8. import Foundation
  9. import Moya
  10. import O2OA_Auth_SDK
  11. // MARK:- 所有调用的API枚举
  12. enum OOWorkAPI {
  13. case createTask(String,Dictionary<String,String>)
  14. }
  15. // MARK:- 上下文实现
  16. extension OOWorkAPI:OOAPIContextCapable {
  17. var apiContextKey: String {
  18. return "x_processplatform_assemble_surface"
  19. }
  20. }
  21. // MARK: - 是否需要加入x-token访问头
  22. extension OOWorkAPI:OOAccessTokenAuthorizable {
  23. public var shouldAuthorize: Bool {
  24. return true
  25. }
  26. }
  27. extension OOWorkAPI:TargetType {
  28. var baseURL: URL {
  29. let model = O2AuthSDK.shared.o2APIServer(context: .x_processplatform_assemble_surface)
  30. let baseURLString = "\(model?.httpProtocol ?? "http")://\(model?.host ?? ""):\(model?.port ?? 0)\(model?.context ?? "")"
  31. return URL(string: baseURLString)!
  32. }
  33. var path: String {
  34. switch self {
  35. case .createTask(let processId,_):
  36. return "/jaxrs/work/process/\(processId)"
  37. }
  38. }
  39. var method: Moya.Method {
  40. return .post
  41. }
  42. var sampleData: Data {
  43. return "".data(using: String.Encoding.utf8)!
  44. }
  45. var task: Task {
  46. switch self {
  47. case .createTask(_,let param):
  48. return .requestParameters(parameters: param, encoding: JSONEncoding.default)
  49. }
  50. }
  51. var headers: [String : String]? {
  52. return nil
  53. }
  54. }