validate([ 'verify_code' => ['bail', 'required'], 'new_password' => ['bail', 'required', 'size:6'], ], [ 'verify_code' => '验证码', 'new_password' => '新密码', ]); $user = $request->user(); $smsCodeService->validate( $user->phone, SmsCode::TYPE_SET_WALLET_PASSWORD, $input['verify_code'] ); Wallet::updateOrCreate([ 'user_id'=> $user->id, ], [ 'password' => $input['new_password'], ]); return response()->noContent(); } /** * 设置安全密码 * */ public function reset(Request $request) { $input = $request->validate([ 'old_password' => ['bail', 'filled', 'string', 'size:6'], 'new_password' => ['bail', 'required', 'string', 'size:6'], ], [], [ 'old_password' => '旧密码', 'new_password' => '新密码', ]); $wallet = $request->user()->wallet; //如果已经设置安全密码则比对 if ($wallet && $wallet->password && (!$wallet->verifyPassword(Arr::get($input, 'old_password', '')))) { throw new BizException('安全密码不正确'); } Wallet::updateOrCreate( ['user_id'=> $request->user()->id], ['password' => $input['new_password']], ); return response()->noContent(); } }