ArticleController.php 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. <?php
  2. namespace App\Http\Controllers\Api\v1;
  3. use App\Http\Controllers\Api\webApp;
  4. use App\Services\Api\ArticleService;
  5. /**
  6. * 文章管理
  7. * Class ArticleController
  8. * @package App\Http\Controllers\Api
  9. */
  10. class ArticleController extends webApp
  11. {
  12. /**
  13. * 列表
  14. * @return array
  15. */
  16. public function index()
  17. {
  18. $params = request()->post();
  19. $pageSize = request()->post('pageSize', 15);
  20. $datas = ArticleService::make()->getDataList($params, $pageSize);
  21. return message(1010, true, $datas);
  22. }
  23. /**
  24. * 咨询问答主页数据
  25. * @return array
  26. */
  27. public function datas()
  28. {
  29. $datas = [
  30. 'hotList' => ArticleService::make()->getHotList($this->userId),
  31. 'recList' => ArticleService::make()->getRecommendList(),
  32. ];
  33. return message(1010, true, $datas);
  34. }
  35. /**
  36. * 热门咨询
  37. * @return array
  38. */
  39. public function hots()
  40. {
  41. $params = request()->all();
  42. $refresh = isset($params['refresh'])? $params['refresh'] : false;
  43. $datas = ArticleService::make()->getHotList($this->userId, $refresh);
  44. return message(1010, true, $datas);
  45. }
  46. /**
  47. * 详情
  48. */
  49. public function info()
  50. {
  51. $params = request()->all();
  52. $id = isset($params['id']) ? intval($params['id']) : 0;
  53. if (empty($id)) {
  54. return message(1036, false);
  55. }
  56. if ($info = ArticleService::make()->getInfo($id)) {
  57. return message(1010, true, $info);
  58. } else {
  59. return message(1009, false);
  60. }
  61. }
  62. /**
  63. * 问题咨询
  64. */
  65. public function search()
  66. {
  67. $params = request()->all();
  68. if ($info = ArticleService::make()->search($params)) {
  69. return message(1010, true, $info);
  70. } else {
  71. return message('抱歉,没有找到您要的答案', false);
  72. }
  73. }
  74. /**
  75. * 单页数据
  76. */
  77. public function page()
  78. {
  79. $params = request()->all();
  80. $type = isset($params['type']) ? intval($params['type']) : 0;
  81. if (empty($type)) {
  82. return message(1031, false);
  83. }
  84. if ($info = ArticleService::make()->getInfoByType($type)) {
  85. return message(1010, true, $info);
  86. } else {
  87. return message(1009, false);
  88. }
  89. }
  90. }