57 lines
2.2 KiB
Swift
57 lines
2.2 KiB
Swift
![]() |
//
|
|||
|
// YMRequestConfig.swift
|
|||
|
// yinmeng-ios
|
|||
|
//
|
|||
|
// Created by MaiMang on 2024/2/2.
|
|||
|
//
|
|||
|
|
|||
|
import Foundation
|
|||
|
import Moya
|
|||
|
|
|||
|
/// 网络配置信息,只需要在程序开启的时刻配置一次
|
|||
|
/// Network configuration information, only need to be configured once when the program is started
|
|||
|
public struct YMRequestConfig {
|
|||
|
|
|||
|
/// Whether to add the Debugging plugin by default
|
|||
|
public static var addDebugging: Bool = false
|
|||
|
/// Whether to add the Indicator plugin by default
|
|||
|
public static var addIndicator: Bool = false
|
|||
|
/// Set the request timeout, the default is 30 seconds
|
|||
|
public static var timeoutIntervalForRequest: Double = 30
|
|||
|
|
|||
|
public static var interceptor: RequestInterceptor? = nil
|
|||
|
/// Root path address
|
|||
|
public static var baseURL: APIHost = ""
|
|||
|
/// Default request type, default `post`
|
|||
|
public static var baseMethod: APIMethod = APIMethod.post
|
|||
|
/// Default basic parameters, similar to: userID, token, etc.
|
|||
|
public static var baseParameters: APIParameters = [:]
|
|||
|
/// Default Header argument, 相同数据时该数据会被`NetworkHttpHeaderPlugin`插件覆盖.
|
|||
|
public static var baseHeaders: [String: String] = [:]
|
|||
|
/// Plugins that require default injection, generally not recommended
|
|||
|
/// However, you can inject this kind of global unified general plugin, such as secret key plugin, certificate plugin, etc.
|
|||
|
public static var basePlugins: [PluginSubType]?
|
|||
|
|
|||
|
/// Loading animation JSON, for `AnimatedLoadingPlugin` used.
|
|||
|
public static var animatedJSON: String?
|
|||
|
/// Loading the plugin name, to remove the loading plugin from level status bar window.
|
|||
|
public static var loadingPluginNames: [String] = ["Loading", "AnimatedLoading"]
|
|||
|
/// Auto close all loading after the end of the last network requesting.
|
|||
|
public static var lastCompleteAndCloseLoadingHUDs: Bool = true
|
|||
|
|
|||
|
/// Update the default basic parameter data, which is generally used for what operation the user has switched.
|
|||
|
/// - Parameters:
|
|||
|
/// - value: Update value
|
|||
|
/// - key: Update key
|
|||
|
public static func updateBaseParametersWithValue(_ value: AnyObject?, key: String) {
|
|||
|
var dict = YMRequestConfig.baseParameters
|
|||
|
if let value = value {
|
|||
|
dict.updateValue(value, forKey: key)
|
|||
|
} else {
|
|||
|
dict.removeValue(forKey: key)
|
|||
|
}
|
|||
|
YMRequestConfig.baseParameters = dict
|
|||
|
}
|
|||
|
}
|
|||
|
|