repass.php 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. <?php
  2. declare (strict_types=1);
  3. namespace app\command;
  4. use app\model\UserModel;
  5. use think\console\Command;
  6. use think\console\Input;
  7. use think\console\input\Option;
  8. use think\console\Output;
  9. class repass extends Command
  10. {
  11. protected function configure()
  12. {
  13. // 指令配置
  14. $this->setName('repass')
  15. ->setDescription('修改管理员密码 -u 用户名 -p 密码')
  16. ->addOption('user', '-u', Option::VALUE_REQUIRED, '管理员账户')
  17. ->addOption('pass', '-p', Option::VALUE_REQUIRED, '新密码');
  18. }
  19. protected function execute(Input $input, Output $output)
  20. {
  21. $this->repass($input);
  22. }
  23. private function repass($input)
  24. {
  25. $user = $input->getOption('user');
  26. $pass = $input->getOption('pass');
  27. if ($user && $pass) {
  28. $info = UserModel::where('mail', $user)->find();
  29. if ($info) {
  30. $info->password = md5($pass);
  31. $info->save();
  32. print_r("\033[1;31m账户密码重置完毕\033[0m\n\r\033[1;42m请使用新的密码登录\033[0m\n");
  33. } else {
  34. print_r("\033[1;31m账户不存在\033[0m\n");
  35. }
  36. exit();
  37. }
  38. print_r("\033[1;31m缺少用户名或密码\033[0m\n");
  39. exit();
  40. }
  41. }