package com.hdl.sdk.connect.config;
|
|
import android.content.Context;
|
import android.text.TextUtils;
|
|
import com.hdl.hdlhttp.HxHttpConfig;
|
import com.hdl.sdk.common.utils.SPUtils;
|
import com.hdl.sdk.connect.cloud.interceptor.EncryptInterceptor;
|
import com.hdl.sdk.connect.cloud.interceptor.HdlLoginInterceptor;
|
import com.hdl.sdk.connect.cloud.interceptor.SmartHeaderInterceptor;
|
import com.hdl.sdk.sourceos.utils.SPKey;
|
|
import okhttp3.Interceptor;
|
import okhttp3.logging.HttpLoggingInterceptor;
|
|
/**
|
* Created by panlili on 2025/3/4
|
* description:
|
*/
|
public class HDLCloudConfig {
|
|
private String mBaseUrl;
|
|
private String mDefBaseUrl;
|
|
private String mLanguage;
|
|
private static final String DEF_TOKEN_HEADER_PREFIX = "Bearer ";
|
|
private HDLCloudConfig() {
|
}
|
|
private static class SingletonInstance {
|
private static final HDLCloudConfig INSTANCE = new HDLCloudConfig();
|
}
|
|
public static HDLCloudConfig getInstance() {
|
return SingletonInstance.INSTANCE;
|
}
|
|
private Context context;
|
|
private String appKey, appSecret;
|
|
private String token, refreshToken;
|
|
private String tokenHeaderPrefix = DEF_TOKEN_HEADER_PREFIX;
|
|
public Context getContext() {
|
return context;
|
}
|
|
public void init(Context context, String appKey, String appSecret, String url) {
|
this.context = context;
|
HxHttpConfig.getInstance().init(context, url)
|
.addInterceptor(
|
new HdlLoginInterceptor(),
|
new EncryptInterceptor(),
|
new SmartHeaderInterceptor());
|
this.mBaseUrl = url;
|
this.mDefBaseUrl = url;
|
this.appKey = appKey;
|
this.appSecret = appSecret;
|
setBaseUrl(url);
|
}
|
|
public void addInterceptor(Interceptor... interceptors) {
|
HxHttpConfig.getInstance().addInterceptor(interceptors);
|
}
|
|
|
public String getBaseUrl() {
|
if (TextUtils.isEmpty(mBaseUrl)) {
|
mBaseUrl = SPUtils.getString(SPKey.BASE_URL, "");
|
}
|
return mBaseUrl;
|
}
|
|
public void setBaseUrl(String mBaseUrl) {
|
this.mBaseUrl = mBaseUrl;
|
HxHttpConfig.getInstance().init(context,mBaseUrl);
|
SPUtils.put(SPKey.BASE_URL, mBaseUrl);
|
}
|
|
public String getDefBaseUrl() {
|
return mDefBaseUrl;
|
}
|
|
public void setDefBaseUrl(String mDefBaseUrl) {
|
this.mDefBaseUrl = mDefBaseUrl;
|
}
|
|
public String getAppKey() {
|
return appKey;
|
}
|
|
public void setAppKey(String appKey) {
|
this.appKey = appKey;
|
}
|
|
public String getAppSecret() {
|
return appSecret;
|
}
|
|
public void setAppSecret(String appSecret) {
|
this.appSecret = appSecret;
|
}
|
|
public synchronized String getToken() {
|
if (TextUtils.isEmpty(token)) {
|
token = SPUtils.getString(SPKey.TOKEN);
|
}
|
return token;
|
|
}
|
|
public synchronized void setToken(String token) {
|
this.token = token;
|
SPUtils.put(SPKey.TOKEN, token);
|
}
|
|
public synchronized String getRefreshToken() {
|
if (TextUtils.isEmpty(refreshToken)) {
|
refreshToken = SPUtils.getString(SPKey.REFRESH_TOKEN);
|
}
|
return refreshToken;
|
}
|
|
public synchronized void setRefreshToken(String refreshToken) {
|
this.refreshToken = refreshToken;
|
SPUtils.put(SPKey.REFRESH_TOKEN, refreshToken);
|
}
|
|
public String getTokenHeaderPrefix() {
|
return tokenHeaderPrefix;
|
}
|
|
public void setTokenHeaderPrefix(String tokenHeaderPrefix) {
|
this.tokenHeaderPrefix = tokenHeaderPrefix;
|
}
|
|
|
public String getLanguage() {
|
return mLanguage;
|
}
|
|
public void setLanguage(String mLanguage) {
|
this.mLanguage = mLanguage;
|
}
|
}
|