ArticleController.php 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. <?php
  2. namespace App\Http\Controllers\Api\v1;
  3. use App\Http\Controllers\Api\BaseController;
  4. use App\Http\Validator\ArticleValidator;
  5. use App\Services\ArticleBooksService;
  6. use App\Services\ArticleService;
  7. use App\Services\ConfigService;
  8. use Illuminate\Http\Request;
  9. /**
  10. * 文章头条控制器类
  11. * @author wesmiler
  12. * @since 2020/11/10
  13. * Class ArticleController
  14. * @package App\Http\Controllers
  15. */
  16. class ArticleController extends BaseController
  17. {
  18. /**
  19. * 构造函数
  20. * @author wesmiler
  21. * @since 2020/11/11
  22. * ArticleController constructor.
  23. */
  24. public function __construct()
  25. {
  26. parent::__construct();
  27. $this->service = new ArticleService();
  28. $this->bookService = new ArticleBooksService();
  29. }
  30. /**
  31. * 列表
  32. * @return array
  33. */
  34. public function index(){
  35. $params = request()->all();
  36. return $this->service->getDataList($params);
  37. }
  38. /**
  39. * 详情
  40. * @return array|mixed
  41. */
  42. public function info(){
  43. $id = request()->get('id',0);
  44. if($id<=0){
  45. return message(1006, false);
  46. }
  47. $this->service->updateVisit($this->userId);
  48. $info = $this->service->getDetail($id);
  49. return message(1005, true, $info);
  50. }
  51. /**
  52. * 报名
  53. * @param Request $request
  54. * @param ArticleValidator $validate
  55. * @return array
  56. */
  57. public function books(Request $request, ArticleValidator $validate){
  58. $params = $validate->check($request->all(),'books');
  59. if(!is_array($params)){
  60. return message($params, false);
  61. }
  62. $params['user_id'] = $this->userId;
  63. return $this->bookService->books($params);
  64. }
  65. /**
  66. * 单页文章内容
  67. * @return array
  68. */
  69. public function page(){
  70. $code = request()->get('code', '');
  71. if(empty($code)){
  72. return message('参数错误', false);
  73. }
  74. $pageId = ConfigService::make()->getConfigByCode($code);
  75. if($pageId<=0){
  76. return message(1006, false);
  77. }
  78. $info = ArticleService::make()->getDetail($pageId);
  79. if($info){
  80. return message(1005, true, $info);
  81. }else{
  82. return message(1006, false);
  83. }
  84. }
  85. }