From 42ea59771a54d2591df0a6dd3936dda669be99ae Mon Sep 17 00:00:00 2001
From: gs <3129367635@qq.com>
Date: 星期一, 08 七月 2024 12:23:48 +0800
Subject: [PATCH] 会议统计接入增加,删除,修改接口
---
app_base/src/main/java/com/android/app_base/http/OkHttpHelper.java | 52 +++++++++++++++++++++++++++++++++++++++-------------
1 files changed, 39 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..468a0ca 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,30 @@
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.blankj.utilcode.util.NetworkUtils;
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 +40,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 +54,44 @@
//閿欒閲嶈繛
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澶辨晥澶勭悊
+ clientBuilder.addInterceptor(new Interceptor() {
+ @NonNull
+ @Override
+ public Response intercept(@NonNull Chain chain) throws IOException {
+ if (!NetworkUtils.isAvailable()) {
+ throw new IOException("褰撳墠缃戠粶涓嶅彲鐢紝璇锋鏌ョ綉缁滆缃�");
+ }
+ return chain.proceed(chain.request());
+ }
+ });
//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 +115,8 @@
}
return okHttpClient;
}
+
+ public static void addInterceptor(Interceptor interceptor){
+ okHttpClient = getOkHttpClient().newBuilder().addInterceptor(interceptor).build();
+ }
}
--
Gitblit v1.9.1