ApiMacro.swift 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  1. /// Service
  2. let kPersonalService = false
  3. let kDevelopSever = true
  4. let kBetaSever = false
  5. let kProductSever = false
  6. /// H5Service
  7. let kH5PersonalService = false
  8. let kH5DevelopSever = true
  9. let kH5BetaSever = false
  10. let kH5ProductSever = false
  11. // MARK: - 数据服务器
  12. public func kApiDataPrefix() -> String {
  13. if kPersonalService /** 接口前缀-个人服务器*/ {
  14. return "http://192.168.23.238:8820"
  15. }else if kDevelopSever /** 接口前缀-开发服务器*/ {
  16. return "https://api.dev.caihongxingqiu.com"
  17. } else if kBetaSever /** 接口前缀-测试服务器*/{
  18. return "https://api.dev.caihongxingqiu.com/beta"
  19. }else if kProductSever /** 接口前缀-生产服务器*/ {
  20. return "https://api.uptoyo.com"
  21. }else {
  22. return ""
  23. }
  24. }
  25. // MARK: - Virus
  26. public func kApiVirusPrefix() -> String {
  27. if kPersonalService /** 接口前缀-个人服务器*/ {
  28. return ""
  29. }else if kDevelopSever /** 接口前缀-开发服务器*/ {
  30. return ((ConfigModel.shared.object()?.virusUrl ?? "https://api.dev.caihongxingqiu.com/virus") + "/v2")
  31. // return "https://api.dev.caihongxingqiu.com/virus/v2"
  32. } else if kBetaSever /** 接口前缀-测试服务器*/{
  33. return ((ConfigModel.shared.object()?.virusUrl ?? "https://api.dev.caihongxingqiu.com/beta/virus") + "/v2")
  34. // return "https://api.dev.caihongxingqiu.com/beta/virus/v2"
  35. }else if kProductSever /** 接口前缀-生产服务器*/ {
  36. return ((ConfigModel.shared.object()?.virusUrl ?? "https://api.virus.caihongxingqiu.net") + "/v2")
  37. // return "https://api.virus.caihongxingqiu.net"
  38. }else {
  39. return ""
  40. }
  41. }
  42. // MARK: - H5
  43. public func kApiH5Prefix() -> String {
  44. if kH5PersonalService /** 接口前缀-个人服务器*/ {
  45. return "http://192.168.23.238:8820"
  46. }else if kH5DevelopSever /** 接口前缀-开发服务器*/ {
  47. return "http://h5.dev.caihongxingqiu.com"
  48. } else if kH5BetaSever /** 接口前缀-测试服务器*/{
  49. return "http://h5.beta.caihongxingqiu.com"
  50. }else if kH5ProductSever /** 接口前缀-生产服务器*/ {
  51. return "http://h5.uptoyo.com"
  52. }else {
  53. return ""
  54. }
  55. }
  56. // MARK: - download
  57. public func kApiDownloadPrefix() -> String {
  58. if kPersonalService /** 接口前缀-个人服务器*/ {
  59. return "http://oss.caihongxingqiu.net"
  60. }else if kDevelopSever /** 接口前缀-开发服务器*/ {
  61. return "http://oss.caihongxingqiu.net"
  62. } else if kBetaSever /** 接口前缀-测试服务器*/{
  63. return "http://oss.caihongxingqiu.net"
  64. }else if kProductSever /** 接口前缀-生产服务器*/ {
  65. return "http://oss.caihongxingqiu.net"
  66. }else {
  67. return ""
  68. }
  69. }
  70. /// 头部类型
  71. ///
  72. /// - defaultHeader: 默认
  73. /// - moreHeader: 更多
  74. /// - tokenHeader: 带token的头部
  75. /// - tokenMoreHeader: 带更多,token的头部
  76. public enum HeaderType {
  77. case defaultHeader
  78. case moreHeader
  79. case tokenHeader
  80. case tokenMoreHeader
  81. }
  82. public func headerParameters(headerType:HeaderType = .defaultHeader) -> Dictionary<String,Any> {
  83. var parameters = Dictionary<String,Any>()
  84. switch headerType {
  85. case .defaultHeader:
  86. parameters.updateValue("application/x-www-form-urlencoded", forKey: "Content-Type")
  87. break
  88. case .moreHeader:
  89. parameters.updateValue("application/x-www-form-urlencoded", forKey: "Content-Type")
  90. parameters = appInfoHeader(parameters: parameters)
  91. break
  92. case .tokenHeader:
  93. parameters.updateValue("application/x-www-form-urlencoded", forKey: "Content-Type")
  94. let token = UserModel.shared().getModel()?.token ?? ""
  95. parameters.updateValue(token, forKey: "Authorization")
  96. break
  97. case .tokenMoreHeader:
  98. parameters.updateValue("application/x-www-form-urlencoded", forKey: "Content-Type")
  99. parameters = appInfoHeader(parameters: parameters)
  100. let token = UserModel.shared().getModel()?.token ?? ""
  101. parameters.updateValue(token, forKey: "Authorization")
  102. break
  103. }
  104. return parameters
  105. }
  106. public func appInfoHeader(parameters:Dictionary<String,Any>) -> Dictionary<String,Any> {
  107. var parameters = parameters
  108. parameters.updateValue(AppInfo.vendor, forKey: "vendor")
  109. parameters.updateValue(AppInfo.clientName.addingPercentEncoding(withAllowedCharacters: CharacterSet.urlFragmentAllowed) as Any, forKey: "clientName")
  110. parameters.updateValue(AppInfo.clientVersion, forKey: "clientVersion")
  111. parameters.updateValue(AppInfo.osName, forKey: "osName")
  112. parameters.updateValue(AppInfo.osVersion, forKey: "osVersion")
  113. parameters.updateValue(String(describing: AppInfo.deviceName), forKey: "deviceName")
  114. parameters.updateValue(AppInfo.uuid, forKey: "deviceId")
  115. parameters.updateValue(AppInfo.ipAddress, forKey: "ip")
  116. return parameters
  117. }