手机号、邮箱 + 验证码修改密码

This commit is contained in:
fengjignqi
2026-05-26 10:47:46 +08:00
parent e14bdaf046
commit 1ed3a68a5e
12 changed files with 159 additions and 9 deletions

View File

@@ -135,6 +135,11 @@ public class GuideActivity extends BaseActivity<GuideActivityLayoutBinding, Logi
public void loginBySmsCodeSuccess(LoginEntity entity) {
}
@Override
public void updateUserPasswordSuccess(BaseBean bean) {
}
class MyAdapter extends PagerAdapter {
@Override
public int getCount() {

View File

@@ -71,11 +71,44 @@ public class ForgetPasswordActivity extends BaseActivity<RegisterLayoutBinding,
ToastUtil.showShort(mContext, getString(R.string.login_error_phone_invalid));
return;
}
cdTimer.start();
mPresenter.getPhoneCode(viewBinding.etAccount.getText().toString(),"");
// cdTimer.start();
break;
case R.id.tv_commit:
goTo(mContext, RegisterSuccessActivity.class,null);
if (TextUtils.isEmpty(viewBinding.etAccount.getText().toString())) {
ToastUtil.showShort(mContext, getString(R.string.login_error_phone_empty));
return;
}
if (!PhoneNumberUtils.checkPhoneNum(viewBinding.etAccount.getText().toString().trim()) &&
!PhoneNumberUtils.checkEmail(viewBinding.etAccount.getText().toString().trim())) {
ToastUtil.showShort(mContext, getString(R.string.login_error_phone_invalid));
return;
}
if (TextUtils.isEmpty(viewBinding.etVerfiCode.getText().toString())) {
ToastUtil.showShort(mContext, getString(R.string.login_error_code_empty));
return;
}
if (TextUtils.isEmpty(viewBinding.etInputPsd.getText().toString())) {
ToastUtil.showShort(mContext, getString(R.string.login_error_psd_empty));
return;
}
if (TextUtils.isEmpty(viewBinding.etInputPsdAgin.getText().toString())) {
ToastUtil.showShort(mContext, getString(R.string.login_error_psd_agin_empty));
return;
}
if(!(viewBinding.etInputPsd.getText().toString()).equals(
viewBinding.etInputPsdAgin.getText().toString())){
ToastUtil.showShort(mContext, getString(R.string.hint_input_psd_not_match));
return;
}
showLoadingDialog();
mPresenter.updatePsdByVerifyCode(viewBinding.etAccount.getText().toString(),
viewBinding.etVerfiCode.getText().toString(),
viewBinding.etInputPsd.getText().toString());
break;
}
}
@@ -101,6 +134,16 @@ public class ForgetPasswordActivity extends BaseActivity<RegisterLayoutBinding,
}
};
/**
* 修改密码成功
* @param bean
*/
@Override
public void updateUserPasswordSuccess(BaseBean bean) {
hideDialogLoading();
ToastUtil.showShort(mContext,getString(R.string.hint_update_psd_success));
finish();
}
@Override
public void registerSuccess(BaseBean bean) {
@@ -117,6 +160,7 @@ public class ForgetPasswordActivity extends BaseActivity<RegisterLayoutBinding,
}
@Override
public void showError(String message) {
ToastUtil.showShort(mContext,message);

View File

@@ -221,6 +221,11 @@ public class LoginActivity extends BaseActivity<LoginLayoutBinding, LoginPresent
R.layout.select_language_item
).show();
break;
case R.id.tv_reset_psd ://重置密码
goTo(mContext, ForgetPasswordActivity.class,null);
break;
// case R.id.checkbox_read:
// if (mYinsiConfirm) {
// mYinsiConfirm = false;
@@ -326,6 +331,11 @@ public class LoginActivity extends BaseActivity<LoginLayoutBinding, LoginPresent
}, 200);
}
@Override
public void updateUserPasswordSuccess(BaseBean bean) {
}
@Override
public int getLayoutResId(Bundle savedInstanceState) {
return 0;

View File

@@ -85,11 +85,7 @@ public class RegisterActivity extends BaseActivity<RegisterLayoutBinding, LoginP
return;
}
if (TextUtils.isEmpty(viewBinding.etVerfiCode.getText().toString())) {
ToastUtil.showShort(mContext, getString(R.string.login_error_phone_empty));
return;
}
if (TextUtils.isEmpty(viewBinding.etVerfiCode.getText().toString())) {
ToastUtil.showShort(mContext, getString(R.string.login_error_phone_empty));
ToastUtil.showShort(mContext, getString(R.string.login_error_code_empty));
return;
}
@@ -155,6 +151,15 @@ public class RegisterActivity extends BaseActivity<RegisterLayoutBinding, LoginP
}
/**
* 修改密码成功
* @param bean
*/
@Override
public void updateUserPasswordSuccess(BaseBean bean) {
hideDialogLoading();
}
@Override
public void showError(String message) {
hideDialogLoading();

View File

@@ -94,6 +94,11 @@ public class RegisterSuccessActivity extends BaseActivity<RegisterSuccessLayoutB
}
@Override
public void updateUserPasswordSuccess(BaseBean bean) {
}
@Override
public void showError(String message) {

View File

@@ -27,6 +27,8 @@ public class LoginContract {
void getPhoneCode(Map<String,Object> map, CallBack callBack);
//手机验证码登录
void loginBySmsCode(JSONObject json, CallBack callBack);
//通过账户+验证码 修改密码
void updatePsdByVerifyCode(JSONObject json, CallBack callBack);
}
public interface LoginView extends IView{
@@ -35,5 +37,7 @@ public class LoginContract {
void getPhoneCodeSuccess(BaseBean bean);
//验证码登录成功
void loginBySmsCodeSuccess(LoginEntity entity);
//通过验证码修改密码成功
void updateUserPasswordSuccess(BaseBean bean);
}
}

View File

@@ -141,4 +141,44 @@ public class LoginImpl implements LoginContract.DataModel {
e.printStackTrace();
}
}
/**
* 通过验证码修改密码
* @param json
* @param callBack
*/
@Override
public void updatePsdByVerifyCode(JSONObject json, LoginContract.CallBack callBack) {
try {
NetWorkManager.getRequest().updatePasswordByVerifyCode(NetWorkManager.getToken(),NetWorkManager.toRequestBody(json))
.subscribeOn(Schedulers.io())
.unsubscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<BaseBean>() {
@Override
public void onSubscribe(@NonNull Disposable d) {
}
@Override
public void onNext(@NonNull BaseBean bean) {
if (bean.getCode() == 200) {
callBack.success(bean);
} else {
callBack.fail(bean.getMessage());
}
}
@Override
public void onError(@NonNull Throwable e) {
callBack.fail(e.getMessage());
}
@Override
public void onComplete() {
}
});
} catch (Exception e) {
e.printStackTrace();
}
}
}

View File

@@ -3,6 +3,8 @@ package com.ckkj.water.login.mvp;
import com.ckkj.water.AppConfig;
import com.ckkj.water.base.BasePresenter;
import com.ckkj.water.login.entity.LoginEntity;
import com.ckkj.water.mine.mvp.MineContract;
import com.ckkj.water.mine.mvp.MinePresenter;
import com.ckkj.water.network.BaseBean;
import org.json.JSONException;
@@ -146,4 +148,35 @@ public class LoginPresenter extends BasePresenter<LoginContract.LoginView> {
}
/**
* 通过验证码修改密码
* @param account
* @param code
* @param psd
*/
public void updatePsdByVerifyCode(String account, String code, String psd) {
try {
JSONObject json = new JSONObject();
json.put("userName", account);
json.put("code", code);
json.put("password", psd);
mImpl.updatePsdByVerifyCode(json, new LoginContract.CallBack<BaseBean>() {
@Override
public void success(BaseBean bean) {
if(LoginPresenter.this.getView() != null){
LoginPresenter.this.getView().updateUserPasswordSuccess(bean);
}
}
@Override
public void fail(String msg) {
if(LoginPresenter.this.getView() != null){
LoginPresenter.this.getView().showError(msg);
}
}
});
} catch (JSONException e) {
throw new RuntimeException(e);
}
}
}

View File

@@ -65,6 +65,9 @@ public interface Request {
@PUT("app/v1/updataPassword")
Observable<BaseBean> updatePasswordByOld(@HeaderMap Map<String, String> headMap, @Body RequestBody requestBody);
//通过手机、邮箱验证码修改密码
@POST("app/v1/retrievePassword")
Observable<BaseBean> updatePasswordByVerifyCode(@HeaderMap Map<String, String> headMap, @Body RequestBody requestBody);
//查询排程列表
@GET("app/v1/schedulelist")

View File

@@ -174,7 +174,7 @@ public class WaterConfigFragment extends BaseFragment<WaterConfigFragmentLayoutB
@Override
public void onTimeSelect(Date date, View v) {
//用于提交接口
mConfigEntity.getDetails().get(position).setStartTime(ZYTimeUtils.getStrTimeData(date));
mConfigEntity.getDetails().get(position).setStartTime(ZYTimeUtils.getStrTimeData_H_M(date));
mWeekAdapter.notifyItemChanged(position);
}
}).setType(times)

View File

@@ -43,7 +43,7 @@ public class WaterPlanWeekAdapter extends BaseQuickAdapter<WaterPlanWeekEntity.D
helper.setText(R.id.tv_week_name,item.getWeekName());
if(!TextUtils.isEmpty(item.getStartTime())){
helper.setText(R.id.tv_select_time, ZYTimeUtils.yyyyMMdd2HH_mm(item.getStartTime()));
helper.setText(R.id.tv_select_time, item.getStartTime());
}else{
helper.setText(R.id.tv_select_time,"");
tvStartTime.setHint(mContext.getString(R.string.select_water_time));