diff --git a/src/Module/Example/Hello.php b/src/Module/Example/Hello.php index d8dc46e8..6d88958a 100644 --- a/src/Module/Example/Hello.php +++ b/src/Module/Example/Hello.php @@ -5,7 +5,10 @@ namespace Module\Example; use Framework\Console; +use Framework\ZMBuf; use ZM\Annotation\CQ\CQCommand; +use ZM\Annotation\Http\Controller; +use ZM\Annotation\Http\RequestMapping; use ZM\Annotation\Module\Closed; use ZM\Annotation\Swoole\SwooleEventAt; use ZM\Connection\CQConnection; @@ -14,7 +17,7 @@ use ZM\ModBase; /** * Class Hello * @package Module\Example - * @Closed() + * @Controller("/view") */ class Hello extends ModBase { @@ -31,4 +34,18 @@ class Hello extends ModBase public function hello(){ return "你好啊,我是由炸毛框架构建的机器人!"; } + + /** + * @RequestMapping("/test/{ping}") + */ + public function ping($param){ + return "You input id is: ".$param["ping"]; + } + + /** + * @RequestMapping("/test/pong") + */ + public function pong(){ + $this->response->end("ping"); + } } \ No newline at end of file diff --git a/src/Module/TestMod/CQTest.php b/src/Module/TestMod/CQTest.php index e352d4d2..8ae9cb2d 100644 --- a/src/Module/TestMod/CQTest.php +++ b/src/Module/TestMod/CQTest.php @@ -7,6 +7,8 @@ namespace Module\TestMod; use Framework\Console; use ZM\Annotation\CQ\CQCommand; use ZM\Annotation\CQ\CQNotice; +use ZM\Annotation\Http\Controller; +use ZM\Annotation\Http\RequestMapping; use ZM\Annotation\Swoole\SwooleEventAt; use ZM\Connection\CQConnection; use ZM\ModBase; @@ -14,6 +16,7 @@ use ZM\ModBase; /** * Class CQTest * @package Module\TestMod + * @Controller("/view/test2") */ class CQTest extends ModBase { @@ -36,6 +39,16 @@ class CQTest extends ModBase return "我也不知道".$arg[0]."是什么呀"; } + /** + * @RequestMapping("/ping") + */ + public function ping(){} + + /** + * @RequestMapping("/pong") + */ + public function pong(){} + /** * @CQNotice(notice_type="group_admin") */ diff --git a/src/Module/TestMod/Hola.php b/src/Module/TestMod/Hola.php index f1a0e615..b6c878dd 100644 --- a/src/Module/TestMod/Hola.php +++ b/src/Module/TestMod/Hola.php @@ -4,6 +4,7 @@ namespace Module\TestMod; use Framework\Console; +use ZM\Annotation\Http\RequestMapping; use ZM\Annotation\Swoole\SwooleEventAt; use ZM\Connection\WSConnection; use ZM\ModBase; @@ -25,4 +26,9 @@ class Hola extends ModBase Console::stackTrace(); $this->connection->close(); } + + /** @RequestMapping("/ping") */ + public function ping(){ + return "OKK"; + } } \ No newline at end of file diff --git a/src/ZM/Annotation/AnnotationParser.php b/src/ZM/Annotation/AnnotationParser.php index 625c9741..e1221102 100644 --- a/src/ZM/Annotation/AnnotationParser.php +++ b/src/ZM/Annotation/AnnotationParser.php @@ -16,6 +16,7 @@ use ZM\Annotation\Http\RequestMapping; use ZM\Annotation\Interfaces\CustomAnnotation; use ZM\Annotation\Interfaces\Level; use ZM\Annotation\Module\Closed; +use ZM\Annotation\Module\InitBuffer; use ZM\Annotation\Module\SaveBuffer; use ZM\Annotation\Swoole\SwooleEventAfter; use ZM\Annotation\Swoole\SwooleEventAt; @@ -52,6 +53,8 @@ class AnnotationParser $class_prefix = $vs->prefix; } elseif ($vs instanceof SaveBuffer) { DataProvider::addSaveBuffer($vs->buf_name, $vs->sub_folder); + } elseif ($vs instanceof InitBuffer) { + ZMBuf::set($vs->buf_name, []); } } foreach ($methods as $vs) { diff --git a/src/ZM/Annotation/Module/InitBuffer.php b/src/ZM/Annotation/Module/InitBuffer.php new file mode 100644 index 00000000..a541004e --- /dev/null +++ b/src/ZM/Annotation/Module/InitBuffer.php @@ -0,0 +1,19 @@ +