handle(); return $this->jsonSuccess(['categories' => $categories]); } /** * @Get("/list", name="api.article.list") */ public function listAction() { $service = new ArticleListService(); $pager = $service->handle(); return $this->jsonPaginate($pager); } /** * @Get("/{id:[0-9]+}/info", name="api.article.info") */ public function infoAction($id) { $service = new ArticleInfoService(); $article = $service->handle($id); return $this->jsonSuccess(['article' => $article]); } /** * @Get("/{id:[0-9]+}/comments", name="api.article.comments") */ public function commentsAction($id) { $service = new CommentListService(); $pager = $service->handle($id); return $this->jsonPaginate($pager); } /** * @Post("/{id:[0-9]+}/delete", name="api.article.delete") */ public function deleteAction($id) { $service = new ArticleDeleteService(); $service->handle($id); return $this->jsonSuccess(); } /** * @Post("/{id:[0-9]+}/favorite", name="api.article.favorite") */ public function favoriteAction($id) { $service = new ArticleFavoriteService(); $data = $service->handle($id); $msg = $data['action'] == 'do' ? '收藏成功' : '取消收藏成功'; return $this->jsonSuccess(['data' => $data, 'msg' => $msg]); } /** * @Post("/{id:[0-9]+}/like", name="api.article.like") */ public function likeAction($id) { $service = new ArticleLikeService(); $data = $service->handle($id); $msg = $data['action'] == 'do' ? '点赞成功' : '取消点赞成功'; return $this->jsonSuccess(['data' => $data, 'msg' => $msg]); } }