validate([ 'verify_code' => ['bail', 'required'], 'password' => ['bail', 'required', 'regex:/^\d{6}$/i'], ], [ 'password.regex' => '安全密码 是6位数字', ], [ 'verify_code' => '验证码', 'password' => '安全密码', ]); $user = $request->user(); // $smsCodeService->validate( // $user->phone, // SmsCode::TYPE_SET_WALLET_PASSWORD, // $input['verify_code'] // ); Wallet::updateOrCreate([ 'user_id'=> $user->id, ], [ 'password' => $input['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(); } }