From fcdddf8b9b34f9930bec454b5fffe41c0e33ba3c Mon Sep 17 00:00:00 2001 From: Linjiajia <319408893@qq.com> Date: 星期一, 24 四月 2023 21:17:05 +0800 Subject: [PATCH] 功能模块大部分 --- app_base/src/main/java/com/android/app_base/http/OkHttpHelper.java | 41 ++++++++++++++++++++++++++++------------- 1 files changed, 28 insertions(+), 13 deletions(-) diff --git a/app_base/src/main/java/com/android/app_base/http/OkHttpHelper.java b/app_base/src/main/java/com/android/app_base/http/OkHttpHelper.java index 3f75c98..92f62d1 100644 --- a/app_base/src/main/java/com/android/app_base/http/OkHttpHelper.java +++ b/app_base/src/main/java/com/android/app_base/http/OkHttpHelper.java @@ -2,21 +2,29 @@ import android.content.Context; +import androidx.annotation.NonNull; + import com.android.app_base.BuildConfig; import com.android.app_base.base.BaseApplication; +import com.android.app_base.http.interceptor.AuthInterceptor; import com.android.app_base.http.interceptor.CacheInterceptor; +import com.android.app_base.http.interceptor.LogInterceptor; import com.blankj.utilcode.util.LogUtils; import com.franmontiel.persistentcookiejar.PersistentCookieJar; import com.franmontiel.persistentcookiejar.cache.SetCookieCache; import com.franmontiel.persistentcookiejar.persistence.SharedPrefsCookiePersistor; import java.io.File; +import java.io.IOException; import java.io.UnsupportedEncodingException; import java.net.URLDecoder; import java.util.concurrent.TimeUnit; import okhttp3.Cache; +import okhttp3.Interceptor; import okhttp3.OkHttpClient; +import okhttp3.Request; +import okhttp3.Response; import okhttp3.logging.HttpLoggingInterceptor; /** @@ -31,7 +39,6 @@ private final static int WRITE_TIMEOUT = 15; //缂撳瓨鏃堕棿 private final static int CACHE_SIZE = 10 * 1024 * 1024; - private static Context mContext = BaseApplication.getInstance(); private static volatile OkHttpClient okHttpClient; private OkHttpHelper() { @@ -46,30 +53,34 @@ //閿欒閲嶈繛 clientBuilder.retryOnConnectionFailure(true); //cookie + Context mContext = BaseApplication.getInstance(); clientBuilder.cookieJar(new PersistentCookieJar(new SetCookieCache(),new SharedPrefsCookiePersistor(mContext))); //缂撳瓨鎷︽埅 Cache cache = new Cache(new File(mContext.getCacheDir(),"http_cache"),CACHE_SIZE); clientBuilder.cache(cache).addInterceptor(new CacheInterceptor()); -// //澧炲姞澶撮儴淇℃伅鎷︽埅 -// clientBuilder.addInterceptor(new Interceptor() { -// @Override -// public Response intercept(Chain chain) throws IOException { -// Request build = chain.request().newBuilder() -// .addHeader("Content-Type", "application/json") -// .build(); -// return chain.proceed(build); -// } -// }); + //澧炲姞澶撮儴淇℃伅鎷︽埅 + clientBuilder.addInterceptor(new Interceptor() { + @NonNull + @Override + public Response intercept(@NonNull Chain chain) throws IOException { + Request build = chain.request().newBuilder() + .addHeader("Content-Type", "application/json") + .build(); + return chain.proceed(build); + } + }); + clientBuilder.addInterceptor(new LogInterceptor());//鎷︽埅鍣ㄦ坊鍔犲叕鍏卞弬鏁� + clientBuilder.addInterceptor(new AuthInterceptor());//鎷︽埅鍣╰oken澶辨晥澶勭悊 //log鏃ュ織鎷︽埅 if (BuildConfig.DEBUG) { clientBuilder.addInterceptor(new HttpLoggingInterceptor(new HttpLoggingInterceptor.Logger() { @Override public void log(String message) { try { -// String msg = message.replaceAll("%(?![0-9a-fA-F]{2})","%25"); - String text = URLDecoder.decode(message, "utf-8"); + String msg = message.replaceAll("%(?![0-9a-fA-F]{2})","%25"); + String text = URLDecoder.decode(msg, "utf-8"); LogUtils.dTag("LOG","缃戠粶璇锋眰"+text); } catch (UnsupportedEncodingException e) { e.printStackTrace(); @@ -93,4 +104,8 @@ } return okHttpClient; } + + public static void addInterceptor(Interceptor interceptor){ + okHttpClient = getOkHttpClient().newBuilder().addInterceptor(interceptor).build(); + } } -- Gitblit v1.9.1