原 Moya 中 task: Moya.Task {} 可以指定参数编码方式, 这个能往外传递, 我们来定义吗, 现在框架默认post 用的JSONEncoding, 我们公司用的URLEncoding
SnailLoveSmile opened this issue · comments
原 Moya 中 task: Moya.Task {} 可以指定参数编码方式, 这个能往外传递, 我们来定义吗, 现在框架默认post 用的JSONEncoding, 我们公司用的URLEncoding
发送请求前 需要对原有的参数 进行 签名得到一个值后再加到请求参数中, 能在哪里做统一处理呀, 谢谢
1.本来就是走的协议,可以自己去实现task
2.也可以继承NetworkAPI
,然后默认实现你的需求
3.签名方面可以自己去写插件实现,可以在configuration
插件协议当中去实现你的签名需求
发送请求前 需要对原有的参数 进行 签名得到一个值后再加到请求参数中, 能在哪里做统一处理呀, 谢谢
extension AuthPlugin: PluginSubType {
public var pluginName: String {
"AuthPlugin"
}
public func prepare(_ request: URLRequest, target: TargetType) -> URLRequest {
var _urlRequest = request
let token = "xxxxx"
let crytoInfo = (x_date: xxx, signture: xxxx)
_urlRequest.headers.add(name: "X-Date", value: crytoInfo.x_date)
_urlRequest.headers.add(name: "Authorization", value: crytoInfo.signture)
return _urlRequest
}
}
// 用法
// NetworkConfig.injectionPlugins = [AuthPlugin.shared]
感谢大家热情回复, 谢谢