O2AppAPI.swift 1.3 KB

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