Files
Android-WaterProject/app/src/main/java/com/ckkj/water/mine/UserLogOffAccountActivity.java
2026-07-08 14:15:21 +08:00

200 lines
6.1 KiB
Java

package com.ckkj.water.mine;
import android.os.Bundle;
import android.os.CountDownTimer;
import android.text.TextUtils;
import android.view.View;
import com.ckkj.water.base.BaseFragment;
import com.ckkj.water.login.LoginActivity;
import com.ckkj.water.main.entity.CheckVersionEntity;
import com.ckkj.water.mine.entity.MineUserInfoBean;
import com.ckkj.water.utils.manager.ActivityManager;
import com.ckkj.water.utils.manager.WaterUserInfoManager;
import com.gyf.immersionbar.ImmersionBar;
import com.ckkj.water.AppConfig;
import com.ckkj.water.R;
import com.ckkj.water.base.BaseActivity;
import com.ckkj.water.databinding.UserLogOffActivityBinding;
import com.ckkj.water.mine.mvp.MineContract;
import com.ckkj.water.mine.mvp.MineImpl;
import com.ckkj.water.mine.mvp.MinePresenter;
import com.ckkj.water.network.BaseBean;
import com.ckkj.water.utils.show.ToastUtil;
/**
* @Description 用户注销账号
* @systemUser 86133
* @Author FengJingQi
* @Date 04-28-2025 周一 12:22
*/
public class UserLogOffAccountActivity extends BaseActivity<UserLogOffActivityBinding, MinePresenter> implements MineContract.MineView {
@Override
public MinePresenter createPresenter() {
return new MinePresenter(new MineImpl());
}
@Override
public int getLayoutResId(Bundle savedInstanceState) {
return 0;
}
@Override
public void initData(Bundle savedInstanceState) {
super.initData(savedInstanceState);
ImmersionBar.with(this)
.statusBarColor(R.color.white) // 设置状态栏颜色
.statusBarDarkFont(true) // 设置状态栏字体为黑色
.titleBar(viewBinding.rlTitle)
.init();
viewBinding.includeTitle.tvTitle.setText(getString(R.string.delete_account));
viewBinding.includeTitle.imgBack.setOnClickListener(c -> finish());
if(AppConfig.USER_LOGIN){
String userAccount = (!TextUtils.isEmpty(WaterUserInfoManager.getInstance().getUserInfo().getUser().getPhonenumber()) ?
WaterUserInfoManager.getInstance().getUserInfo().getUser().getPhonenumber() :
WaterUserInfoManager.getInstance().getUserInfo().getUser().getEmail());
if(!TextUtils.isEmpty(userAccount)){
viewBinding.tvUserPhone.setText(userAccount);
}
}
initListener();
}
private void initListener() {
setClick(viewBinding.tvGetCode);
setClick(viewBinding.tvCommit);
}
private void setClick(View view) {
view.setOnClickListener(this::onClick);
}
public void onClick(View v) {
switch (v.getId()){
case R.id.img_back:
finish();
break;
case R.id.tv_get_code:
showLoadingDialog();
mPresenter.getAccountLogoffCode();
break;
case R.id.tv_commit:
if(TextUtils.isEmpty(viewBinding.edVerCode.getText().toString().trim())){
ToastUtil.showShort(mContext, getString(R.string.login_error_code_empty));
return;
}
if(viewBinding.edVerCode.getText().toString().trim().length() < 6){
ToastUtil.showShort(mContext,getString(R.string.login_error_code_invalid));
return;
}
showDialogtext(null, false, false, true,
getString(R.string.tip_text),
getString(R.string.delete_account_tip),
getString(R.string.cancel_text),
getString(R.string.confirm_text),
new BaseFragment.OnDialogClick() {
@Override
public void onCancelClick() {
}
@Override
public void onConfirmClick() {
mPresenter.confirmAccountLogoff(viewBinding.edVerCode.getText().toString().trim());
}
});
break;
}
}
/**
* 获取账号注销验证码成功
* @param bean
*/
@Override
public void getAccountLogoffCodeSuccess(BaseBean bean) {
hideDialogLoading();
ToastUtil.showShort(mContext,getString(R.string.verification_code_sent));
}
/**
* 确认账号注销成功
* @param bean
*/
@Override
public void confirmAccountLogoffCodeSuccess(BaseBean bean) {
WaterUserInfoManager.getInstance().clearUser(mContext);
ActivityManager.removeAllActivity();
goTo(mContext, LoginActivity.class,null);
}
private CountDownTimer cdTimer = new CountDownTimer(60000, 1000) {
@Override
public void onTick(long millisUntilFinished) {
viewBinding.tvGetCode.setText("(" + millisUntilFinished / 1000 + ")" + getString(R.string.resend_after_seconds));
viewBinding.tvGetCode.setSelected(true);
viewBinding.tvGetCode.setClickable(false);
viewBinding.tvGetCode.setTextColor(mContext.getColor(R.color.color_c8c8c8));
}
@Override
public void onFinish() {
viewBinding.tvGetCode.setText(getString(R.string.resend));
viewBinding.tvGetCode.setSelected(false);
viewBinding.tvGetCode.setClickable(true);
viewBinding.tvGetCode.setTextColor(mContext.getColor(R.color.color_zhu));
}
};
@Override
public void showError(String message) {
hideDialogLoading();
ToastUtil.showShort(mContext,message);
}
@Override
public void logOut(BaseBean bean) {
}
@Override
public void getUserInfoSuccess(MineUserInfoBean bean) {
}
@Override
public void updateUserInfoSuccess(BaseBean bean) {
}
@Override
public void updateUserPasswordSuccess(BaseBean bean) {
}
@Override
public void logOutSuccess(BaseBean bean) {
}
@Override
public void uploadImageSuccess(MineUserInfoBean bean) {
}
@Override
public void getAppVersionSuccess(CheckVersionEntity bean) {
}
}