package com.bgycc.smartcanteen.api; import com.bgycc.smartcanteen.BuildConfig; import java.util.concurrent.TimeUnit; import okhttp3.OkHttpClient; import okhttp3.logging.HttpLoggingInterceptor; import retrofit2.Retrofit; import retrofit2.converter.scalars.ScalarsConverterFactory; /** * 目前以下实例都不使用单例(因为相关操作频率都非常低) */ public class SCRetrofit { private static final long TIMEOUT = 10; public static SCApi createApi(OkHttpClient client) { Retrofit retrofit = createRetrofit(client); return retrofit.create(SCApi.class); } public static OkHttpClient.Builder createOkHttpClientBuilder() { OkHttpClient.Builder builder = new OkHttpClient.Builder() .connectTimeout(TIMEOUT, TimeUnit.SECONDS) .readTimeout(TIMEOUT, TimeUnit.SECONDS) .writeTimeout(TIMEOUT, TimeUnit.SECONDS); if (BuildConfig.DEBUG) { HttpLoggingInterceptor interceptor = new HttpLoggingInterceptor(); interceptor.setLevel(HttpLoggingInterceptor.Level.BASIC); builder.addInterceptor(interceptor); } return builder; } private static Retrofit createRetrofit(OkHttpClient client) { return new Retrofit.Builder() .client(client) .baseUrl(BuildConfig.MainHttpServerHost) .addConverterFactory(ScalarsConverterFactory.create()) .build(); } }