* Date: 2020/2/4 * Time: 12:47 */ namespace app\common\command; use app\admin\model\Admin; use app\admin\model\AdminCate; use app\admin\model\AdminMenu; use think\console\Command; use think\console\Input; use think\console\input\Argument; use think\console\input\Option; use think\console\Output; class ResetPassWord extends Command { /** * 重置管理员账号密码 * php think ResetPassWord */ protected function configure() { $this->setName('ResetPassWord') ->addArgument('new_pass', Argument::OPTIONAL, "input new pass", "123456")//重置密码 ->addOption('new_permission', 'p', Option::VALUE_NONE, 'reset permission')//是否重置admin权限 ->setDescription('reset admin password'); } protected function execute(Input $input, Output $output) { $newpass = $input->getArgument("new_pass"); $data = ['name' => 'admin', 'admin_cate_id' => 1, 'password' => password($newpass)]; $admin = Admin::get(1); if (!$admin) { $data['nickname'] = systemName(); $admin = new Admin(); } $res = $admin->save($data); if ($res) { $output->writeln("reset password success (admin new password : " . $newpass . ")"); } else { $output->writeln("reset password fail"); } if ($input->getOption("new_permission")) { $cate = AdminCate::get(1); if (!$cate) { $cate = new AdminCate(); } $res = $cate->save(['name' => '超级管理员', 'permissions' => implode(',', (new AdminMenu())->column('id'))]); if ($res) { $output->writeln("reset permissions success"); } else { $output->writeln("reset permissions fail"); } } } }