123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- //
- // MoyaConfig.swift
- // fiveConstant
- //
- // Created by 李建 on 2023/1/17.
- //
- import Foundation
- import Moya
- import HandyJSON
- import SwiftUI
- let BASE_URL = "https://app.yongxulvjian.com"
- /// 定义返回的JSON数据字段
- let RESULT_CODE = "code" //状态码
- let RESULT_MESSAGE = "message" //错误消息提示
- enum HttpCode : Int {
- case success = 1 //请求成功的状态吗
- case needLogin = -1 // 返回需要登录的错误码
- }
- struct BaseModel<T: Codable>: Codable {
- var code: Int
- var data: T?
- var message: String
-
- }
- class RequestHandlingPlugin: PluginType {
- public func prepare(_ request: URLRequest, target: TargetType) -> URLRequest {
- var mutateableRequest = request
- mutateableRequest.timeoutInterval = 5
- return mutateableRequest.appendCommonParams();
- }
- }
- let networkPlugin = NetworkActivityPlugin { change, _ in
- switch change {
- case .began:
- DispatchQueue.main.async {
- HUD.loading()
- }
-
- case .ended:
- HUD.hide()
- }
- }
- extension URLRequest {
- mutating func appendCommonParams() -> URLRequest {
- let request = try? encoded(parameters: commonParams, parameterEncoding: URLEncoding(destination: .queryString))
- assert(request != nil, "append common params failed, please check common params value")
- return request!
- }
-
- func encoded(parameters: [String: Any]?, parameterEncoding: ParameterEncoding) throws -> URLRequest {
- do {
- return try parameterEncoding.encode(self, with: parameters)
- } catch {
- throw MoyaError.parameterEncoding(error)
- }
- }
- }
- extension URLRequest {
- //TODO:处理公共参数
- private var commonParams: [String: Any]? {
- //所有接口的公共参数添加在这里例如:
- // return ["token": "",
- // "version": "ios 1.0.0"
- // ]
- return nil
- }
- }
|