ArticleApi.php 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. <?php
  2. namespace app\ebapi\controller;
  3. use app\ebapi\model\article\Article AS ArticleModel;
  4. use app\ebapi\model\article\ArticleCategory;
  5. /**
  6. * TODO 小程序文章api接口
  7. * Class ArticleApi
  8. * @package app\ebapi\controller
  9. */
  10. class ArticleApi extends Basic
  11. {
  12. /**
  13. * TODO 获取文章分类
  14. * @throws \think\db\exception\DataNotFoundException
  15. * @throws \think\db\exception\ModelNotFoundException
  16. * @throws \think\exception\DbException
  17. */
  18. public function get_article_cate(){
  19. $cateInfo = ArticleCategory::getArticleCategory();
  20. if($cateInfo) $cateInfo = $cateInfo->toArray();
  21. else $cateInfo = [];
  22. array_unshift($cateInfo,['id'=>0,'title'=>'热门']);
  23. return $this->successful($cateInfo);
  24. }
  25. /**
  26. * TODO 文章列表
  27. * @param int $cid
  28. * @param int $first
  29. * @param int $limit
  30. */
  31. public function get_cid_article($cid = 0,$first = 0,$limit = 8){
  32. $list = ArticleModel::cidByArticleList($cid,$first,$limit,"id,title,image_input,visit,from_unixtime(add_time,'%Y-%m-%d %H:%i') as add_time,synopsis,url")?:[];
  33. return $this->successful($list);
  34. }
  35. /**
  36. * TODO 获取热门文章
  37. * @return json
  38. */
  39. public function get_article_hot()
  40. {
  41. return $this->successful(ArticleModel::getArticleListHot("id,title,image_input,visit,from_unixtime(add_time,'%Y-%m-%d %H:%i') as add_time,synopsis,url"));
  42. }
  43. /**
  44. * TODO 获取热门banner文章
  45. * @return json
  46. */
  47. public function get_article_banner()
  48. {
  49. return $this->successful(ArticleModel::getArticleListBanner("id,title,image_input,visit,from_unixtime(add_time,'%Y-%m-%d %H:%i') as add_time,synopsis,url"));
  50. }
  51. /**
  52. * TODO 获取文章详情
  53. * @param int $id
  54. * @return json
  55. */
  56. public function visit($id = 0)
  57. {
  58. $content = ArticleModel::getArticleOne($id);
  59. if(!$content || !$content["status"]) return $this->fail('此文章已经不存在!');
  60. $content["visit"] = $content["visit"] + 1;
  61. $content["cart_name"] = ArticleCategory::getArticleCategoryField($content['cid']);
  62. $content['add_time'] = date('Y-m-d H:i:s',$content['add_time']);
  63. ArticleModel::edit(['visit'=>$content["visit"]],$id);//增加浏览次数
  64. return $this->successful($content);
  65. }
  66. }