HDLLinkPMSdk/src/main/java/com/hdl/linkpm/sdk/core/interceptor/HDLLoginInterceptor.java
@@ -16,6 +16,7 @@ import com.hdl.linkpm.sdk.user.HDLLinkPMUser; import com.hdl.linkpm.sdk.user.bean.HDLLoginBean; import com.hdl.linkpm.sdk.utils.HDLGsonUtils; import com.hdl.linkpm.sdk.utils.HDLSDKLog; import java.io.IOException; import java.nio.charset.Charset; @@ -36,12 +37,14 @@ */ public class HDLLoginInterceptor implements Interceptor { private String TAG =HDLLoginInterceptor.class.getName(); @NonNull @Override public Response intercept(@NonNull Chain chain) throws IOException { Request request = chain.request(); if (!isRefreshTokenHeader(request.headers())) { String token = HDLLinkPMUser.getInstance().getAccessToken(); HDLSDKLog.i(TAG, "当前请求token:"+token); if (!TextUtils.isEmpty(token)) { Request processRequest = addToken(request, token); Response processResponse = chain.proceed(processRequest); @@ -148,6 +151,7 @@ */ private String refreshToken() { final String cacheRefreshToken = HDLLinkPMUser.getInstance().getRefreshToken(); HDLSDKLog.i(TAG, "刷新Token,当前刷新Token是:"+cacheRefreshToken); final String regionUrl = HDLCloudUserApi.getRequestUrl(HDLCloudUserApi.POST_LOGIN); final OkHttpClient client = HxHttpConfig.getInstance().getClient(); Request.Builder builder = new Request.Builder(); @@ -172,6 +176,7 @@ BaseInfo<HDLLoginBean> baseInfo = HDLGsonUtils.fromJson(respString, new TypeToken<BaseInfo<HDLLoginBean>>() { }.getType()); if (baseInfo != null) { HDLSDKLog.i(TAG, "获取到刷新Token的数据,状态码:"+baseInfo.getCode()); if (baseInfo.getCode() == HDLCloudCode.SUCCEED) { if (baseInfo.getData() != null) { HDLLoginBean loginBean = baseInfo.getData(); HDLLinkPMSdk/src/main/java/com/hdl/linkpm/sdk/user/HDLLinkPMUser.java
@@ -1,6 +1,7 @@ package com.hdl.linkpm.sdk.user; import android.text.TextUtils; import android.util.Log; import com.google.gson.JsonObject; import com.google.gson.reflect.TypeToken; @@ -130,6 +131,7 @@ * @param isLogin */ private void saveLogin(Boolean isLogin) { HDLSDKLog.i(TAG, "登录状态:"+isLogin); HDLSDKSPUtils.put(HDLLINK_ISLOGIN_KEY, isLogin); } @@ -151,11 +153,13 @@ } private void saveAccessToken(String accessToken) { HDLSDKLog.i(TAG, "AccessToken:"+accessToken); this.accessToken = accessToken; HDLSDKSPUtils.put(HDLLINK_ACCESSTOKEN_KEY, this.accessToken); } private void saveRefreshToken(String refreshToken) { HDLSDKLog.i(TAG, "RefreshToken:"+refreshToken); this.refreshToken = refreshToken; HDLSDKSPUtils.put(HDLLINK_REFRESHTOKEN_KEY, this.refreshToken); } @@ -194,6 +198,7 @@ */ private void notificationRelogin(int type) { if (mOnReloginListener != null) { HDLSDKLog.i(TAG, "通知重新登录,登录类型:" + type); mOnReloginListener.onReLogin(type); } } app/src/main/java/com/hdl/photovoltaic/HDLApp.java
@@ -185,6 +185,7 @@ HDLLinkPMUser.getInstance().setOnReloginListener(new IOnReloginListener() { @Override public void onReLogin(int type) { //TODO 如果当前在登录界面,不要再往下走 Log.d("====退到登录界面====", "====退到登录界面====" + type); //type: 0:正常退出 1:极光推送强制退出 //收到登录处理通知,关闭所有页面并打开登录页面