服务商获取权限失败的话retry,更换了首页的背景图

This commit is contained in:
DDIsFriend
2023-11-21 13:47:33 +08:00
parent cfd5d93c71
commit 11d838906f
28 changed files with 921 additions and 372 deletions

View File

@@ -17,52 +17,76 @@ extension DDAlamofire {
public init() {}
}
public enum DDError : Error {
case allError
}
// MARK: example
public func get<T:Decodable,P:Encodable>(urlString:String,parameters:P? = DDParameters(),encoding:ParameterEncoder = URLEncodedFormParameterEncoder.default,headers:HTTPHeaders? = nil,responseType:T.Type = T.self) -> Single<T?> {
public func get<T:Decodable,P:Encodable>(urlString:String,parameters:P? = DDParameters(),encoding:ParameterEncoder = URLEncodedFormParameterEncoder.default,headers:HTTPHeaders? = nil,responseType:T.Type = T.self,completionHandler: (((SingleEvent<T?>) -> Void,AFDataResponse<T>) -> Void)? = nil) -> Single<T?> {
return Single<T?>.create {[weak self] single in
self?.request(urlString: urlString, method: .get,parameters: parameters,encoding: encoding,headers: headers,responseType: responseType,completionHandler: {[weak self] response in
self?.logInfo(parameters: parameters, response: response)
single(.success(response.value))
if let completionHandler {
completionHandler(single,response)
}else{
single(.success(response.value))
}
})
return Disposables.create()
}
}
public func post<T:Decodable,P:Encodable>(urlString:String,parameters:P? = DDParameters(),encoding:ParameterEncoder = URLEncodedFormParameterEncoder.default,headers:HTTPHeaders? = nil,responseType:T.Type = T.self) -> Single<T?> {
public func post<T:Decodable,P:Encodable>(urlString:String,parameters:P? = DDParameters(),encoding:ParameterEncoder = URLEncodedFormParameterEncoder.default,headers:HTTPHeaders? = nil,responseType:T.Type = T.self,completionHandler: (((SingleEvent<T?>) -> Void,AFDataResponse<T>) -> Void)? = nil) -> Single<T?> {
return Single<T?>.create {[weak self] single in
self?.request(urlString: urlString, method: .post,parameters: parameters,encoding: encoding,headers: headers,responseType: responseType,completionHandler: {[weak self] response in
self?.logInfo(parameters: parameters, response: response)
single(.success(response.value))
if let completionHandler {
completionHandler(single,response)
}else{
single(.success(response.value))
}
})
return Disposables.create()
}
}
public func get<T:Decodable>(urlString:String,parameters:[String:Any]? = nil,encoding:ParameterEncoding = URLEncoding.default,headers:HTTPHeaders? = nil,responseType:T.Type = T.self) -> Single<T?> {
public func get<T:Decodable>(urlString:String,parameters:[String:Any]? = nil,encoding:ParameterEncoding = URLEncoding.default,headers:HTTPHeaders? = nil,responseType:T.Type = T.self,completionHandler: (((SingleEvent<T?>) -> Void,AFDataResponse<T>) -> Void)? = nil) -> Single<T?> {
return Single<T?>.create {[weak self] single in
self?.request(urlString: urlString, method: .get,parameters: parameters,encoding: encoding,headers: headers,responseType: responseType,completionHandler: {[weak self] response in
self?.logInfo(parameters: parameters, response: response)
single(.success(response.value))
if let completionHandler {
completionHandler(single,response)
}else{
single(.success(response.value))
}
})
return Disposables.create()
}
}
public func post<T:Decodable>(urlString:String,parameters:[String:Any]? = nil,encoding:ParameterEncoding = URLEncoding.default,headers:HTTPHeaders? = nil,responseType:T.Type = T.self) -> Single<T?> {
public func post<T:Decodable>(urlString:String,parameters:[String:Any]? = nil,encoding:ParameterEncoding = URLEncoding.default,headers:HTTPHeaders? = nil,responseType:T.Type = T.self,completionHandler: (((SingleEvent<T?>) -> Void,AFDataResponse<T>) -> Void)? = nil) -> Single<T?> {
return Single<T?>.create {[weak self] single in
self?.request(urlString: urlString, method: .post,parameters: parameters,encoding: encoding,headers: headers,responseType: responseType,completionHandler: {[weak self] response in
self?.logInfo(parameters: parameters, response: response)
single(.success(response.value))
if let completionHandler {
completionHandler(single,response)
}else{
single(.success(response.value))
}
})
return Disposables.create()
}
}
public func upload<T:Decodable>(urlString:String,headers:HTTPHeaders? = nil,responseType:T.Type = T.self,multipartFormData: @escaping (MultipartFormData) -> Void,uploadProgress: @escaping (Progress) -> Void) -> Single<T?> {
public func upload<T:Decodable>(urlString:String,headers:HTTPHeaders? = nil,responseType:T.Type = T.self,multipartFormData: @escaping (MultipartFormData) -> Void,uploadProgress: @escaping (Progress) -> Void,completionHandler: (((SingleEvent<T?>) -> Void,AFDataResponse<T>) -> Void)? = nil) -> Single<T?> {
return Single<T?>.create {[weak self] single in
self?.upload(urlString: urlString,method: .post,headers: headers,responseType: responseType,multipartFormData: multipartFormData,uploadProgress: uploadProgress,completionHandler: { response in
self?.logInfo(parameters: nil, response: response)
single(.success(response.value))
if let completionHandler {
completionHandler(single,response)
}else{
single(.success(response.value))
}
})
return Disposables.create()
}