123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190 |
- //
- // SwiftMoyaServiceConfigApi.swift
- // RainbowPlanet
- //
- // Created by 南鑫林 on 2019/4/26.
- // Copyright © 2019 南鑫林. All rights reserved.
- //
- import Foundation
- import Moya
- // MARK: - 自提点列表
- /// 自提点列表
- public let kConfigPickupNodeIndexApi = "/config/pickupNode/index"
- // MARK: - 已开通城市列表
- /// 已开通城市列表
- public let kConfigCityManagementIndexApi = "/config/cityManagement/index"
- // MARK: - 单图上传
- /// 单图上传
- public let kConfigUploadSingleImgApi = "/config/upload"
- // MARK: - 多图上传
- /// 多图上传
- public let kConfigUploadMultiImgApi = "/config/multi_upload"
- // MARK: - 前端config配置
- /// 前端config配置
- public let kConfigConfigApi = "/config/config"
- // MARK: - 邀请海报
- /// 邀请海报
- public let kConfigPosterInviteApi = "/config/poster/invite"
- // MARK: - 系统升级接口
- /// 系统升级接口
- public let kConfigUpgradeApi = "/config/upgrade"
- // MARK: - 启动页信息
- /// 启动页信息
- public let kConfigStartupApi = "/config/v3/startup"
- // MARK: - 获取sts上传凭证(前台)
- /// 获取sts上传凭证(前台)
- public let kConfigOSSStsApi = "/config/oss/sts"
- /// 基础配置
- ///
- /// - configPickupNodeIndex: 自提点列表
- /// - configCityManagementIndex: 已开通城市列表
- /// - configUploadSingleImg: 单图上传
- /// - configUploadSingleImgWithoutHud: 单图上传
- /// - configUploadMultiImg: 单图上传
- /// - configPosterInvite: 邀请海报
- /// - configStartup: 启动页信息
- /// - configOSSSts: 获取sts上传凭证(前台)
- public enum SwiftMoyaServiceConfigApi {
- case configConfig(parameters:Dictionary<String,Any>)
- case configPickupNodeIndex(parameters:Dictionary<String, Any>)
- case configCityManagementIndex(parameters:Dictionary<String, Any>)
- case configUploadSingleImg(parameters:Dictionary<String, Any>,dataArray:Array<Any>)
- case configUploadSingleImgWithoutHud(parameters:Dictionary<String, Any>,dataArray:Array<Any>)
- case configUploadMultiImg(parameters:Dictionary<String, Any>,dataArray:Array<Any>)
- case configPosterInvite(parameters:Dictionary<String, Any>)
- case configUpgrade(parameters:Dictionary<String, Any>)
- case configStartup(parameters:Dictionary<String, Any>)
- case configOSSSts(parameters:Dictionary<String, Any>)
- }
- extension SwiftMoyaServiceConfigApi: TargetType {
-
- public var baseURL: URL {
- switch self {
- case .configConfig,
- .configPickupNodeIndex,
- .configCityManagementIndex,
- .configUploadSingleImg,
- .configUploadSingleImgWithoutHud,
- .configUploadMultiImg,
- .configPosterInvite,
- .configUpgrade,
- .configStartup,
- .configOSSSts
- :
- return URL(string: kApiDataPrefix())!
- }
- }
-
- public var path: String {
- switch self {
- case .configConfig:
- return kConfigConfigApi
- case .configPickupNodeIndex:
- return kConfigPickupNodeIndexApi
- case .configCityManagementIndex:
- return kConfigCityManagementIndexApi
- case .configUploadSingleImg,
- .configUploadSingleImgWithoutHud:
- return kConfigUploadSingleImgApi
- case .configUploadMultiImg:
- return kConfigUploadMultiImgApi
- case .configPosterInvite:
- return kConfigPosterInviteApi
- case .configUpgrade:
- return kConfigUpgradeApi
- case .configStartup:
- return kConfigStartupApi
- case .configOSSSts:
- return kConfigOSSStsApi
- }
- }
-
- public var method: Moya.Method {
- switch self {
- case .configConfig,
- .configPickupNodeIndex,
- .configCityManagementIndex,
- .configPosterInvite,
- .configUpgrade,
- .configStartup,
- .configOSSSts
- :
- return .get
- case .configUploadSingleImg,
- .configUploadSingleImgWithoutHud,
- .configUploadMultiImg
- :
- return .post
- }
- }
-
- // MARK: - 请求任务事件(这里附带上参数)
- public var task: Task {
- switch self {
- case .configConfig(var parameters),
- .configPickupNodeIndex(var parameters),
- .configCityManagementIndex(var parameters),
- .configPosterInvite(var parameters),
- .configUpgrade(var parameters),
- .configStartup(var parameters),
- .configOSSSts(var parameters)
- :
- let sign = SwiftSign.shared().sign(signType:.AccessToken, parameters: parameters)
- parameters.updateValue(sign, forKey: "sign")
- return .requestParameters(parameters: parameters, encoding: URLEncoding.default)
- case .configUploadSingleImg(_,let dataArray),
- .configUploadSingleImgWithoutHud(_,let dataArray),
- .configUploadMultiImg(_,let dataArray)
- :
- return .uploadMultipart(dataArray as! [MultipartFormData])
- }
- }
-
-
- // MARK: - 是否执行Alamofire验证
- public var validate: Bool {
- return false
- }
-
- // MARK: - 这个就是做单元测试模拟的数据,只会在单元测试文件中有作用
- public var sampleData: Data {
- return "{}".data(using: String.Encoding.utf8)!
- }
-
- // MARK: - 请求头
- public var headers: [String : String]? {
- //同task,具体选择看后台 有application/x-www-form-urlencoded 、application/json
- switch self {
- case .configConfig,
- .configUpgrade,
- .configStartup
- :
- return (headerParameters(headerType: .defaultHeader) as! [String : String])
- case .configPickupNodeIndex,
- .configCityManagementIndex,
- .configUploadSingleImg,
- .configUploadSingleImgWithoutHud,
- .configUploadMultiImg,
- .configPosterInvite,
- .configOSSSts
- :
- return (headerParameters(headerType: .tokenHeader) as! [String : String])
- }
- }
-
- }
|