12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- //
- // ApiMacro.swift
- // CreaditPayment
- //
- // Created by 南鑫林 on 2018/7/28.
- // Copyright © 2018年 南鑫林. All rights reserved.
- //
- import Foundation
- let kDevelopSever = true
- let kTestSever = false
- let kProductSever = false
- // MARK: - 数据服务器
- public func kApiDataPrefix() -> String {
- if kDevelopSever /** 接口前缀-开发服务器*/ {
- return "https://api.dev.caihongxingqiu.com"
- } else if kTestSever /** 接口前缀-测试服务器*/{
- return "https://api.dev.caihongxingqiu.com/beta"
- }else if kProductSever /** 接口前缀-生产服务器*/ {
- return ""
- }else {
- return ""
- }
- }
- // MARK: - 图片服务器
- public let kApiPicPrefix = ""
- /// 头部类型
- ///
- /// - defaultHeader: 默认
- /// - moreHeader: 更多
- /// - tokenHeader: 带token的头部
- /// - tokenMoreHeader: 带更多,token的头部
- public enum HeaderType {
- case defaultHeader
- case moreHeader
- case tokenHeader
- case tokenMoreHeader
- }
- public func headerParameters(headerType:HeaderType = .defaultHeader) -> Dictionary<String,Any> {
- var parameters = Dictionary<String,Any>()
- switch headerType {
- case .defaultHeader:
- parameters.updateValue("application/x-www-form-urlencoded", forKey: "Content-Type")
- break
- case .moreHeader:
- parameters.updateValue("application/x-www-form-urlencoded", forKey: "Content-Type")
- parameters = appInfoHeader(parameters: parameters)
- break
- case .tokenHeader:
- parameters.updateValue("application/x-www-form-urlencoded", forKey: "Content-Type")
- let token = UserModel.shared().getModel()?.token ?? ""
- parameters.updateValue(token, forKey: "Authorization")
- break
- case .tokenMoreHeader:
- parameters.updateValue("application/x-www-form-urlencoded", forKey: "Content-Type")
- parameters = appInfoHeader(parameters: parameters)
- let token = UserModel.shared().getModel()?.token ?? ""
- parameters.updateValue(token, forKey: "Authorization")
- break
- }
- return parameters
- }
- public func appInfoHeader(parameters:Dictionary<String,Any>) -> Dictionary<String,Any> {
- var parameters = parameters
- parameters.updateValue(AppInfo.vendor, forKey: "vendor")
- parameters.updateValue(AppInfo.clientName.addingPercentEncoding(withAllowedCharacters: CharacterSet.urlFragmentAllowed) as Any, forKey: "clientName")
- parameters.updateValue(AppInfo.clientVersion, forKey: "clientVersion")
- parameters.updateValue(AppInfo.osName, forKey: "osName")
- parameters.updateValue(AppInfo.osVersion, forKey: "osVersion")
- parameters.updateValue(String(describing: AppInfo.deviceName), forKey: "deviceName")
- parameters.updateValue(AppInfo.uuid, forKey: "deviceId")
- parameters.updateValue(AppInfo.ipAddress, forKey: "ip")
- return parameters
- }
|