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