ViewController.php 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. <?php
  2. namespace App\Admin\Controllers;
  3. use App\Services\ViewService;
  4. /**
  5. * @group 后台
  6. *
  7. * 视图列表
  8. *
  9. * @property ViewService $service
  10. */
  11. class ViewController
  12. {
  13. protected ViewService $service;
  14. public function __construct(ViewService $service)
  15. {
  16. $this->service = $service;
  17. }
  18. /**
  19. * [视图列表页]-视图列表查询
  20. *
  21. * @description 获取用户列表,支持条件查询和分页
  22. *
  23. * @queryParam viewName string 视图名称 Example: manage_user_list
  24. * @queryParam page int 页码 Example: 1
  25. * @queryParam perPage int 每页数量 Example: 20
  26. * @queryParam orderBy string 排序字段 Example: mobile
  27. * @queryParam orderDir string 排序方向 Example: desc
  28. * @queryParam nickname string 昵称 Example: 张三
  29. * @queryParam mobile string 手机号 Example: 13800138000
  30. * @queryParam state int 用户状态(1:正常,2:禁用) Example: 1
  31. *
  32. * @response {
  33. * "code": 200,
  34. * "message": "success",
  35. * "data": {
  36. * "current_page": 1,
  37. * "data": [{
  38. * "id": 1,
  39. * "mobile": "13800138000",
  40. * "nickname": "张三",
  41. * "avatar": "avatar.jpg",
  42. * "gender": 1,
  43. * "area_code": "110000",
  44. * "state": 1,
  45. * "created_at": "2024-01-01 00:00:00",
  46. * "updated_at": "2024-01-01 00:00:00"
  47. * }],
  48. * "total": 100
  49. * }
  50. * }
  51. */
  52. public function viewList()
  53. {
  54. $viewName = request()->input('viewName');
  55. $whereParams = request()->except(['_action', 'page', 'perPage', 'viewName', 'orderBy', 'orderDir']);
  56. $pageParams = request()->only(['page', 'perPage']);
  57. $sortParams = request()->only(['orderBy', 'orderDir']);
  58. return $this->service->viewList($viewName, $whereParams, $pageParams, $sortParams);
  59. }
  60. }