package org.cuieney.videolife.di; import org.cuieney.videolife.common.api.OpApiService; import org.cuieney.videolife.common.api.UrlManager; import org.cuieney.videolife.common.api.KyApiService; import org.cuieney.videolife.common.api.WyApiService; import javax.inject.Inject; import okhttp3.OkHttpClient; import retrofit2.Retrofit; import retrofit2.adapter.rxjava.RxJavaCallAdapterFactory; import retrofit2.converter.gson.GsonConverterFactory; import rx.Observable; /** * Created by cuieney on 17/2/28. */ public class RetrofitHelper { OkHttpClient client; private KyApiService kyApiService; private WyApiService wyApiService; private OpApiService opApiService; @Inject public RetrofitHelper(OkHttpClient client) { this.client = client; init(); } private void init() { kyApiService = getApiService(UrlManager.KAIYAN_HOST,KyApiService.class); wyApiService = getApiService(UrlManager.WANGYI_HOST,WyApiService.class); opApiService = getApiService(UrlManager.YIREN_HOST,OpApiService.class); } private <T> T getApiService(String baseUrl, Class<T> clz) { Retrofit retrofit = new Retrofit.Builder() .baseUrl(baseUrl) .client(client) .addConverterFactory(GsonConverterFactory.create()) .addCallAdapterFactory(RxJavaCallAdapterFactory.create()) .build(); return retrofit.create(clz); } public KyApiService getKyApiService() { return kyApiService; } public WyApiService getWyApiService(){ return wyApiService; } public OpApiService getOpApiService() { return opApiService; } }