Browse Source

[new]123增加用户注销功能

zk 4 months ago
parent
commit
af7472699b

+ 3 - 0
app/src/main/java/com/datarecovery/master/data/api/AtmobApi.java

@@ -72,4 +72,7 @@ public interface AtmobApi {
 
     @POST("/central/open/v1/user/login/oneclick")
     Single<BaseResponse<LoginResponse>> quickLogin(@Body QuickLoginRequest request);
+
+    @POST("/project/recover/v1/user/deprecate")
+    Single<BaseResponse<Object>> userDeprecate(@Body BaseRequest request);
 }

+ 6 - 0
app/src/main/java/com/datarecovery/master/data/repositories/AccountRepository.java

@@ -207,6 +207,12 @@ public class AccountRepository {
                 .compose(RxJavaUtil.SingleSchedule.io2Main());
     }
 
+    public Single<Object> userDeprecate() {
+        return atmobApi.userDeprecate(new BaseRequest())
+                .compose(RxHttpHandler.handle(true))
+                .compose(RxJavaUtil.SingleSchedule.io2Main());
+    }
+
     public Single<LoginResponse> quickLogin(String token, String accessToken) {
         return atmobApi.quickLogin(new QuickLoginRequest(token, accessToken))
                 .compose(RxHttpHandler.handle(false))

+ 26 - 2
app/src/main/java/com/datarecovery/master/module/mine/MineViewModel.java

@@ -14,6 +14,7 @@ import com.datarecovery.master.R;
 import com.datarecovery.master.data.api.response.CustomerUrlResponse;
 import com.datarecovery.master.data.consts.ChannelHelper;
 import com.datarecovery.master.data.consts.ChannelId;
+import com.datarecovery.master.data.consts.ErrorCode;
 import com.datarecovery.master.data.consts.EventId;
 import com.datarecovery.master.data.repositories.AccountRepository;
 import com.datarecovery.master.data.repositories.ConfigRepository;
@@ -30,6 +31,8 @@ import com.datarecovery.master.module.wxrecover.WeChatRecoverActivity;
 import com.datarecovery.master.sdk.qiyu.QiYuHelper;
 import com.datarecovery.master.sdk.wechat.WechatHelper;
 import com.datarecovery.master.utils.BoxingUtil;
+import com.datarecovery.master.utils.ReportUtil;
+import com.datarecovery.master.utils.RxHttpHandler;
 import com.datarecovery.master.utils.ToastUtil;
 import com.qiyukf.unicorn.api.Unicorn;
 
@@ -151,8 +154,29 @@ public class MineViewModel extends BaseViewModel {
     }
 
     public void onAccountLogout() {
-        QiYuHelper.logout();
-        accountRepository.logout();
+        accountRepository.userDeprecate().subscribe(new SingleObserver<Object>() {
+            @Override
+            public void onSubscribe(@NonNull Disposable d) {
+                addDisposable(d);
+            }
+
+            @Override
+            public void onSuccess(@NonNull Object object) {
+                ToastUtil.show(R.string.account_logout_success, ToastUtil.LENGTH_SHORT);
+                QiYuHelper.logout();
+                accountRepository.logout();
+            }
+
+            @Override
+            public void onError(@NonNull Throwable throwable) {
+                if (throwable instanceof RxHttpHandler.ServerErrorException) {
+                    RxHttpHandler.ServerErrorException serverErrorException = (RxHttpHandler.ServerErrorException) throwable;
+                    ToastUtil.show(serverErrorException.getMsg(), ToastUtil.LENGTH_SHORT);
+                } else {
+                    ToastUtil.show(R.string.net_error, ToastUtil.LENGTH_SHORT);
+                }
+            }
+        });
     }
 
     public void onFeedbackClick() {

+ 1 - 0
app/src/main/res/values/strings.xml

@@ -220,4 +220,5 @@
     <string name="about_sdk_sharing_list">第三方SDK共享清单</string>
     <string name="trial">试用</string>
     <string name="quick_login_fail">一键登录失败</string>
+    <string name="account_logout_success">注销成功</string>
 </resources>

+ 2 - 2
build.gradle

@@ -6,8 +6,8 @@ buildscript {
         minSdkVersion = 21
         targetSdkVersion = 32
 
-        versionCode = 122
-        versionName = "1.2.2"
+        versionCode = 123
+        versionName = "1.2.3"
 
         hilt_version = '2.41'
         lifecycle_version = "2.6.1"