ArticleController.php 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. <?php
  2. namespace app\api\controller\publics;
  3. use app\models\article\Article;
  4. use app\models\article\ArticleCategory;
  5. use app\Request;
  6. use crmeb\services\UtilService;
  7. /**
  8. * 文章类
  9. * Class ArticleController
  10. * @package app\api\controller\publics
  11. */
  12. class ArticleController
  13. {
  14. /**
  15. * @api {get} /article/list/:cid 文章列表
  16. * @apiName GetArticleList
  17. * @apiGroup Article
  18. *
  19. */
  20. public function lst(Request $request, $cid)
  21. {
  22. list($page, $limit) = UtilService::getMore([
  23. ['page',1],
  24. ['limit',10],
  25. ],$request, true);
  26. $list = Article::cidByArticleList($cid,$page,$limit,"id,title,image_input,visit,from_unixtime(add_time,'%Y-%m-%d %H:%i') as add_time,synopsis,url") ?? [];
  27. if(is_object($list)) $list = $list->toArray();
  28. return app('json')->successful($list);
  29. }
  30. /**
  31. * @api {get} /article/details/:id 文章详情
  32. * @apiName GetArticleDetails
  33. * @apiGroup Article
  34. *
  35. */
  36. public function details($id)
  37. {
  38. $content = Article::getArticleOne($id);
  39. if(!$content) return app('json')->fail('此文章已经不存在!');
  40. $content["visit"] = $content["visit"] + 1;
  41. $content["cart_name"] = ArticleCategory::getArticleCategoryField($content['cid']);
  42. $content['add_time'] = date('m月d日',$content['add_time']);
  43. Article::edit(['visit'=>$content["visit"]],$id);//增加浏览次数
  44. return app('json')->successful($content);
  45. }
  46. /**
  47. * @api {get} /article/hot/list 文章 热门
  48. * @apiName GetArticleHotList
  49. * @apiGroup Article
  50. *
  51. */
  52. public function hot()
  53. {
  54. $list = Article::getArticleListHot("id,title,image_input,visit,from_unixtime(add_time,'%Y-%m-%d %H:%i') as add_time,synopsis,url") ?? [];
  55. if(is_object($list)) $list = $list->toArray();
  56. return app('json')->successful($list);
  57. }
  58. /**
  59. * @api {get} /article/banner/list 文章 banner
  60. * @apiName GetArticleBannerList
  61. * @apiGroup Article
  62. *
  63. */
  64. public function banner()
  65. {
  66. $list = Article::getArticleListBanner("id,title,image_input,visit,from_unixtime(add_time,'%Y-%m-%d %H:%i') as add_time,synopsis,url") ?? [];
  67. if(is_object($list)) $list = $list->toArray();
  68. return app('json')->successful($list);
  69. }
  70. }