2025-08-03 21:35:56 +08:00
|
|
|
|
package com.example.myapplication.Tool;
|
|
|
|
|
|
|
|
|
|
import okhttp3.OkHttpClient;
|
|
|
|
|
import okhttp3.logging.HttpLoggingInterceptor;
|
|
|
|
|
import retrofit2.Retrofit;
|
|
|
|
|
import retrofit2.converter.gson.GsonConverterFactory;
|
|
|
|
|
import java.util.concurrent.TimeUnit;
|
|
|
|
|
|
|
|
|
|
public class RetrofitClient {
|
|
|
|
|
private static final String BASE_URL = "http://pms.dtyx.net:9158/";
|
|
|
|
|
private static Retrofit retrofit;
|
|
|
|
|
|
|
|
|
|
public static Retrofit getClient(String authToken) {
|
|
|
|
|
if (retrofit == null) {
|
|
|
|
|
// 创建 OkHttpClient 并添加拦截器
|
|
|
|
|
OkHttpClient.Builder okHttpClientBuilder = new OkHttpClient.Builder()
|
|
|
|
|
.connectTimeout(30, TimeUnit.SECONDS)
|
|
|
|
|
.readTimeout(30, TimeUnit.SECONDS)
|
|
|
|
|
.writeTimeout(30, TimeUnit.SECONDS);
|
|
|
|
|
|
|
|
|
|
// 添加日志拦截器(可选)
|
|
|
|
|
HttpLoggingInterceptor loggingInterceptor = new HttpLoggingInterceptor();
|
|
|
|
|
loggingInterceptor.setLevel(HttpLoggingInterceptor.Level.BASIC);
|
|
|
|
|
okHttpClientBuilder.addInterceptor(loggingInterceptor);
|
|
|
|
|
|
|
|
|
|
// 添加认证拦截器(自动添加 Authorization header)
|
|
|
|
|
okHttpClientBuilder.addInterceptor(new AuthInterceptor(authToken));
|
|
|
|
|
|
|
|
|
|
// 构建 Retrofit
|
|
|
|
|
retrofit = new Retrofit.Builder()
|
|
|
|
|
.baseUrl(BASE_URL)
|
|
|
|
|
.client(okHttpClientBuilder.build())
|
|
|
|
|
.addConverterFactory(GsonConverterFactory.create())
|
|
|
|
|
.build();
|
|
|
|
|
}
|
|
|
|
|
return retrofit;
|
|
|
|
|
}
|
2025-07-11 18:25:40 +08:00
|
|
|
|
}
|