- 新增俱乐部相关接口和功能,包括创建俱乐部、申请加入俱乐部、邀请加入俱乐部等 - 添加用户消息功能,包括发送消息、查看消息等 - 优化了部分代码结构,提高了可维护性 - 更新了文档,添加了新的接口说明
69 lines
1.5 KiB
PHP
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;
|
|
}
|
|
}
|