diff --git a/extend/catcher/generate/Generator.php b/extend/catcher/generate/Generator.php index fc6abc1..80464db 100644 --- a/extend/catcher/generate/Generator.php +++ b/extend/catcher/generate/Generator.php @@ -10,6 +10,13 @@ use catcher\generate\factory\SQL; class Generator { + /** + * generate + * + * @time 2020年04月29日 + * @param $params + * @return array + */ public function done($params) { $params = \json_decode($params['data'], true); @@ -44,11 +51,29 @@ class Generator return $message; } - public function preview($type, $params) + /** + * preview + * + * @time 2020年04月29日 + * @param $params + * @return bool|string|string[] + */ + public function preview($params) { - $class = ucfirst($type); + $params = \json_decode($params['data'], true); - return (new $class)->getContent($params); + $type = $params['type']; + + [$controller, $model] = $this->parseParams($params); + + switch ($type) { + case 'controller': + return (new Controller())->getContent($controller); + case 'model': + return (new Model())->getContent($model); + default: + break; + } } @@ -61,12 +86,14 @@ class Generator */ protected function parseParams($params) { - if (!$params['controller']['module'] ?? false) { + $module = $params['controller']['module'] ?? false; + + if (!$module) { throw new FailedException('请设置模块'); } $controller = [ - 'module' => $params['controller']['module'], + 'module' => $module, 'model' => $params['controller']['model'] ?? '', 'controller' => $params['controller']['controller'] ?? '', 'restful' => $params['controller']['restful'], @@ -74,8 +101,8 @@ class Generator ]; $model = [ - 'table' => $params['controller']['table'], - 'model' => $params['controller']['model'], + 'table' => $params['controller']['table'] ?? '', + 'model' => $params['controller']['model'] ?? '', 'sql' => $params['model']['data'], 'extra' => $params['model']['extra'], ]; diff --git a/extend/catcher/generate/factory/Controller.php b/extend/catcher/generate/factory/Controller.php index 9a86050..0a9c8df 100644 --- a/extend/catcher/generate/factory/Controller.php +++ b/extend/catcher/generate/factory/Controller.php @@ -35,7 +35,7 @@ class Controller extends Factory * @param $params * @return bool|string|string[] */ - protected function getContent($params) + public function getContent($params) { if (!$params['controller']) { throw new FailedException('params has lost~'); @@ -47,7 +47,7 @@ class Controller extends Factory if (!$className) { throw new FailedException('未填写控制器名称'); } - + // parse model [$model, $modelNamespace] = $this->parseFilename($params['model']); diff --git a/extend/catcher/generate/factory/Model.php b/extend/catcher/generate/factory/Model.php index f5b2431..3bf4116 100644 --- a/extend/catcher/generate/factory/Model.php +++ b/extend/catcher/generate/factory/Model.php @@ -39,7 +39,7 @@ class Model extends Factory [$modelName, $namespace] = $this->parseFilename($params['model']); if (!$modelName) { - throw new FailedException('create Model Failed'); + throw new FailedException('model name not set'); } $content = $template->useTrait($extra['soft_delete']) . diff --git a/extend/catcher/generate/template/Model.php b/extend/catcher/generate/template/Model.php index 8a5ea4e..eeab635 100644 --- a/extend/catcher/generate/template/Model.php +++ b/extend/catcher/generate/template/Model.php @@ -55,12 +55,13 @@ TMP; */ public function name($name) { - return <<