From 773b9953ad645b39a9efa8ab6d71dfc9d9e4e22e Mon Sep 17 00:00:00 2001
From: hxb <hxb@hdlchina.com.cn>
Date: 星期四, 24 十月 2024 11:51:57 +0800
Subject: [PATCH] 补全了所有日志

---
 HDLLinkPMSdk/src/main/java/com/hdl/linkpm/sdk/user/HDLLinkPMUser.java |  547 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 547 insertions(+), 0 deletions(-)

diff --git a/HDLLinkPMSdk/src/main/java/com/hdl/linkpm/sdk/user/HDLLinkPMUser.java b/HDLLinkPMSdk/src/main/java/com/hdl/linkpm/sdk/user/HDLLinkPMUser.java
new file mode 100644
index 0000000..245754d
--- /dev/null
+++ b/HDLLinkPMSdk/src/main/java/com/hdl/linkpm/sdk/user/HDLLinkPMUser.java
@@ -0,0 +1,547 @@
+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;
+import com.hdl.linkpm.sdk.core.callback.IDefaultCallBack;
+import com.hdl.linkpm.sdk.core.callback.IDefaultStrCallBack;
+import com.hdl.linkpm.sdk.core.callback.IResponseCallBack;
+import com.hdl.linkpm.sdk.core.exception.HDLErrorCode;
+import com.hdl.linkpm.sdk.core.exception.HDLException;
+import com.hdl.linkpm.sdk.user.bean.HDLLoginBean;
+import com.hdl.linkpm.sdk.user.bean.HDLUserInfoBean;
+import com.hdl.linkpm.sdk.user.bean.HDLUserRegionBean;
+import com.hdl.linkpm.sdk.user.bean.ImageSubmitInfo;
+import com.hdl.linkpm.sdk.user.bean.MqttInfo;
+import com.hdl.linkpm.sdk.user.bean.NewVersionBean;
+import com.hdl.linkpm.sdk.user.callback.ILoginCallBack;
+import com.hdl.linkpm.sdk.user.callback.IMemberInfoBack;
+import com.hdl.linkpm.sdk.user.callback.IOnReloginListener;
+import com.hdl.linkpm.sdk.user.callback.IRegionByAccountCallBack;
+import com.hdl.linkpm.sdk.user.controller.HDLPMUserController;
+import com.hdl.linkpm.sdk.utils.HDLGsonUtils;
+import com.hdl.linkpm.sdk.utils.HDLSDKLog;
+import com.hdl.linkpm.sdk.utils.HDLSDKSPUtils;
+
+import java.io.File;
+import java.util.Map;
+
+import io.reactivex.rxjava3.disposables.Disposable;
+
+
+/**
+ * Created by jlchen on 12/2/21.
+ */
+public class HDLLinkPMUser {
+    private static final String TAG = "HDLLinkPMUser";
+    private static final String HDLLINK_ISLOGIN_KEY = "hdllink_islogin";//鐧诲綍鐘舵��
+    public static final String HDLLINK_USER_KEY = "hdllink_user";//鐢ㄦ埛淇℃伅
+    private static final String HDLLINK_PUSHID_KEY = "hdllink_jpush_id";//鏋佸厜鎺ㄩ�佺粦瀹氬悗绔繑鍥瀒d
+    private static final String HDLLINK_ACCESSTOKEN_KEY = "hdllink_access_token";//鐢ㄦ埛token
+    private static final String HDLLINK_REFRESHTOKEN_KEY = "hdllink_refresh_token";//鐢ㄦ埛鍒锋柊token
+    private static final String HDLLINK_USERURL_KEY = "hdllink_user_url";//鐢ㄦ埛璇锋眰鍩熷悕鍦板潃
+    private static final String HDLLINK_HOMEURL_KEY = "hdllink_home_url";//鐢ㄦ埛璇锋眰鍩熷悕鍦板潃
+    /// 鐢ㄦ埛娉ㄥ唽鎵�鍦ㄦ湇鍔″櫒鍩熷悕鍦板潃
+    private String userRegionUrl;
+    /// 浣忓畢鎵�鍦ㄦ湇鍔″櫒鍩熷悕鍦板潃 浣忓畢鐩稿叧鎺ュ彛閮界敤杩欎釜鍦板潃
+    private String homeRegionUrl;
+    //鏄惁鐧诲綍鐘舵��
+    private boolean isLogin = false;
+    /// 鐢ㄦ埛鏈夋晥韬唤Token
+    private String accessToken;
+    /// 鍒锋柊Token
+    private String refreshToken;
+    //鐧诲綍鎴愬姛鍚庣殑鐢ㄦ埛淇℃伅
+    private HDLUserInfoBean mUser;
+    //褰撶敤鎴稟ccessToken 閿欒鍚庡彂鍑虹殑閫氱煡 鐧诲嚭澶勭悊
+    private IOnReloginListener mOnReloginListener;
+    //instance
+    private volatile static HDLLinkPMUser instance;
+
+    /**
+     * getInstance
+     *
+     * @return HDLSmartUser
+     */
+    public static synchronized HDLLinkPMUser getInstance() {
+        if (instance == null) {
+            synchronized (HDLLinkPMUser.class) {
+                if (instance == null) {
+                    instance = new HDLLinkPMUser();
+                    instance.loadData();//鍔犺浇缂撳瓨鐨凥DLUserBean瀵硅薄
+                }
+            }
+        }
+        return instance;
+    }
+
+    /**
+     * loadData 鍔犺浇缂撳瓨鐨凥DLUser瀵硅薄
+     */
+    private void loadData() {
+        //1.
+        isLogin = HDLSDKSPUtils.getBoolean(HDLLINK_ISLOGIN_KEY);
+        //2.
+        accessToken = HDLSDKSPUtils.getString(HDLLINK_ACCESSTOKEN_KEY);
+        //3.
+        refreshToken = HDLSDKSPUtils.getString(HDLLINK_REFRESHTOKEN_KEY);
+        //4.
+        userRegionUrl = HDLSDKSPUtils.getString(HDLLINK_USERURL_KEY);
+        //5.
+        homeRegionUrl = HDLSDKSPUtils.getString(HDLLINK_HOMEURL_KEY);
+        //6.
+        String userJsonStr = HDLSDKSPUtils.getString(HDLLINK_USER_KEY);
+        if (!TextUtils.isEmpty(userJsonStr))  //闃茬┖鍒ゆ柇
+        {
+            mUser = HDLGsonUtils.fromJson(userJsonStr, new TypeToken<HDLUserInfoBean>() {
+            }.getType());
+            if (mUser == null) {
+                saveLogin(false);//閲嶆柊鏍囪涓烘湭鐧诲綍
+            }
+        }
+    }
+
+    /**
+     * 鐧诲綍鎴愬姛鎴栬�呭埛鏂皌oken鍚� 淇濆瓨涓�娆DLUser瀵硅薄
+     */
+    private void saveHDLUserBean(HDLUserInfoBean user) {
+        String mUserJsonStr = HDLGsonUtils.toJson(user); //灏哃ist杞崲鎴怞son
+        HDLSDKSPUtils.put(HDLLINK_USER_KEY, mUserJsonStr);
+    }
+
+    /**
+     * 淇濆瓨鏋佸厜鎺ㄩ�佺粦瀹氫箣鍚庣殑id
+     */
+    public void saveHDLJpushId(String  pushId) {
+        HDLSDKSPUtils.put(HDLLINK_PUSHID_KEY, pushId);
+    }
+
+    /**
+     *  鑾峰彇鏋佸厜鎺ㄩ�佺粦瀹氫箣鍚庣殑id
+     */
+    public String getHDLJpushId() {
+       return HDLSDKSPUtils.getString(HDLLINK_PUSHID_KEY);
+    }
+
+    /**
+     * 淇濆瓨鐧诲綍鐘舵��
+     *
+     * @param isLogin
+     */
+    private void saveLogin(Boolean isLogin) {
+        HDLSDKLog.i(TAG, "鐧诲綍鐘舵�侊細"+isLogin);
+        HDLSDKSPUtils.put(HDLLINK_ISLOGIN_KEY, isLogin);
+    }
+
+    /**
+     * 鐧诲綍鎴愬姛鍚庯紝鍒锋柊鍜屼繚瀛樼浉鍏崇敤鎴疯韩浠藉弬鏁�
+     *
+     * @param userBean
+     */
+    private void loginSuccess(HDLLoginBean userBean) {
+        //1.淇濆瓨鐧诲綍鐘舵��
+        saveLogin(true);
+        //2.淇濆瓨token
+        saveAccessToken(userBean.getHeaderPrefix() + userBean.getAccessToken());
+        //3.淇濆瓨鍒锋柊token
+        saveRefreshToken(userBean.getRefreshToken());
+        //4.淇濆瓨mUser瀵硅薄鍒扮紦瀛�
+        this.mUser = new HDLUserInfoBean(userBean);
+        saveHDLUserBean(this.mUser);
+    }
+
+    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);
+    }
+
+    /**
+     * @param userBean
+     */
+    public void updateRefreshToken(HDLLoginBean userBean) {
+        if (userBean == null) return;
+        //鍒锋柊token杩斿洖鐨勬暟鎹彲鑳戒笉甯ccount銆乽serPhone绛夌浉鍏冲弬鏁帮紝鎵�浠ヤ笉鑳芥洿鏂皍ser鍊笺�佸彧鏇存柊AccessToken鍜屽埛鏂癟oken鐨勫�煎氨濂戒簡
+        //1.淇濆瓨鐧诲綍鐘舵��
+        saveLogin(true);
+        //2.淇濆瓨token
+        saveAccessToken(userBean.getHeaderPrefix() + userBean.getAccessToken());
+        //3.淇濆瓨鍒锋柊token
+        saveRefreshToken(userBean.getRefreshToken());
+    }
+
+    /**
+     * 娓呯┖鐧诲綍鐘舵��
+     */
+    private void removeAll() {
+        //1.璁剧疆鏈櫥褰曠姸鎬�
+        saveLogin(false);
+        //2.娓呯┖token
+        saveAccessToken("");
+        //3.娓呯┖鍒锋柊token
+        saveRefreshToken("");
+        //4.娓呯┖鐢ㄦ埛瀵硅薄
+        saveHDLUserBean(new HDLUserInfoBean());
+    }
+
+    /**
+     * 閫氱煡閫�鍑洪噸鏂扮櫥褰�
+     * @param type:  0:姝e父閫�鍑�   1锛氭瀬鍏夋帹閫佸己鍒堕��鍑�
+     */
+    private void notificationRelogin(int type) {
+        if (mOnReloginListener != null) {
+            HDLSDKLog.i(TAG, "閫氱煡閲嶆柊鐧诲綍锛岀櫥褰曠被鍨嬶細" + type);
+            mOnReloginListener.onReLogin(type);
+        }
+    }
+
+    /**
+     * 閫�鍑虹櫥褰�
+     * @param type:  0:姝e父閫�鍑�   1锛氭瀬鍏夋帹閫佸己鍒堕��鍑�
+     */
+    public void logout(int type) {
+        //1.娓呯┖鐧诲綍鐘舵��
+        removeAll();
+        //2.鍙戝嚭閲嶆柊鐧诲綍閫氱煡
+        notificationRelogin(type);
+    }
+
+    /****************************璇锋眰鎺ュ彛****************************/
+    /**
+     * 鑾峰彇璐﹀彿鎵�鍦ㄥ尯鍩�
+     *
+     * @param account  璐﹀彿
+     * @param callBack 缁撴灉鍥炶皟
+     */
+    public void regionByAccount(String account, IRegionByAccountCallBack callBack) {
+        HDLPMUserController.getInstance().regionByAccount(account, new IRegionByAccountCallBack() {
+            @Override
+            public void onSuccess(HDLUserRegionBean regionBean) {
+                if (regionBean != null) {
+                    //鏌ヨ鎴愬姛璁板綍涓�娆�
+                    setUserRegionUrl(regionBean.getRegionUrl());
+                    if (callBack != null) {
+                        callBack.onSuccess(regionBean);
+                    }
+                } else {
+                    if (callBack != null) {
+                        callBack.onFailure(HDLException.getErrorWithCode(HDLErrorCode.HDL_DATA_PARSING_ERROR));
+                    }
+                }
+            }
+
+            @Override
+            public void onFailure(HDLException error) {
+                if (callBack != null) {
+                    callBack.onFailure(error);
+                }
+            }
+        });
+    }
+
+    /**
+     * 閫氳繃璐﹀彿鍜屽瘑鐮佺櫥褰�
+     *
+     * @param account  璐﹀彿
+     * @param loginPwd 瀵嗙爜
+     * @param callBack 缁撴灉鍥炶皟
+     */
+    public void loginByPassword(String account, String loginPwd, ILoginCallBack callBack) {
+        HDLPMUserController.getInstance().loginByPassword(account, loginPwd, new ILoginCallBack() {
+            @Override
+            public void onSuccess(HDLLoginBean loginBean) {
+                loginSuccess(loginBean);
+                if (callBack != null) {
+                    callBack.onSuccess(loginBean);
+                }
+            }
+
+            @Override
+            public void onFailure(HDLException error) {
+                if (callBack != null) {
+                    callBack.onFailure(error);
+                }
+            }
+        });
+    }
+
+    /****************************璇锋眰鎺ュ彛****************************/
+    /**
+     * 鑾峰彇璐﹀彿鎵�鍦ㄥ尯鍩�
+     *
+     * @param isBooleanB true=B,false=C
+     * @param account    璐﹀彿
+     * @param callBack   缁撴灉鍥炶皟
+     */
+    public void regionByAccount(boolean isBooleanB, String account, IRegionByAccountCallBack callBack) {
+        HDLPMUserController.getInstance().regionByAccount(isBooleanB,account, new IRegionByAccountCallBack() {
+            @Override
+            public void onSuccess(HDLUserRegionBean regionBean) {
+                if (regionBean != null) {
+                    //鏌ヨ鎴愬姛璁板綍涓�娆�
+                    setUserRegionUrl(regionBean.getRegionUrl());
+                    if (callBack != null) {
+                        callBack.onSuccess(regionBean);
+                    }
+                } else {
+                    if (callBack != null) {
+                        callBack.onFailure(HDLException.getErrorWithCode(HDLErrorCode.HDL_DATA_PARSING_ERROR));
+                    }
+                }
+            }
+
+            @Override
+            public void onFailure(HDLException error) {
+                if (callBack != null) {
+                    callBack.onFailure(error);
+                }
+            }
+        });
+    }
+
+
+    /**
+     * 閫氳繃璐﹀彿鍜屽瘑鐮佺櫥褰�
+     *
+     * @param isBooleanB true=B,false=C
+     * @param account    璐﹀彿
+     * @param loginPwd   瀵嗙爜
+     * @param callBack   缁撴灉鍥炶皟
+     */
+    public void loginByPassword(boolean isBooleanB, String account, String loginPwd, ILoginCallBack callBack) {
+        HDLPMUserController.getInstance().loginByPassword(isBooleanB, account, loginPwd, new ILoginCallBack() {
+            @Override
+            public void onSuccess(HDLLoginBean loginBean) {
+                loginSuccess(loginBean);
+                if (callBack != null) {
+                    callBack.onSuccess(loginBean);
+                }
+            }
+
+            @Override
+            public void onFailure(HDLException error) {
+                if (callBack != null) {
+                    callBack.onFailure(error);
+                }
+            }
+        });
+    }
+
+    /**
+     * 鐧诲綍
+     * 閫氳繃楠岃瘉鐮�
+     *
+     * @param account  鎵嬫満鎴栬�呴偖绠�
+     * @param vCode    楠岃瘉鐮�
+     * @param callBack 鍥炶皟
+     * @return
+     */
+    public void loginByCode(String account, String vCode, ILoginCallBack callBack) {
+        HDLPMUserController.getInstance().loginByCode(account, vCode, new ILoginCallBack() {
+            @Override
+            public void onSuccess(HDLLoginBean loginBean) {
+                loginSuccess(loginBean);
+                if (callBack != null) {
+                    callBack.onSuccess(loginBean);
+                }
+            }
+
+            @Override
+            public void onFailure(HDLException error) {
+                if (callBack != null) {
+                    callBack.onFailure(error);
+                }
+            }
+        });
+    }
+
+    /**
+     * 閫氱敤 鍙戦�侀獙璇佺爜鏂规硶
+     * LanguageTypeEnum CHINESE,ENGLISH
+     *
+     * @param verifyType    1:娉ㄥ唽 2锛氭壘鍥炲瘑鐮� 3锛氱粦瀹� 4:楠岃瘉鐮佺櫥闄� 5:鏁忔劅鏁版嵁
+     * @param account       閭鎴栬�呮墜鏈哄彿
+     * @param isPhone       鏄惁鎵嬫満
+     * @param phoneZoneCode 鎵嬫満鍥藉鍖哄彿
+     * @param languageType  璇█
+     * @param callBack
+     * @return
+     */
+    public void verificationCodeSend(int verifyType, String account, Boolean isPhone, String phoneZoneCode, String languageType, IDefaultCallBack callBack) {
+        HDLPMUserController.getInstance().verificationCodeSend(verifyType, account, isPhone, phoneZoneCode, languageType, callBack);
+    }
+
+    /**
+     * 蹇樿瀵嗙爜锛岄噸缃瘑鐮�
+     *
+     * @param account  閭鎴栬�呮墜鏈哄彿
+     * @param password 鏂板瘑鐮�
+     * @param vCode    楠岃瘉鐮�
+     * @param isPhone  鏄惁鎵嬫満
+     * @param callBack 鍥炶皟
+     */
+    public void forgetPassword(String account, String password, String vCode, Boolean isPhone, IDefaultCallBack callBack) {
+        HDLPMUserController.getInstance().forgetPassword(account, password, vCode, isPhone, callBack);
+    }
+
+    /**
+     * 鏇存敼涓汉瀵嗙爜
+     *
+     * @param userId      褰撳墠鐢ㄦ埛ID
+     * @param loginOldPwd 鑰佸瘑鐮�
+     * @param loginPwd    鏂板瘑鐮�
+     * @param callBack    鍥炶皟
+     */
+    public void updateProgramPassword(String userId, String loginOldPwd, String loginPwd, IDefaultCallBack callBack) {
+        HDLPMUserController.getInstance().updateProgramPassword(userId, loginOldPwd, loginPwd, callBack);
+    }
+
+    /**
+     * 鑾峰彇鐢ㄦ埛涓汉淇℃伅
+     *
+     * @param callBack
+     */
+    public void getMemberInfo(IMemberInfoBack callBack) {
+        HDLPMUserController.getInstance().getMemberInfo(callBack);
+    }
+
+    /**
+     * 鏇存柊涓汉淇℃伅
+     * memberHeadIcon銆乵emberName銆乵emberBirthday銆乴anguageType銆乵emberSex
+     *
+     * @param callBack
+     */
+    public void updateMemberInfo(JsonObject updateInfo, IDefaultCallBack callBack) {
+        HDLPMUserController.getInstance().updateMemberInfo(updateInfo, callBack);
+    }
+
+    /**
+     * 鑾峰彇鐢ㄦ埛澶村儚璺緞
+     *
+     * @param memberHeadIconKey 鐢ㄦ埛澶村儚imageKey
+     * @param callBack
+     */
+    public void getHeadImageUrl(String memberHeadIconKey, IDefaultStrCallBack callBack) {
+        HDLPMUserController.getInstance().getHeadImageUrl(memberHeadIconKey, callBack);
+    }
+
+    /**
+     * 涓婁紶鐢ㄦ埛澶村儚
+     *
+     * @param userId     鐢ㄦ埛id
+     * @param imageBytes 澶村儚鍥剧墖
+     * @param callBack
+     * @return
+     */
+    public void uploadUserHeadImage(String userId, byte[] imageBytes, IDefaultStrCallBack callBack) {
+        HDLPMUserController.getInstance().uploadUserHeadImage(userId, imageBytes, callBack);
+    }
+
+    /**
+     * 涓婁紶鐢ㄦ埛澶村儚
+     *
+     * @param file 鍥剧墖鏂囦欢
+     * @param callBack
+     * @return
+     */
+    public void uploadUserHeadImage(File file, IResponseCallBack<ImageSubmitInfo> callBack) {
+        HDLPMUserController.getInstance().uplfadUserHeadImage(file, callBack);
+    }
+
+
+    /**
+     * APP鐗堟湰妫�娴嬫洿鏂�
+     *
+     * @param appCode  app缂栫爜
+     * @param version  鐗堟湰鍙�
+     * @param callBack 濡傛灉onSuccess 鍥炶皟鐨刡ean涓虹┖锛屼唬琛ㄥ綋鍓嶇増鏈凡缁忔槸鏈�鏂扮増鏈紝娌℃湁鏂扮増鏈�
+     * @return
+     */
+    public void checkAppVersion(String appCode, String version, IResponseCallBack<NewVersionBean> callBack) {
+        HDLPMUserController.getInstance().checkAppVersion(appCode, version, "Android", callBack);
+    }
+
+    /**
+     * 灏忕▼搴弚gt鐗堟湰妫�娴嬫洿鏂�
+     *
+     * @param appCode  app缂栫爜
+     * @param wgtVersion  灏忕▼搴弚gt鐗堟湰鍙�
+     * @param callBack 濡傛灉onSuccess 鍥炶皟鐨刡ean涓虹┖锛屼唬琛ㄥ綋鍓嶇増鏈凡缁忔槸鏈�鏂扮増鏈紝娌℃湁鏂扮増鏈�
+     * @return
+     */
+    public void checkWgtVersion(String appCode, String wgtVersion, IResponseCallBack<NewVersionBean> callBack) {
+        HDLPMUserController.getInstance().checkAppVersion(appCode, wgtVersion,"wgt", callBack);
+    }
+
+    /**
+     * 鑾峰彇mqtt
+     */
+    public void getMqttInfo(String attachClientId, String homeType, String deviceUuid, IResponseCallBack<MqttInfo>listener) {
+        HDLPMUserController.getInstance().getMqttInfo(attachClientId, homeType, deviceUuid, listener);
+    }
+
+    /****************************璇锋眰鎺ュ彛****************************/
+
+
+    public String getUserRegionUrl() {
+        if (TextUtils.isEmpty(userRegionUrl)) {
+            HDLSDKLog.e(TAG, "userRegionUrl null ");
+        }
+        return userRegionUrl;
+    }
+
+    public void setUserRegionUrl(String userRegionUrl) {
+        this.userRegionUrl = userRegionUrl;
+        HDLSDKSPUtils.put(HDLLINK_USERURL_KEY, this.userRegionUrl);
+    }
+
+    public boolean isLogin() {
+        return isLogin;
+    }
+
+    public HDLUserInfoBean getUser() {
+        return mUser;
+    }
+
+    public String getAccessToken() {
+        return accessToken;
+    }
+
+    public String getRefreshToken() {
+        return refreshToken;
+    }
+
+    public String getHomeRegionUrl() {
+        //濡傛灉娌¢厤缃綇瀹呯殑鍩熷悕璇锋眰鍦板潃鍒欓粯璁ょ敤鐢ㄦ埛鐨�
+        if (TextUtils.isEmpty(homeRegionUrl)) {
+            return getUserRegionUrl();
+        }
+        return homeRegionUrl;
+    }
+
+    /**
+     * 璁剧疆浣忓畢璇锋眰鐨勫湴鍧�
+     *
+     * @param homeRegionUrl
+     */
+    public void setHomeRegionUrl(String homeRegionUrl) {
+        this.homeRegionUrl = homeRegionUrl;
+        HDLSDKSPUtils.put(HDLLINK_HOMEURL_KEY, homeRegionUrl);
+    }
+
+//    private IOnReloginListener getOnReloginListener() {
+//        return mOnReloginListener;
+//    }
+
+    public void setOnReloginListener(IOnReloginListener onReloginListener) {
+        mOnReloginListener = onReloginListener;
+    }
+}

--
Gitblit v1.8.0