ResetPassWord.php 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: 中闽 < 1464674022@qq.com >
  5. * Date: 2020/2/4
  6. * Time: 12:47
  7. */
  8. namespace app\common\command;
  9. use app\admin\model\Admin;
  10. use app\admin\model\AdminCate;
  11. use app\admin\model\AdminMenu;
  12. use think\console\Command;
  13. use think\console\Input;
  14. use think\console\input\Argument;
  15. use think\console\input\Option;
  16. use think\console\Output;
  17. class ResetPassWord extends Command
  18. {
  19. /**
  20. * 重置管理员账号密码
  21. * php think ResetPassWord
  22. */
  23. protected function configure()
  24. {
  25. $this->setName('ResetPassWord')
  26. ->addArgument('new_pass', Argument::OPTIONAL, "input new pass", "123456")//重置密码
  27. ->addOption('new_permission', 'p', Option::VALUE_NONE, 'reset permission')//是否重置admin权限
  28. ->setDescription('reset admin password');
  29. }
  30. protected function execute(Input $input, Output $output)
  31. {
  32. $newpass = $input->getArgument("new_pass");
  33. $data = ['name' => 'admin', 'admin_cate_id' => 1, 'password' => password($newpass)];
  34. $admin = Admin::get(1);
  35. if (!$admin) {
  36. $data['nickname'] = systemName();
  37. $admin = new Admin();
  38. }
  39. $res = $admin->save($data);
  40. if ($res) {
  41. $output->writeln("<info>reset password success (admin new password : " . $newpass . ")</info>");
  42. } else {
  43. $output->writeln("<error>reset password fail</error>");
  44. }
  45. if ($input->getOption("new_permission")) {
  46. $cate = AdminCate::get(1);
  47. if (!$cate) {
  48. $cate = new AdminCate();
  49. }
  50. $res = $cate->save(['name' => '超级管理员', 'permissions' => implode(',', (new AdminMenu())->column('id'))]);
  51. if ($res) {
  52. $output->writeln("<info>reset permissions success</info>");
  53. } else {
  54. $output->writeln("<error>reset permissions fail</error>");
  55. }
  56. }
  57. }
  58. }