package com.dayu.qiheonlinelibrary.net; import com.dayu.baselibrary.BuildConfig; import java.util.concurrent.TimeUnit; import okhttp3.OkHttpClient; import okhttp3.logging.HttpLoggingInterceptor; import retrofit2.Retrofit; import retrofit2.adapter.rxjava3.RxJava3CallAdapterFactory; import retrofit2.converter.gson.GsonConverterFactory; /** * Copyright (C), 2023, * Author: zuo * Date: 2023-03-27 14:56 * Description: */ public class RetrofitClient { // private static final String BASE_URL = " http://114.116.229.87/api/"; private static RetrofitClient mInstance; private Retrofit retrofit; private static final int READ_TIME_OUT = 10; private static final int CONNECT_TIME_OUT = 10; private RetrofitClient() { HttpLoggingInterceptor loggingInterceptor = new HttpLoggingInterceptor(); // 包含header、body数据 loggingInterceptor.setLevel(HttpLoggingInterceptor.Level.BODY); // loggingInterceptor.setLevel(HttpLoggingInterceptor.Level.HEADERS); OkHttpClient.Builder builder = new OkHttpClient().newBuilder(); //设置连接和读取时间 builder.readTimeout(READ_TIME_OUT, TimeUnit.SECONDS); builder.connectTimeout(CONNECT_TIME_OUT, TimeUnit.SECONDS); builder.writeTimeout(CONNECT_TIME_OUT, TimeUnit.SECONDS); //添加统一的header builder.addInterceptor(new MyIntercepterApplication()); //添加日志拦截器 //添加数据请求统一处理拦截器 if (BuildConfig.DEBUG) { builder.addInterceptor(loggingInterceptor); } OkHttpClient client = builder.build(); retrofit = new Retrofit.Builder() .baseUrl(Constants.BASE_URL) .addConverterFactory(GsonConverterFactory.create()) .addCallAdapterFactory(RxJava3CallAdapterFactory.create()) .client(client).build(); } public static synchronized RetrofitClient getInstance() { if (mInstance == null) { mInstance = new RetrofitClient(); } return mInstance; } public ApiService getApiService() { return retrofit.create(ApiService.class); } }