version:2.3

fix:
update:接口优化,更换图标,增加可折叠TextView
This commit is contained in:
2023-01-09 10:01:19 +08:00
parent 39d0f0b597
commit 6540365e9f
17 changed files with 453 additions and 216 deletions

View File

@@ -355,7 +355,7 @@ public class NetInterfaceManager {
public void getActivityList(boolean refresh, BehaviorSubject<FragmentEvent> lifecycle, ActivitiesListCallback callback) {
ConnectMode connectMode = ConnectMode.ONE_MINUTE;
if (refresh) {
connectMode = ConnectMode.DEFAULT;
connectMode = ConnectMode.ONE_MINUTE;
}
if (ConnectManager.getInstance().isNeedConnect(URLAddress.GET_ACTIVITY_LIST, connectMode)) {
getActivityList(lifecycle, callback);
@@ -463,9 +463,9 @@ public class NetInterfaceManager {
}
public void getDemandList(boolean refresh, BehaviorSubject<FragmentEvent> lifecycle, DemandListCallback callback) {
ConnectMode connectMode = ConnectMode.ONE_MINUTE;
ConnectMode connectMode = ConnectMode.ONE_HOUR;
if (refresh) {
connectMode = ConnectMode.DEFAULT;
connectMode = ConnectMode.ONE_MINUTE;
}
if (ConnectManager.getInstance().isNeedConnect(URLAddress.GET_DEMAND_LIST, connectMode)) {
getDemandList(lifecycle, callback);
@@ -581,9 +581,9 @@ public class NetInterfaceManager {
}
public void getHealthCode(boolean refresh, BehaviorSubject<ActivityEvent> lifecycle, HealthCodeCallback callback) {
ConnectMode connectMode = ConnectMode.ONE_MINUTE;
ConnectMode connectMode = ConnectMode.ONE_HOUR;
if (refresh) {
connectMode = ConnectMode.DEFAULT;
connectMode = ConnectMode.ONE_MINUTE;
}
if (ConnectManager.getInstance().isNeedConnect(URLAddress.GET_HEALTH_CODE, connectMode)) {
getHealthCode(lifecycle, callback);

View File

@@ -13,9 +13,14 @@ import java.util.concurrent.ConcurrentHashMap;
import okhttp3.Interceptor;
import okhttp3.Protocol;
import okhttp3.Request;
import okhttp3.RequestBody;
import okhttp3.Response;
import okhttp3.ResponseBody;
import okio.Buffer;
/**
* v1.0 2022-07-15 16:16:52
*/
public class RepeatRequestInterceptor implements Interceptor {
private static final String TAG = RepeatRequestInterceptor.class.getSimpleName();
@@ -26,13 +31,18 @@ public class RepeatRequestInterceptor implements Interceptor {
@Override
public Response intercept(@NotNull Chain chain) throws IOException {
Request request = chain.request();
Response response = chain.proceed(request);
ResponseBody responseBody = response.body();
Response response = chain.proceed(chain.request());
String content = response.body().string();
if (BuildConfig.DEBUG)
Log.e(TAG, "请求体返回:| Response:" + content);
//会消费请求,导致请求多次
String content = responseBody.string();
// Response copy = response.newBuilder().body(responseBody).build();
ResponseBody copy = ResponseBody.create(responseBody.contentType(), content);
if (BuildConfig.DEBUG) {
// Log.e(TAG, "请求体返回:| Response: " + request.url().encodedPath() + "\t body: " + content);
}
//相同的请求
String requestKey = MD5Util.getUpperMD5Str(request.method() + request.url().toString() + request.body());
String requestKey = MD5Util.getUpperMD5Str(request.method() + request.url().toString() + requestBodyToString(request.body()));
long time = System.currentTimeMillis();//请求时间
try {
if (requestIdsMap.size() > 0 && requestIdsMap.containsKey(requestKey)) {
@@ -48,7 +58,7 @@ public class RepeatRequestInterceptor implements Interceptor {
log("注册请求:", requestKey, request);
// RepeatRequestInterceptor.Builder builder = request.newBuilder();
// builder.addHeader("header", jsonObject.toString());
return chain.proceed(request);
return response.newBuilder().body(copy).build();
} catch (IOException e) {
Log.e(TAG, "intercept: " + e.getMessage());
throw e;
@@ -78,8 +88,20 @@ public class RepeatRequestInterceptor implements Interceptor {
}
return buffer.readUtf8();
} catch (Exception e) {
return "-" + e.getMessage();
return "-";
}
}
private static String requestBodyToString(RequestBody body) {
try {
final Buffer buffer = new Buffer();
body.writeTo(buffer);
if (buffer.size() > 4096) {
return "-too long";
}
return buffer.readUtf8();
} catch (Exception e) {
return "-";
}
}
}