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 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) { } }