JLChen
2021-11-16 a4246a571c78ac6c46e7bf7dbfc123b7148caed8
HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/config/HDLLinkConfig.java
@@ -4,6 +4,7 @@
import com.hdl.sdk.common.config.TopicConstant;
import com.hdl.sdk.common.utils.SPUtils;
import com.hdl.sdk.connect.bean.response.GatewaySearchBean;
/**
@@ -12,14 +13,16 @@
 * @Description : HDLLinkConfig
 */
public class HDLLinkConfig {
    private static final String Authenticate_LS_KEY = "auth_ls_key";
    private static final String AUTHENTICATE_LS_KEY = "auth_ls_key";
    private static final String AUTHENTICATE_GATEWAYID_KEY = "auth_gatewayid_key";
    private static final String AUTHENTICATE_IPADDRESS_KEY = "auth_ipaddress_key";
    private static final String AUTHENTICATE_IS_LS_KEY = "auth_isls_key";
    private String localSecret;//本地加密密钥
    private String gatewayId;
    private String ipAddress;
    private boolean isLocalEncrypt;//网关是否需要加密通讯
    private GatewaySearchBean currentGateway;//当前网关
    /**
     * instance
@@ -49,18 +52,21 @@
        this.gatewayId = "";
        this.ipAddress = "";
        this.localSecret = "";
        SPUtils.remove(Authenticate_LS_KEY);
        this.isLocalEncrypt = false;
        SPUtils.remove(AUTHENTICATE_LS_KEY);
        SPUtils.remove(AUTHENTICATE_GATEWAYID_KEY);
        SPUtils.remove(AUTHENTICATE_IPADDRESS_KEY);
        SPUtils.remove(AUTHENTICATE_IS_LS_KEY);
    }
    /**
     * 加载缓存
     */
    void loadConfig(){
        localSecret = SPUtils.getString(Authenticate_LS_KEY, "");
        localSecret = SPUtils.getString(AUTHENTICATE_LS_KEY, "");
        gatewayId = SPUtils.getString(AUTHENTICATE_GATEWAYID_KEY, "");
        ipAddress = SPUtils.getString(AUTHENTICATE_IPADDRESS_KEY, "");
        isLocalEncrypt = SPUtils.getBoolean(AUTHENTICATE_IS_LS_KEY,false);
    }
    /**
@@ -73,7 +79,7 @@
        this.localSecret = localSecret;
        this.gatewayId = gatewayId;
        this.ipAddress = ipAddress;
        SPUtils.put(Authenticate_LS_KEY, localSecret);
        SPUtils.put(AUTHENTICATE_LS_KEY, localSecret);
        SPUtils.put(AUTHENTICATE_GATEWAYID_KEY, gatewayId);
        SPUtils.put(AUTHENTICATE_IPADDRESS_KEY, ipAddress);
    }
@@ -83,13 +89,15 @@
     * @return
     */
    public boolean checkIfCertified(){
        //localSecret不为空并且长度等于16
        return !TextUtils.isEmpty(localSecret) && localSecret.length() == 16;
        //localSecret不为空并且长度等于16 网关id不能为空
        return !TextUtils.isEmpty(localSecret)
                && localSecret.length() == 16
                && !TextUtils.isEmpty(gatewayId);
    }
    public void setLocalSecret(String localSecret) {
        this.localSecret = localSecret;
        SPUtils.put(Authenticate_LS_KEY, localSecret);
        SPUtils.put(AUTHENTICATE_LS_KEY, localSecret);
    }
    public String getLocalSecret() {
@@ -110,6 +118,15 @@
    public void setLocalEncrypt(boolean localEncrypt) {
        isLocalEncrypt = localEncrypt;
        SPUtils.put(AUTHENTICATE_IS_LS_KEY, isLocalEncrypt);
    }
    public GatewaySearchBean getCurrentGateway() {
        return currentGateway;
    }
    public void setCurrentGateway(GatewaySearchBean currentGateway) {
        this.currentGateway = currentGateway;
    }
    /**
@@ -126,6 +143,13 @@
        );
    }
    /**
     * 拼接网关ID获取完整的主题
     * @param topicStr
     * @return
     */
    public String getFullTopic(String topicStr){
        return String.format(topicStr, gatewayId);
    }
}