OOWorkAPI.swift 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  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. case getWork(String)//获取工作对象 如果工作已经结束了 500错误
  15. }
  16. // MARK:- 上下文实现
  17. extension OOWorkAPI:OOAPIContextCapable {
  18. var apiContextKey: String {
  19. return "x_processplatform_assemble_surface"
  20. }
  21. }
  22. // MARK: - 是否需要加入x-token访问头
  23. extension OOWorkAPI:OOAccessTokenAuthorizable {
  24. public var shouldAuthorize: Bool {
  25. return true
  26. }
  27. }
  28. extension OOWorkAPI:TargetType {
  29. var baseURL: URL {
  30. let model = O2AuthSDK.shared.o2APIServer(context: .x_processplatform_assemble_surface)
  31. let baseURLString = "\(model?.httpProtocol ?? "http")://\(model?.host ?? ""):\(model?.port ?? 0)\(model?.context ?? "")"
  32. return URL(string: baseURLString)!
  33. }
  34. var path: String {
  35. switch self {
  36. case .createTask(let processId,_):
  37. return "/jaxrs/work/process/\(processId)"
  38. case .getWork(let workId):
  39. return "/jaxrs/work/\(workId)"
  40. }
  41. }
  42. var method: Moya.Method {
  43. switch self {
  44. case .createTask(_,_):
  45. return .post
  46. case .getWork(_):
  47. return .get
  48. }
  49. }
  50. var sampleData: Data {
  51. return "".data(using: String.Encoding.utf8)!
  52. }
  53. var task: Task {
  54. switch self {
  55. case .createTask(_,let param):
  56. return .requestParameters(parameters: param, encoding: JSONEncoding.default)
  57. default:
  58. return .requestPlain
  59. }
  60. }
  61. var headers: [String : String]? {
  62. return nil
  63. }
  64. }