Moya 在14.0的版本 添加插件很正常,但是在14.0以下 比如13.0 插件会失效 需要导入 import Result
即可解决失效问题
//
// MoyaInterceptor.swift
// iOS
//
// Created by iOS on 2021/4/7.
// Copyright © 2021 iOS. All rights reserved.
//
import UIKit
import Moya
import Result
struct DebugLogPlugin: PluginType {
/// 在发送request之前,还有机会对request修改
func prepare(_ request: URLRequest, target: TargetType) -> URLRequest{
return request
}
/// 发送之前调用
func willSend(_ request: RequestType, target: TargetType){}
/// 接受Response之后,在触发callback之前
func didReceive(_ result: Result<Moya.Response, MoyaError>, target: TargetType){
switch result {
case .success(let response):
debugPrint(response)
case .failure(let error):
debugPrint(error.errorDescription ?? "未知错误")
}
}
/// 在调用Callback之前,还能修改result
func process(_ result: Result<Response, MoyaError>, target: TargetType) -> Result<Response, MoyaError> {
return result
}
}