修复resetPassword方法bug

This commit is contained in:
unknown 2023-09-19 17:39:40 +08:00
parent b82813e5ec
commit e90a217048
2 changed files with 9 additions and 2 deletions

View File

@ -15,6 +15,11 @@ class UserLogic extends BaseLogic
public static function resetPassword(array $params): bool
{
try {
//验证手机号码
$user = User::field('id')->where('phone',$params['phone'])->findOrEmpty();
if($user->isEmpty()){
throw new \Exception('该手机号未注册');
}
// 校验验证码
$smsDriver = new SmsDriver();
if (!$smsDriver->verify($params['phone'], $params['code'], NoticeEnum::FIND_LOGIN_PASSWORD_CAPTCHA)) {
@ -24,7 +29,8 @@ class UserLogic extends BaseLogic
$passwordSalt = Config::get('project.unique_identification');
$password = create_password($params['password'], $passwordSalt);
// 更新
User::where('phone', $params['phone'])->update(['password' => $password]);
$user->password = $password;
$user->save();
return true;
} catch (\Exception $e) {
self::setError($e->getMessage());

View File

@ -16,7 +16,7 @@ class PasswordValidate extends BaseValidate
'phone' => 'require|mobile',
'code' => 'require',
'old_password' => 'require',
'password' => 'require|length:6,20',
'password' => 'require|length:6,20|different:old_password',
'password_confirm' => 'require|confirm',
];
@ -27,6 +27,7 @@ class PasswordValidate extends BaseValidate
'code.require' => '请填写验证码',
'password.require' => '请输入新密码',
'password.length' => '密码须在6-25位之间',
'password.different' => '新密码不能和原密码一样',
'password_confirm.require' => '请确认密码',
'password_confirm.confirm' => '确认密码和新密码不一致',
'old_password.require' => '请输入原密码',