ResetUserPasswordCommand.php 1.1 KB

123456789101112131415161718192021222324252627282930313233343536
  1. <?php
  2. namespace App\Console\Commands;
  3. use App\Models\User;
  4. use Illuminate\Console\Command;
  5. use Illuminate\Support\Facades\Hash;
  6. class ResetUserPasswordCommand extends Command
  7. {
  8. protected $signature = 'user:reset-password
  9. {username : 登录用户名(本站为手机号,对应 users.username)}
  10. {password : 新密码(含 # 等字符时请用单引号包裹)}';
  11. protected $description = '重置 users.password_hash(Filament 使用此字段校验密码)';
  12. public function handle(): int
  13. {
  14. $username = $this->argument('username');
  15. $password = $this->argument('password');
  16. $user = User::where('username', $username)->first();
  17. if (! $user) {
  18. $this->error("未找到 username = {$username} 的用户(请检查 .env 是否连到正确数据库)");
  19. return self::FAILURE;
  20. }
  21. $user->password_hash = Hash::make($password);
  22. $user->save();
  23. $this->info("已重置密码:id={$user->id} username={$user->username} role=".($user->role ?? 'null'));
  24. return self::SUCCESS;
  25. }
  26. }