Linjiajia
2023-04-24 fcdddf8b9b34f9930bec454b5fffe41c0e33ba3c
app_base/src/main/java/com/android/app_base/http/interceptor/LogInterceptor.java
@@ -39,7 +39,7 @@
        //重定向URL
        @SuppressLint("MissingPermission") HttpUrl modifiedUrl = request.url().newBuilder()
                //添加的公共参数
                .addQueryParameter("deviceId", PhoneUtils.getDeviceId())
//                .addQueryParameter("deviceId", PhoneUtils.getDeviceId())
                .addQueryParameter("udid", "")
                .addQueryParameter("channel", "")
                .addQueryParameter("version", "")
@@ -51,7 +51,7 @@
                .addQueryParameter("os", "android")
                .addQueryParameter("osVersion", DeviceUtils.getSDKVersionName())
                .addQueryParameter("isSimulator", DeviceUtils.isEmulator() ? "1" : "0")
                .addQueryParameter("imei", PhoneUtils.getIMEI())
//                .addQueryParameter("imei", PhoneUtils.getIMEI())
                .addQueryParameter("oaid", "android")
                .addQueryParameter("androidId", DeviceUtils.getAndroidID())
//                .addQueryParameter("networkType", NetworkUtils.getNetworkType().name())
@@ -59,35 +59,9 @@
                .build();
        Request.Builder builder = request.newBuilder();
        //添加头部token
        String token = UserManager.getInstance().getToken();
        if (!TextUtils.isEmpty(token)) {
            builder.addHeader("Authorization", token);
        }
        Request newRequest = builder.url(modifiedUrl).build();
        Response response = chain.proceed(newRequest);
        //解决response.body().string();只能打印一次
        ResponseBody responseBody = response.body();
        BufferedSource source = responseBody.source();
        source.request(Long.MAX_VALUE); // Buffer the entire body.
        Buffer buffer = source.getBuffer();
        Charset UTF8 = Charset.forName("UTF-8");
        String string = buffer.clone().readString(UTF8);
        try {
            JSONObject jsonObject = new JSONObject(string);
            int code = jsonObject.getInt("code");
            if (code == BaseConfig.TOKEN_INVALID ) {
                ToastUtils.showShort("登录状态失效,请重新登录");
                UserManager.getInstance().clearToken();
                AppManager.getAppManager().finishAllActivity();
                AppManager.getAppManager().startActivityForName(BaseConfig.LOGIN_ACTIVITY);
            }
        } catch (JSONException e) {
            throw new RuntimeException(e);
        }
        return response;
        return chain.proceed(newRequest);
    }
}