Files
fast/addons/shopro/console/Command.php
xiadc 98eda4e5ff feat(zy): 添加俱乐部功能和用户消息功能
- 新增俱乐部相关接口和功能,包括创建俱乐部、申请加入俱乐部、邀请加入俱乐部等
- 添加用户消息功能,包括发送消息、查看消息等
- 优化了部分代码结构,提高了可维护性
- 更新了文档,添加了新的接口说明
2025-05-04 11:11:44 +08:00

69 lines
1.5 KiB
PHP

<?php
namespace addons\shopro\console;
use think\console\Input;
use think\console\Output;
use think\console\Command as BaseCommand;
class Command extends BaseCommand
{
protected $input = null;
protected $output = null;
protected $commonCb = null;
/**
* 执行帮助命令
*/
protected function execute(?Input $input, ?Output $output)
{
$this->input = $input;
$this->output = $output;
if ($this->commonCb && $this->commonCb instanceof \Closure) {
($this->commonCb)($input, $output);
}
$code = $input->getArgument('code');
$code = $code ?: '1';
$this->choose($code);
}
/**
* 选择要执行的命令
*/
public function choose($code)
{
$commands = $this->commands;
$codes = array_column($commands, 'code');
$names = array_column($commands, 'name');
if (!in_array($code, $codes) && !in_array($code, $names)) {
$this->output->writeln("已取消");
return true;
}
$commands = array_column($commands, null, 'code');
$name = isset($commands[$code]) ? $commands[$code]['name'] : $code;
$name = \think\helper\Str::camel($name);
if (method_exists($this, $name)) {
$this->{$name}();
} else {
$this->cancel();
}
}
/**
* 取消操作
*/
public function cancel()
{
$this->output->writeln("已取消");
return true;
}
}